Antworten:
cp -p
macht den Trick. Für Linux :
-p
gleich wie--preserve=mode,ownership,timestamps
-p
Veranlassen Sie cp, die folgenden Attribute jeder Quelldatei in der Kopie beizubehalten: Änderungszeit, Zugriffszeit, Dateiflags, Dateimodus, ACL, Benutzer-ID und Gruppen-ID, wie durch Berechtigungen zugelassen.
Und für OS X :
-p
Veranlassen Sie cp, die folgenden Attribute jeder Quelldatei in der Kopie beizubehalten: Änderungszeit, Zugriffszeit, Dateiflags, Dateimodus, Benutzer-ID und Gruppen-ID, wie durch Berechtigungen zugelassen. Zugriffssteuerungslisten (Access Control Lists, ACLs) und erweiterte Attribute (Extended Attributes, EAs), einschließlich Ressourcengabeln, werden ebenfalls beibehalten.
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.
cp --preserve=timestamps source destination
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ür rsync
die meisten Installationen verfügbar sein sollte.
-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
cp orig copy Berühren Sie -r Originalkopie
Sie können die Inode-Änderungszeit jedoch nicht ändern.
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