Das Linux-Betriebssystem verfolgt drei Zeitstempel für jede Datei auf Ihrem System. Mit diesen Zeitstempeln können Sie feststellen, wann eine Datei zuletzt aktualisiert wurde. Aber was bedeuten sie alle? Und wie finden Sie diese Zeiten für eine Datei heraus? Gibt es einen Unterschied, wenn es um Verzeichnisse geht?

Ein Verständnis von atime, ctime und mtime kann all diese Fragen beantworten. Dies sind die drei Zeitstempel, die Unix-Dateisysteme verfolgen. Wenn Sie jemals Einzelheiten darüber erfahren müssen, was sich wann geändert hat, lesen Sie weiter.

Was sind die drei Unix-Zeitstempel?

Jeder Datei sind drei Zeitstempel zugeordnet. Linux speichert diese in der Unix-Zeitformat das misst Sekunden seit der Epoche. Die drei Zeitstempel werden üblicherweise als atime, ctime und mtime bezeichnet.

Das mtime ist am häufigsten und oft am nützlichsten. Es steht für geänderte Zeit. Dies ist der Zeitpunkt, zu dem der Inhalt der Datei zuletzt auf die Festplatte geschrieben wurde.

Etwas anders ist das

ctime welches dafür steht Zeit ändern. Dieser Zeitstempel verfolgt Metadatenänderungen wie Besitz und Berechtigungen. Dazu gehört das Umbenennen einer Datei - zumindest unter typischen modernen Linux-Betriebssystemen. Es wird jedoch auch aktualisiert, wenn sich der Inhalt der Datei ändert, sodass es immer so aktuell ist wie die mtime.

Der dritte Zeitstempel ist der eine ZeitHier wird gespeichert, wann das letzte Mal jemand auf die Datei zugegriffen hat.

Wie Zeitstempel auf Verzeichnisse angewendet werden

Ein Linux-Verzeichnis ist im Wesentlichen eine Liste der Dateien in diesem Verzeichnis. Wenn Sie also eine Datei in einem Verzeichnis erstellen, wird die mtime dieses Verzeichnisses aktualisiert. Auflisten der Dateien im Verzeichnis mit dem ls Der Befehl aktualisiert beispielsweise seine Zugriffszeit. Und wie bei einer Datei wird durch Ändern der Berechtigungen oder des Namens eines Verzeichnisses die Uhrzeit aktualisiert.

Was ist mit der Erstellungszeit?

Es mag Sie überraschen zu erfahren, dass Linux die Erstellungszeit einfach nicht im Auge behält. Sie könnten das zunächst annehmen ctime steht für Erstellungszeit. Ebenso könnte man es als sehr nützlich ansehen, um es herauszufinden.

Viele Anwendungen speichern Dateien, indem sie jedes Mal von Grund auf neu erstellt werden. Dies würde die Verwendung einer Erstellungszeit irreführend machen.

So zeigen Sie die verschiedenen Zeitstempel an

Der einfachste Weg, um Zeitstempelinformationen zu erhalten, ist mit das ls Befehl. Das Standard-Langformat zeigt Details für die mtime an:

$ Datum
Sa 6. März 16:57:01 GMT 2021
$ echo "Hallo Welt"> tmp
$ ls -l tmp.txt
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

Sie können den Zeitpunkt stattdessen mit dem anzeigen -u Flagge:

$ Datum
Sa 6. März 16:59:33 GMT 2021
$ cat tmp
Hallo Welt
$ ls -lu tmp
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp
$ ls -l tmp
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

Die letzte Zeile bestätigt, dass sich die mtime dieser Datei von der atime unterscheidet. Verwenden Sie zum Schluss die -c Flag zum Anzeigen von ctime:

$ Datum
Sa 6. März 17:02:34 GMT 2021
$ mv tmp tmp2
$ ls -lc tmp2
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 17:02 tmp2
$ ls -l tmp2
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp2
$ ls -lu tmp2
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp2

