GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Dateizeitstempel in Linux:atime, mtime, ctime Erklärt

In Linux hat jede Datei einige Zeitstempel, die wichtige Analysen darüber liefern, wann die Datei oder ihre Attribute modifiziert oder geändert wurden. Sehen wir uns diese Zeitstempel im Detail an.

Was sind Linux-Zeitstempel?

Jede Datei in Linux hat normalerweise diese drei Zeitstempel:

  • atime – Zugriffszeit
  • mtime – Uhrzeit ändern
  • ctime – Zeit ändern

eine Zeit

atime steht für Zugriffszeit. Dieser Zeitstempel sagt Ihnen, wann das letzte Mal auf die Datei zugegriffen wurde. Zugriff bedeutet, ob Sie cat, vim, less oder ein anderes Tool verwendet haben, um den Inhalt der Datei zu lesen oder anzuzeigen.

mtime

mtime steht für Modify Time. Dieser Zeitstempel gibt an, wann die Datei das letzte Mal geändert wurde. Modifizieren bedeutet, wenn der Inhalt einer Datei durch Bearbeiten der Datei geändert wurde.

ctime

ctime steht für status change time. Dieser Zeitstempel gibt an, wann die Eigenschaft und die Metadaten der Datei das letzte Mal geändert wurden. Die Metadaten umfassen Dateiberechtigungen, Eigentum, Name und Speicherort der Datei.

Wie kann man die Zeitstempel einer Datei sehen?

Sie können den Befehl stat verwenden, um alle Zeitstempel einer Datei anzuzeigen. Die Verwendung des Befehls stat ist sehr einfach. Sie müssen nur den Dateinamen angeben.

stat <filename>

Die Ausgabe sieht so aus:

stat abhi.txt 
  File: abhi.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 10305h/66309d	Inode: 11936465    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-08-30 12:19:54.262153704 +0530
Modify: 2018-08-30 12:19:54.262153704 +0530
Change: 2018-08-30 12:19:54.262153704 +0530
 Birth: -

Sie können alle drei Zeitstempel (Zugriff, Modifizieren und Ändern) in der obigen Ausgabe sehen. Alle drei Zeitstempel sind hier gleich, weil ich diese leere Datei gerade mit dem Touch-Befehl erstellt habe.

Lassen Sie uns nun diese Zeitstempel ändern.

Wenn ich zum Lesen der Datei den Befehl less verwende, ändert sich nur die Zugriffszeit, da Inhalt und Metadaten der Datei gleich bleiben.

$ less abhi.txt 
$ stat abhi.txt 
   File: abhi.txt
   Size: 0             Blocks: 0          IO Block: 4096   regular empty file
 Device: 10305h/66309d    Inode: 11936465    Links: 1
 Access: (0644/-rw-r--r--)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
 Access: 2018-08-30 12:25:13.794471295 +0530
 Modify: 2018-08-30 12:19:54.262153704 +0530
 Change: 2018-08-30 12:19:54.262153704 +0530
  Birth: -

Lassen Sie uns nun die Änderungszeit ändern. Ich werde den cat-Befehl verwenden, um dieser Datei neuen Text hinzuzufügen. Dadurch wird die Änderung der Zugriffszeit verhindert.

$ cat >> abhi.txt 
 demo text
 ^C
 $ stat abhi.txt 
   File: abhi.txt
   Size: 10            Blocks: 8          IO Block: 4096   regular file
 Device: 10305h/66309d    Inode: 11936465    Links: 1
 Access: (0644/-rw-r--r--)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
 Access: 2018-08-30 12:25:13.794471295 +0530
 Modify: 2018-08-30 12:32:34.751320967 +0530
 Change: 2018-08-30 12:32:34.751320967 +0530
  Birth: -

Ist Ihnen etwas Seltsames aufgefallen? Sie haben die Datei geändert und erwartet, dass sich die mtime ändert, aber es hat auch die ctime geändert.

Denken Sie daran, dass ctime immer mit mtime geändert wird. Denn während mtime unter der Kontrolle des Benutzers steht, wird ctime vom System kontrolliert. Es stellt dar, wann die Datenblöcke oder Metadaten einer Datei das letzte Mal geändert wurden. Wenn Sie die Datei ändern, ändern sich die Datenblöcke und damit die ctime.

Sie können ctime allein ändern, indem Sie die Dateiberechtigungen mit den Befehlen chmod oder chgrp ändern, aber Sie können mtime nicht ändern, ohne ctime zu ändern.

Sie können ctime auch nicht auf normale Weise in der Vergangenheit ändern. Es ist eine Art Sicherheitsfunktion, da es Ihnen mitteilt, wann die Datei das letzte Mal geändert wurde. Selbst wenn jemand mtime ändert und für böswillige Zwecke in die Vergangenheit setzt, zeigt ctime die tatsächliche Zeit an, zu der mtime geändert wurde.

Denken Sie daran :ctime wird immer durch mtime change modifiziert.

Was sind die Verwendung von Dateizeitstempeln?

Es hilft sehr bei der Analyse. Es kann eine Reihe von Situationen geben, in denen Sie auf die Zeitstempel einer Datei verweisen müssen. Beispielsweise können Sie sehen, ob eine Datei kürzlich geändert wurde oder nicht, als sie geändert werden sollte.

Eine meiner Lieblingsanwendungen war das Auffinden von Protokolldateien einer Anwendung mit mtime. Führen Sie die Anwendung aus und gehen Sie einfach in das übergeordnete Verzeichnis der Anwendung und suchen Sie nach den Dateien, die in den letzten Minuten geändert wurden.

Ich habe Ihnen oben bereits gezeigt, dass es auch bei der Analyse helfen kann, ob jemand auf die Dateien zugegriffen oder sie böswillig geändert hat. Zeitstempel spielen in solchen Situationen eine wichtige Rolle.

Woher weiß ich, wann eine Datei ursprünglich erstellt wurde?

Haben Sie die letzte Zeile der Ausgabe des stat-Befehls bemerkt? Darauf steht „Geburt“. Sie können vermuten, dass dies die Zeitkarte darstellt, als die Datei „geboren“ wurde (oder genauer gesagt erstellt wurde).

Tatsächlich gibt es noch einen weiteren Zeitstempel namens Erstellungszeit (cr). Nicht alle Dateisysteme unterstützen diesen Zeitstempel. Ext4 ist eines der beliebtesten Linux-Dateisysteme und obwohl es den Erstellungszeitstempel unterstützt, kann der Befehl stat ihn derzeit nicht anzeigen. Vielleicht werden die zukünftigen Versionen des stat-Befehls den Erstellungszeitstempel im Geburtsabschnitt zeigen.


Linux
  1. Linux wc Befehl für Anfänger erklärt (6 Beispiele)

  2. Linux – Wie finde ich das Erstellungsdatum der Datei?

  3. Linux – Alles ist eine Datei?

  4. Ubuntu – Linux – Dateiänderungszeit vs. Änderungszeit?

  5. Holen Sie sich die Dateierstellungszeit mit Python unter Linux

Linux-Zeitbefehl

Linux-cksum-Befehl für Anfänger erklärt (mit Beispielen)

Linux-Stat-Befehl erklärt

So bearbeiten Sie eine Datei, ohne ihre Zeitstempel in Linux zu ändern

Linux-Dateizeitstempel mit Beispielen erklärt

Linux-Dateiberechtigungen und Eigentumsrechte mit Beispielen erklärt