Stat
Mit dem Befehl stat lassen sich Zugriffs- und Änderungs-Zeitstempel von Dateien und Ordnern anzeigen. Weiterhin werden Informationen zu Rechten, zu Besitzer und Gruppe und zum Dateityp ausgegeben. Das Programm stat ist im essentiellen Paket coreutils von Linux enthalten und deshalb auf jedem System bereits vorinstalliert.
Aufruf
Die allgemeine Syntax lautet
stat Option Datei
Optionen
-L oder --dereference | Verknüpfungen folgen (Im Unterschied zu normalen Programmen gibt `stat` standardmäßig Informationen zur symbolischen Verknüpfung selbst aus und nicht zur Datei auf die sie zeigt.) |
--printf=FORMAT | Wie --format, aber Rückschrägstrich‐Steuerzeichen auswerten, kein obligatorischer Zeilenvorschub; letzterer kann mittels \n in FORMAT eingefügt werden |
-c=FORMAT oder format=FORMAT |
Das angegebene FORMAT anstelles der Voreinstellung benutzen; Zeilenvorschub nach jeder Benutzung |
-f oder --file-system | Dateisystemstatus anstelle von Dateistatus anzeigen |
-t oder --terse | Information in knapper Form ausgeben |
--version | Versionsinformation anzeigen |
--help | Hilfe anzeigen |
Ausgabe von stat
Bei Aufruf von stat ohne Optionen
stat Sample.txt
wird folgendes ausgegeben:
Datei: »Sample.txt“ Größe: 6 Blöcke: 8 EA Block: 4096 Normale Datei
Gerät: 801h/2049d Inode: 4257439 Verknüpfungen: 1
Zugriff: (0664/-rw-rw-r--) Uid: ( 1000/ubuntuuser) Gid: ( 1000/ubuntuuser) Zugriff : 2012-10-10 13:20:00.000000000 +0200 Modifiziert: 2012-10-10 09:13:29.000000000 +0200 Geändert : 2012-10-10 13:20:00.484609642 +0200 Geburt : -
Ausgegeben wird:
- der Dateiname
- die Dateigröße (in Bytes)
- die Anzahl der auf dem Dateisystem reservierten Blöcke (512 Bytes pro Block)
- die typische Größe eines Blocks, der bei der Eingabe und Ausgabe mit einem mal vom Dateisystem gelesen bzw. geschrieben wird (in Bytes)
- der Dateityp
- Inode
Zugriffsrechte
Zugriff: (0664/-rw-rw-r--) Uid: ( 1000/user) Gid: ( 1000/user)
Es werden die Zugriffsrechte in oktaler und in [:Rechte#Rechte-in-symbolischer-Darstellung: menschenlesbarer Form angezeigt. ID und Name des Besitzers sind angegeben, ebenso wie ID und Name der Gruppe.
Bedeutung der Zeitstempel
Zugriff : 2012-10-10 13:20:00.000000000 +0200 Modifiziert: 2012-10-10 09:13:29.000000000 +0200 Geändert : 2012-10-10 13:20:00.484609642 +0200
Die einzelnen Zeitstempel haben folgende Bedeutung:
- Zugriff - gibt den Zeitstempel an, wann die Datei zum letzten Mal gelesen wurde.
- Modifiziert - gibt den Zeitstempel der letzten Änderung des Dateiinhalts an.
- Geändert - gibt den Zeitstempel der letzten Änderung der Metadaten (z.B. Dateirechte) an.
Mit touch lassen sich diese Zeitstempel verändern.
kurze Erklärung von Inode
Die Inode sind der Dreh- und Angelpunkt sämtlicher Dateizugriffe. Ein Großteil der Arbeit des Betriebssystems ist die Umsetzung von Dateinamen in die dazugehörige Inodes. Um die Funktion einiger Befehle zu verstehen, sollte man einen groben Eindruck davon haben, wie Inodes aufgebaut sind, und welche Informationen sie beinhalten. Inodes werden innerhalb der Filesysteme in Inode-Listen geführt. Inodes sind definierte Datenstrukturen, die eine Datei eindeutig beschreiben und verwalten können. Die restlichen Blöcke im Filesystem, die nicht von den Inodes belegt werden, sind die Blöcke für die Daten. In den einzelnen Filesystemen gibt es kleine Unterschiede im Aufbau der Inodestruktur. Auch ist die Verwaltung der Inode in den einzelnen Filesystemen zum Teil sehr verschieden. In einem ext2/ext3 Filesystem zum Beispiel wird bei der Erstellung die Struktur für alle Inodes im Filesystem erzeugt und im Filesystemkopf ist die genaue Anzahl der Inodes im Filesystem festgehalten. In einem Reiserfs werden die Inodes erst erzeugt wenn sie wirklich benötigt werden. Auch besteht ein Unterschied zwischen den Inodes die sich in den Filesystemen auf der Festplatte befinden (Disk Inode), und den Inodes die bei der Bearbeitung im Speicher von Linux (in-core inode) benutzt werden. Auf diese Unterschiede wird hier nicht näher eingegangen. Als Beispiel wird hier etwas vereinfacht die Disk Inode eines ext2-Filesystems beschrieben.
Aufgaben
Was bewirkt folgender Befehlstat -c %F sample.txt
?
stat --format %A%x sample.txt
stat -f sample.txt
Links
Creation Time von Dateien und Ordnern anzeigen {de}
GNU Core Utilities {en}
Manpage {en}