Mám Asustor NAS, který běží na Linuxu; Nevím, jaké distro používají.
Mohu se přihlásit pomocí SSH a používat všechny příkazy Shell. Interní svazek používá ext2 a externí USB HD používají NTFS.
Když se pokusím použít cp
Pokud chcete zkopírovat libovolný soubor, metadata data tohoto souboru se změní na aktuální datum a čas.
Pokud například pomocí systému Windows zkopíruji soubor z SMB a soubor byl upraven v roce 2007, nový soubor bude označen jako vytvořený nyní v roce 2017, ale upravený v roce 2007. Ale s Linuxem cp
jeho datum změny se také změní na rok 2017.
Toto datum změny je pro mě velmi důležité, protože mi umožňuje třídit soubory ve Windows Explore podle jejich data změny. Pokud je to přepsáno, nejsem schopen seřadit a zdá se, že všechny byly vytvořeny nyní. Také používám upravené datum, abych věděl, kdy jsem získal nějaké vzácné staré soubory.
Existuje nějaký parametr, který mohu použít v cp
příkaz k zachování metadat původního souboru?
Aktualizace:Zkoušel jsem cp --preserve=timestamps
ale nefungovalo to, vytisklo se to:
cp: unrecognized option '--preserve=timestamps'
BusyBox v1.19.3 (2017-03-22 17:23:49 CST) multi-call binary.
Usage: cp [OPTIONS] SOURCE DEST
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY
-a Same as -dpR
-R,-r Recurse
-d,-P Preserve symlinks (default if -R)
-L Follow all symlinks
-H Follow symlinks on command line
-p Preserve file attributes if possible
-f Overwrite
-i Prompt before overwrite
-l,-s Create (sym)links
Pokud zkusím jen -p
píše to cp: can't preserve permissions of '...': Operation not permitted
, ale pokud jsem testoval, časová razítka jsou zachována.
Přijatá odpověď:
Pokud používáte man cp
k přečtení manuálové stránky pro příkaz copy najdete -p and --preserve
příznaky.
-p
stejné jako--preserve=mode,ownership,timestamps
a
--preserve[=ATTR_LIST]
zachovat zadané atributy (výchozí:mode,ownership,timestamps
), pokud je to možné, další atributy:context
,links
,xattr
,all
To se scvrkává na to, že byste měli použít cp -p
namísto pouhého cp
.