Stat: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 65: Zeile 65:
*Geändert - gibt den Zeitstempel der letzten Änderung der Metadaten (z.B. Dateirechte) an.
*Geändert - gibt den Zeitstempel der letzten Änderung der Metadaten (z.B. Dateirechte) an.
Mit touch lassen sich diese Zeitstempel verändern.
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 =
= Aufgaben =

Version vom 27. April 2020, 09:10 Uhr

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  ?

Antwort: Er zeigt den Dateityp von datei.txt.
Wie lautet der befehl für eine Datei die Zugriffsrechte in menschenlesbarem Format und den Zeitstempel des letzten Zugriffs anzeigen zulassen?
Antwort:stat --format %A%x sample.txt
Wie ruft man die Informationen zum Dateisystem der Datei auf?
Antwort:stat -f sample.txt

Links

Creation Time von Dateien und Ordnern anzeigen {de}

GNU Core Utilities {en}

Manpage {en}