Dieses Mal bestätigen wir, dass alle drei Male unterschiedlich und korrekt sind: Wir haben die Datei in dieser Reihenfolge geändert, darauf zugegriffen und sie dann geändert.

Eine Alternative zu ls ist die stat Befehl. Dieser Befehl zeigt Details auf niedriger Ebene aus dem Inode der Datei an. Es macht es einfacher, alle drei Male gleichzeitig zu überprüfen. Es geht auch um das Problem des Unintuitiven -u Flagge. Hier ist eine Beispielausgabe für dieselbe Datei:

$ stat tmp2
Datei: `tmp2 '
Größe: 13 Blöcke: 8 E / A-Block: 4096 reguläre Datei
Gerät: 801h / 2049d Inode: 327688 Links: 1
Zugriff: (0644 / -rw-r - r--) Uid: (1000 / Ubuntu) Gid: (1000 / Ubuntu)
Zugriff: 2021-03-06 16: 59: 45.000000000 +0000
Ändern: 2021-03-06 16: 57: 59.000000000 +0000
Änderung: 2021-03-06 17: 02: 43.000000000 +0000

So aktualisieren Sie Zeitstempel

Das berühren Befehl ändert die Änderungs- und Zugriffszeiten einer Datei. Es ist auch eine bequeme Möglichkeit, eine leere Datei zu erstellen. Dies ist möglich, wenn die Datei noch nicht vorhanden ist:

Berühren Sie tmp

Standardmäßig werden mtime und atime auf die aktuelle Zeit eingestellt. Sie können eine andere Zeit mit dem einstellen -t Flagge:

Berühren Sie -t 202103061200 tmp

Sie können auch nur mtime oder atime mit dem einstellen -m und -ein Flags jeweils:

Berühren Sie -t 202103061300 -m tmp

Beachten Sie, dass die ctime immer aktualisiert wird, wenn wir die atime oder mtime einstellen.

So finden Sie Dateien anhand von Zeitstempeln

Das finden Befehl ist ein weiteres Werkzeug, das auf Zeitstempel wirkt. Es kann Dateien basierend auf atime, ctime oder mtime filtern. Zum Beispiel:

finden. -amin 15

findet Dateien, auf die vor genau 15 Minuten zugegriffen wurde, während:

finden. -mtime -2

findet Dateien, die innerhalb der letzten zwei Tage geändert wurden.

Linux verfolgt jede Datei dreimal

Der am häufigsten verwendete Dateizeitstempel ist mtime. Dies ist beispielsweise das Datum und die Uhrzeit, die in einer Dateiliste angezeigt werden. Die beiden anderen Zeitstempel können jedoch ebenfalls nützlich sein, sofern Sie verstehen, worauf sie sich beziehen. Denken Sie insbesondere immer daran, dass ctime darstellt Veränderung Zeit nicht Schaffung Zeit.

Befehle wie touch und stat sind nützliche Mitglieder der Linux-Befehlszeilen-Toolbox. Diese Befehle verbessern Ihren Linux-Workflow, indem Sie schnell neue Dateien erstellen können.

Email
Das Linux-Befehlsreferenz-Spickzettel

Mit diesem einfachen Spickzettel können Sie sich in kürzester Zeit mit dem Linux-Befehlszeilenterminal vertraut machen.

Verwandte Themen
  • Linux
  • Dokumentenverwaltung
  • Linux Distro
Über den Autor
Bobby Jack (33 Artikel veröffentlicht)

Bobby ist ein Technologie-Enthusiast, der fast zwei Jahrzehnte als Softwareentwickler gearbeitet hat. Er liebt das Spielen, arbeitet als Reviews Editor beim Switch Player Magazine und ist in alle Aspekte des Online-Publizierens und der Webentwicklung vertieft.

Mehr von Bobby Jack

Abonniere unseren Newsletter

Melden Sie sich für unseren Newsletter an, um technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote zu erhalten!

Noch ein Schritt…!

Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.

.