GNU/Linux >> Znalost Linux >  >> Linux

Linux – Cp ztrácí metadata souboru?

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 .


Linux
  1. Linux – všechno je soubor?

  2. Jak přejmenovat soubor v Linuxu?

  3. Příkaz wc pro Linux

  1. Jak přesunout soubor v Linuxu

  2. Vysvětlení oprávnění souborů v systému Linux

  3. Základy oprávnění k souborům Linux

  1. Linux Tail Command

  2. Linux Touch Command

  3. Cat Command v Linuxu