Wie kann ich das Änderungsdatum einer Datei ändern?

Wie kann ich das Änderungsdatum einer Datei ändern?

Wie kann ich das Änderungsdatum einer Datei ändern? Die Verwendung von touchfunktioniert nicht:

$ touch -t 9901010000 test;stat test
  Datei: „test“
  Größe: 0 Blöcke: 0 IO Block: 4096 normale leere Datei
Gerät: fe01h/65025d Inode: 11279017 Links: 1
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/ x) Gid: ( 1000/ x)
Zugriff: 1999-01-01 00:00:00.000000000 +0100
Ändern: 1999-01-01 00:00:00.000000000 +0100
Änderung: 2012-04-08 19:26:56.061614473 +0200
 Geburt: -

Antwort1

Sie können die Ctime nicht mit normalen Mitteln ändern. Dies ist so gewollt: Die Ctime wird immer auf den aktuellen Stand gebracht, wenn Sie die Metadaten der Datei ändern, und es gibt keine Möglichkeit, eine andere Ctime festzulegen. Um die Ctime einer Datei zu ändern, müssen Sie einen der folgenden Schritte ausführen:

  • Stellen Sie die Systemzeit auf die gewünschte Zeit ein, berühren Sie dann die Datei und setzen Sie die Systemzeit zurück.
  • Ändern Sie den Kernel, um eine Schnittstelle zum Ändern der Ctime hinzuzufügen.
  • Greifen Sie direkt auf das Disk-Image zu (z. B. mit debugfs) und ändern Sie die Bits auf der Festplatte (tun Sie dies nicht, während das Dateisystem gemountet ist).

Antwort2

Sie haben die Antwort auf die verwandte SO-Frage von jw013 für extX aufnicht gemountete Festplatte:

# Update ctime
debugfs -w -R 'set_inode_field /tmp/foo ctime 201001010101' /dev/sda1

# Drop vm cache so ctime update is reflected
echo 2 > /proc/sys/vm/drop_caches

Antwort3

$NOW=$(date) && date -s "2030-08-15 21:30:11" && touch file.txt && date -s "$NOW"

https://www.shellhacks.com/fake-file-access-modify-change-timestamps-linux

Antwort4

Die ctime einer Datei wird aktualisiert, wenn sich die Metadaten ändern.

$ ls -l x.py
-rw-rw-r--. 1 ignacio ignacio 485 Mar 26  2010 x.py
$ stat -c %z x.py
2010-03-26 11:57:56.237068175 -0400
$ chown ignacio x.py
$ stat -c %z x.py
2012-04-08 15:31:33.682383575 -0400
$ ls -l x.py
-rw-rw-r--. 1 ignacio ignacio 485 Mar 26  2010 x.py

verwandte Informationen