GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Cp verliert die Metadaten der Datei?

Ich habe ein Asustor NAS, das unter Linux läuft; Ich weiß nicht, welche Distribution sie verwenden.

Ich kann mich mit SSH anmelden und alle Shell-Befehle verwenden. Internes Volume verwendet ext2 und externe USB-Festplatten verwenden NTFS.

Wenn ich versuche, cp zu verwenden Befehl zum Kopieren einer beliebigen Datei, werden die Datumsmetadaten dieser Datei in das aktuelle Datum und die Uhrzeit geändert.

Wenn ich beispielsweise Windows zum Kopieren der Datei aus SMB verwende und die Datei 2007 geändert wurde, wird die neue Datei als jetzt 2017 erstellt, aber 2007 geändert markiert. Aber mit Linux cp Befehl wird auch das Änderungsdatum auf 2017 geändert.

Dieses Änderungsdatum ist für mich sehr relevant, da ich damit Dateien in Windows Explorer nach ihrem Änderungsdatum sortieren kann. Wenn es überschrieben wird, kann ich nicht sortieren und sie scheinen alle jetzt erstellt worden zu sein. Ich verwende auch das Änderungsdatum, um zu wissen, wann ich einige seltene alte Dateien erworben habe.

Gibt es einen Parameter, den ich in cp verwenden kann? Befehl zum Beibehalten der Metadaten der Originaldatei?

Update:Ich habe versucht cp --preserve=timestamps aber es hat nicht funktioniert, es wurde gedruckt:

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

Wenn ich es einfach versuche -p es sagt cp: can't preserve permissions of '...': Operation not permitted , aber soweit ich es getestet habe, werden Zeitstempel beibehalten.

Akzeptierte Antwort:

Wenn Sie man cp verwenden Um die Handbuchseite für den Kopierbefehl zu lesen, finden Sie -p and --preserve Flaggen.

-p dasselbe wie --preserve=mode,ownership,timestamps

und

--preserve[=ATTR_LIST] behält die angegebenen Attribute bei (Standard:mode,ownership,timestamps ), ggf. zusätzliche Attribute:context , links , xattr , all

Das läuft darauf hinaus, dass Sie cp -p verwenden sollten statt nur cp .


Linux
  1. So verschieben Sie eine Datei unter Linux

  2. Grundlagen der Linux-Dateiberechtigungen

  3. Linux – Alles ist eine Datei?

  4. Wie benenne ich eine Datei unter Linux um?

  5. Linux-wc-Befehl

Gunzip-Befehl unter Linux

Stat-Befehl unter Linux

Was ist umask unter Linux?

So verknüpfen Sie eine Datei unter Linux per Symlink

Extrahieren Sie die tar.gz-Datei unter Linux

Was ist eine .bashrc-Datei unter Linux?