Frage Wie kann das Datum einer letzten Änderung der Datei beibehalten werden?


Ich kopiere Dateien und Ordner von einem Dateisystem zu einem anderen (beide sind ext3) über cp im Terminal. Das "Änderungsdatum" aller Dateien wird auf die aktuelle Zeit geändert, obwohl ich den Ordner oder die Dateien nicht ändere. Ich möchte, dass sie ihr "letztes Änderungsdatum" behalten, das innerhalb der letzten 5 Jahre variiert.

Ich bin nicht daran interessiert, sie zu einem bestimmten Datum zu ändern, wie es diese vorherige Frage beschrieben hat, aber um das bestehende Datum der "letzten Änderung" beizubehalten.

EDIT: Dies gilt immer noch für Versionen von Ubuntu 12.04+ und neuer


4
2018-06-24 16:30


Ursprung




Antworten:


cp --preserve=timestamps <source> <destination>

Wenn Sie rekursiv kopieren, können Sie Folgendes verwenden:

cp -a <source> <destination>

Von dem cp  Handbuchseite:

-a, --archive
       same as -dR --preserve=all

-d     same as --no-dereference --preserve=links

-R, -r, --recursive
       copy directories recursively

--preserve[=ATTR_LIST]
       preserve  the specified attributes (default: mode,ownership,timestamps),
       if possible additional attributes: context, links, xattr, all

4
2018-06-24 16:33



Danke, ich habe die cp Man Seite noch einmal gelesen und gefunden! Wird dies als Antwort markieren, sobald ich dazu berechtigt bin. Für alle anderen, die interessiert sind, der p-Parameter, eine Abkürzung von --preserve tut dies ebenso wie den Modus und die Eigentümerschaft. - Will.
'cp -p' funktioniert und ist am einfachsten. Von man-Seite: -p ist das gleiche wie --preserve = Modus, Besitz, Zeitstempel. Außerdem rsync -a für den Archivierungsmodus. - gaoithe