Wenn ich eine Datei mit von einem Ort zu einem anderen cp
kopiere, wird der Zeitstempel der kopierten Datei auf den Zeitpunkt der Kopie gesetzt.
Gibt es eine Möglichkeit, dies zu vermeiden?
Ich muss Dateien kopieren, ohne deren Zeitstempel zu ändern.
cp -p
nicht nur der Zeitstempel, sondern auch der Modus und der Besitz sowie unter FreeBSD neben der Änderungszeit auch die Zugriffszeit, die Dateiflags, der Dateimodus, die Zugriffssteuerungsliste, die Benutzer-ID und die Gruppen-ID erhalten bleiben, sofern dies zulässig ist nach Berechtigungen. «und unter OS X zusätzlich» Erweiterte Attribute, einschließlich Ressourcengabeln «.Wenn Sie
cp
von GNU Coreutils aus verwenden , um nur die Zeitstempel und keine Attribute wie Benutzer-ID, Gruppen-ID oder Dateimodus beizubehalten , können Sie mit der Langschrift--preserve
eine Liste der beizubehaltenden Attribute explizit angeben.Beachten Sie jedoch, dass diese Syntax von anderen Unices wahrscheinlich nicht unterstützt wird. Eine Alternative könnte sein, den
--times
Parameter zu verwenden, der fürrsync
die meisten Installationen verfügbar sein sollte.quelle
-p
ist nicht die richtige Antwort.-p
behält auch das Eigentum und den Modus. Was vielleicht nicht gewollt ist .. und nicht in Frage gestellt wurde.Auf einem Unix-Dateisystem gibt es drei Zeiten: die Zugriffszeit (atime), die Änderungszeit (mtime) und die Inode-Änderungszeit (ctime). Sie können die Zugriffszeit und die Änderungszeit beispielsweise mit dem Touch-Programm ändern
Sie können die Inode-Änderungszeit jedoch nicht ändern.
quelle
Ich musste vor kurzem etwas Ähnliches tun, aber stattdessen Symlink verwenden. So erstellen Sie einen Symlink und behalten den ursprünglichen Zeitstempel bei:
cp -ps src_file dst_symlink
quelle