"modified"-timestamp einer Datei ändern

Mein aktuelles Setup zur Erstellung dieser Webseite (hint: org-mode) sortiert die Einträge nach dem "modified"-timestamp (dem Zeitpunkt der letzten Änderung). Das ist je nach Sichtweise unpraktisch, da upgedatete Artikel dadurch nach jeder Änderung automatisch nach oben wandern. "Je nachdem", denn dieses Verhalten kann auch gewünscht sein, wenn man seine Artikel nach dem Kriterium "Letztes Update:" sortieren will. Wie dem auch sei: Wer seine Zeitstempel unter Unixoidem ändern möchte, der kann das folgendermaßen tun:

modified-Zeitstempel einer Datei ändern mit touch

Zur Änderung des modified-Zeitstempels einer Datei gibt es auf jedem unixoiden System den Befehl touch:

13.4 ‘touch’: Change file timestamps
====================================

‘touch’ changes the access and/or modification times of the specified
files.  Synopsis:

     touch [OPTION]... FILE...

[Quelle: GNU Coreutils]

Drei Arten von Zeitstempel

Unixoide Dateien kennen drei Arten von Zeitstempeln:

  • Access - Letzter Zeitpunkt, an dem die Datei gelesen wurde
  • Modify - Letzter Zeitpunkt, an dem die Datei - in diesem Fall der Inhalt der Datei - verändert wurde
  • Change - Letzter Zeitpunkt, an dem Metadaten der Datei geändert wurden (z. B. Berechtigungen)

[Quelle: unix.stackexchange.com]

Zeitstempel ändern

Möchte ich accessed und modified ändern, verwende ich

touch -a -m -t 201512180130.09 fileName.ext

Will ich lediglich modified ändern, lasse ich -a einfach weg:

touch -m -t 201512180130.09 fileName.ext

Die einzelnen Parameter bedeuten:

  • a = accessed
  • m = modified
  • t = timestamp - verwendet das [[CC]YY]MMDDhhmm[.ss] time format

Um den Zeitstempel auf JETZT zu setzen, lässt man -t und timestamp einfach weg.

[Quelle: unix.stackexchange.com]