Stat: Unterschied zwischen den Versionen
K →Aufruf |
KKeine Bearbeitungszusammenfassung |
||
Zeile 337: | Zeile 337: | ||
* genaue Beschreibungen aller Optionen und weitere Möglichkeiten zeigt die [http://man.splitbrain.org/stat Manpage von stat] | * genaue Beschreibungen aller Optionen und weitere Möglichkeiten zeigt die [http://man.splitbrain.org/stat Manpage von stat] | ||
= MAN = | |||
BEZEICHNUNG | |||
stat - Anzeige des Datei- oder Dateisystemstatus | |||
ÜBERSICHT | |||
stat [OPTION]… DATEI… | |||
BESCHREIBUNG | |||
Status einer Datei oder eines Dateisystems anzeigen. | |||
Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich. | |||
-L, --dereference | |||
Verweisen folgen | |||
-f, --file-system | |||
Dateisystemstatus anstelle des Dateistatus anzeigen | |||
--cached=MODUS | |||
gibt an, wie zwischengespeicherte Attribute verwendet werden sollen; dies ist auf fernen Dateisystemen nützlich. Siehe MODUS nachfolgend. | |||
-c --format=FORMAT | |||
Das angegebene FORMAT anstelle der Vorgabe benutzen; nach jeder Benutzung von FORMAT einen Zeilenumbruch ausgeben. | |||
--printf=FORMAT | |||
Wie --format, interpretiert jedoch Maskierung per Rückschrägstrich und gibt nicht den obligatorischen abschließenden Zeilenumbruch aus. Falls | |||
Sie einen Zeilenumbruch wünschen, fügen Sie \n in FORMAT ein. | |||
-t, --terse | |||
Gibt die Information in Kurzform aus | |||
--help zeigt Hilfeinformationen an und beendet das Programm. | |||
--version | |||
gibt Versionsinformationen aus und beendet das Programm. | |||
Das MODUS-Argument zu --cached kann »always« (immer), »never« (niemals) oder »default« (Standard) sein. Mit »always« werden zwischengespeicherte At‐ | |||
tribute verwendet, wie sie verfügbar sind, während »never« versucht, mit den neuesten Attributen zu synchronisieren und »default« es dem darunter | |||
liegenden Dateisystem überlässt. | |||
Die gültigen Formatangaben für Dateien (ohne --file-system): | |||
%a Rechte-Bits in Oktaldarstellung (»#« und »0« sind printf-Schalter) | |||
%A Rechte-Bits und Dateityp in menschenlesbarer Form | |||
%b Anzahl der reservierten Blöcke (siehe %B) | |||
%B Die Größe jedes mit »%b« gemeldeten Blocks in Byte | |||
%C SELinux-Sicherheitskontext-Zeichenkette | |||
%d Gerätenummer in dezimaler Schreibweise | |||
%D Gerätenummer in hexadezimaler Schreibweise | |||
%f Raw-Modus in hexadezimaler Schreibweise | |||
%F Dateityp | |||
%g Gruppen‐ID des Eigentümers | |||
%G Gruppenname des Eigentümers | |||
%h Anzahl harter Verweise | |||
%i Inode-Nummer | |||
%m Einhängepunkt | |||
%n Dateiname | |||
%N Dateiname in Anführungsstrichen mit Zurückverfolgung, falls symbolischer Verweis | |||
%o Hinweis auf die optimale E/A-Übertragungsgröße (engl. I/O) | |||
%s Gesamtgröße in Byte | |||
%t Major-Gerätetyp im hexadezimalen Format, für zeichen-/blockorientierte Spezialdateien | |||
%T Minor-Gerätetyp im hexadezimalen Format, für zeichen-/blockorientierte Spezialdateien | |||
%u Anwender‐ID des Eigentümers | |||
%U Anwendername des Eigentümers | |||
%w Menschenlesbare Zeit der Dateierstellung; »-«, falls unbekannt | |||
%W Zeit der Dateierstellung in Sekunden seit der Unix-Epoche; 0, falls unbekannt | |||
%x Menschenlesbare Zeit des letzten Zugriffs | |||
%X Zeit des letzten Zugriffs, Sekunden seit der Unix-Epoche | |||
%y Menschenlesbare Zeit der letzten Datenänderung | |||
%Y Zeit der letzten Datenänderung, Sekunden seit der Unix-Epoche | |||
%z Menschenlesbare Zeit der letzten Statusänderung | |||
%Z Zeit der letzten Statusänderung, Sekunden seit der Unix-Epoche | |||
Gültige Formatangaben für Dateisysteme: | |||
%a Freie Blöcke, die Nicht‐Superusern zur Verfügung stehen | |||
%b Gesamte Datenblöcke im Dateisystem | |||
%c Gesamte Dateiknoten im Dateisystem | |||
%d Freie Dateiknoten im Dateisystem | |||
%f Freie Blöcke im Dateisystem | |||
%i Dateisystem‐ID in hexadezimaler Schreibweise | |||
%l Maximale Länge von Dateinamen | |||
%n Dateiname | |||
%s Blockgröße (für schnellere Übertragungen) | |||
%S Grundlegende Blockgröße (für Blockzahlen) | |||
%t Dateisystem‐ID in hexadezimaler Schreibweise | |||
%T Art des Dateisystems in menschenlesbarer Form | |||
--terse ist äquivalent zu dem folgenden FORMAT: | |||
%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C | |||
--terse --file-system ist äquivalent zu dem folgenden FORMAT: | |||
%n %i %l %t %s %S %b %f %a %c %d | |||
BEACHTEN SIE: Ihre Shell hat möglicherweise eine eigene Version von stat, welche normalerweise die hier beschriebene Version ersetzt. Bitte greifen | |||
Sie auf die Dokumentation Ihrer Shell zurück, um die dort unterstützten Optionen in Erfahrung zu bringen. | |||
SIEHE AUCH | |||
stat(2), statfs(2), statx(2) | |||
Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/stat> | |||
oder lokal verfügbar mit: info '(coreutils) stat invocation' | |||
[[Kategorie:Linux:Dateien]] | [[Kategorie:Linux:Dateien]] |
Version vom 14. März 2022, 00:46 Uhr
topic kurze Beschreibung
Beschreibung
Installation
Syntax
Parameter
Optionen
Konfiguration
Dateien
Anwendungen
Dokumentation
Man-Pages
Info-Pages
Links
Intern
Weblinks
Kontrollfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
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
$ LANG=C stat testfile File: testfile Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 2dh/45d Inode: 124131251 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/dirkwagner) Gid: ( 1000/dirkwagner) Access: 2022-03-14 00:40:56.690663102 +0100 Modify: 2022-03-14 00:40:56.690663432 +0100 Change: 2022-03-14 00:40:56.684708135 +0100 Birth: -
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.
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.
Aufgaben
Was bewirkt folgender Befehlstat -c %F sample.txt
?
stat --format %A%x sample.txt
stat -f sample.txt
Links
Dateieistatus anzeigen (stat)
Mit dem Befehl stat (von status) lassen sich Zugriffs- und Änderungs-Zeitstempel von Dateien und Ordnern anzeigen.
- Weiterhin werden Informationen zu Rechten, zu Besitzer und Gruppe und zum Dateityp ausgegeben.
- Durch Formatangaben ist die Ausgabe gemäß den eigenen Bedürfnissen darstellbar.
Ausgabe von stat
Bei Aufruf von stat ohne Optionen
stat datei.txt
wird folgendes ausgegeben:
Datei: »datei.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 : -
Allgemeine Dateiinformationen
Datei: »datei.txt“ Größe: 6 Blöcke: 8 EA Block: 4096 Normale Datei (…)
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
In dem Beispiel ist die Datei datei.txt 6 Bytes groß, belegt aber 8*512 = 4096 Bytes an Festplattenplatz, da dies dies die minimale Blockgröße des aktuellen Dateisystems ist.
Zugriffsrechte
(…)
Zugriff: (0664/-rw-rw-r--) Uid: ( 1000/ubuntuuser) Gid: ( 1000/ubuntuuser) (…)
Es werden die Zugriffsrechte in oktaler und in 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.
Hinweis
Der unter Windows vorhandene Zeitstempel "Erstellt am…" ist zwar auch bei Linux (crtime, ab ext3) vorhanden, kann aber nicht ausgelesen werden.
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.) |
-f oder --file-system | Dateisystemstatus anstelle von Dateistatus anzeigen |
-c=FORMAT oder --format=FORMAT | Das angegebene FORMAT anstelles der Voreinstellung benutzen; Zeilenvorschub nach jeder Benutzung |
--printf=FORMAT | Wie --format, aber Rückschrägstrich‐Steuerzeichen auswerten, kein obligatorischer Zeilenvorschub; letzterer kann mittels \n in FORMAT eingefügt werden |
-t oder --terse | Information in knapper Form ausgeben |
--help | Hilfe anzeigen |
--version | Versionsinformation anzeigen |
Formatangaben
Bei den Optionen -c=FORMAT, --format=FORMAT und --printf=FORMAT sind für FORMAT folgende Formatangaben möglich:
%a | Zugriffsrechte im Oktalformat |
%A | Zugriffsrechte in menschenlesbarer Form |
%F | Dateityp |
%m | Ort des Einhängens |
%n | Dateiname |
%s | Gesamtgröße in Bytes |
%U | Nutzername des Besitzers |
%x | Zeit des letzten Zugriffs |
%y | Zeit der letzten Modifikation |
%z | Zeit der letzten Änderung |
Weitere Formatangaben sind der Manpage zu entnehmen.
Beispiele
Dateityp der Datei datei.txt anzeigen:
stat -c %F datei.txt Normale leere Datei* Für die Datei datei.txt die Zugriffsrechte in menschenlesbarem Format und den Zeitstempel des letzten Zugriffs anzeigen:
stat --format %A%x datei.txt -rw-rw-r--2012-10-15 19:12:17.315844786 +0200* Für die Datei datei.txt den Dateinamen, den Ort des Einhängens, den Nutzername des Besitzers und die Gesamtgröße anzeigen und dabei die Formatierung der Ausgaben vorgeben:
stat --printf "Dateiname: %n\nOrt des Einhaengens: %m\nNutzername: %U\nGesamtgroesse: %s\n" datei.txt Dateiname: datei.txt Ort des Einhaengens: / Nutzername: ubuntuuser Gesamtgroesse: 13* Informationen zum Dateisystem der Datei datei.txt anzeigen:
stat -f datei.txt Datei: "datei.txt" ID: 84dc3e24ed064a9f Namenslänge: 255 Typ: ext2/ext3 Blockgröße: 4096 Fundamentale Blockgröße: 4096 Blöcke: Gesamt: 76409150 Frei: 47061485 Verfügbar: 43180129 Inodes: Gesamt: 19406848 Frei: 18755502* oktale Dateirechte aller Dateien im aktuellen Ordner:
stat -c '%A %a %n' *
Links
Dateien
Man-Pages
Intern
Weblinks
Kontrollfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
tmp
stat
Der Befehl stat ohne Optionen kann alle Zeitstempel und alle anderen Informationen einer Datei auflisten.
- Siehe dazu auch das dokumentierte Beispiel unter Inode.
- Es ist aber auch möglich die Ausgabe von stat nach seinen eigenen Vorstellungen zu formatieren.
- Folgender Befehl listet die Dateinamen und die Zeitstempel aller Dateien im Verzeichnis auf:
- stat -c "Filename : %n
atime : %x mtime : %y ctime : %z " *
- Das Format der Ausgabe dieses Befehles für jede Datei
- Filename : test
atime : 2006-11-03 18:17:42.764670001 +0100 mtime : 2006-10-25 20:42:55.000000000 +0200 ctime : 2006-10-25 20:42:55.000000000 +0200
- genaue Beschreibungen aller Optionen und weitere Möglichkeiten zeigt die Manpage von stat
MAN
BEZEICHNUNG stat - Anzeige des Datei- oder Dateisystemstatus
ÜBERSICHT stat [OPTION]… DATEI…
BESCHREIBUNG Status einer Datei oder eines Dateisystems anzeigen.
Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich.
-L, --dereference Verweisen folgen
-f, --file-system Dateisystemstatus anstelle des Dateistatus anzeigen
--cached=MODUS gibt an, wie zwischengespeicherte Attribute verwendet werden sollen; dies ist auf fernen Dateisystemen nützlich. Siehe MODUS nachfolgend.
-c --format=FORMAT Das angegebene FORMAT anstelle der Vorgabe benutzen; nach jeder Benutzung von FORMAT einen Zeilenumbruch ausgeben.
--printf=FORMAT Wie --format, interpretiert jedoch Maskierung per Rückschrägstrich und gibt nicht den obligatorischen abschließenden Zeilenumbruch aus. Falls Sie einen Zeilenumbruch wünschen, fügen Sie \n in FORMAT ein.
-t, --terse Gibt die Information in Kurzform aus
--help zeigt Hilfeinformationen an und beendet das Programm.
--version gibt Versionsinformationen aus und beendet das Programm.
Das MODUS-Argument zu --cached kann »always« (immer), »never« (niemals) oder »default« (Standard) sein. Mit »always« werden zwischengespeicherte At‐ tribute verwendet, wie sie verfügbar sind, während »never« versucht, mit den neuesten Attributen zu synchronisieren und »default« es dem darunter liegenden Dateisystem überlässt.
Die gültigen Formatangaben für Dateien (ohne --file-system):
%a Rechte-Bits in Oktaldarstellung (»#« und »0« sind printf-Schalter)
%A Rechte-Bits und Dateityp in menschenlesbarer Form
%b Anzahl der reservierten Blöcke (siehe %B)
%B Die Größe jedes mit »%b« gemeldeten Blocks in Byte
%C SELinux-Sicherheitskontext-Zeichenkette
%d Gerätenummer in dezimaler Schreibweise
%D Gerätenummer in hexadezimaler Schreibweise
%f Raw-Modus in hexadezimaler Schreibweise
%F Dateityp
%g Gruppen‐ID des Eigentümers
%G Gruppenname des Eigentümers
%h Anzahl harter Verweise
%i Inode-Nummer
%m Einhängepunkt
%n Dateiname
%N Dateiname in Anführungsstrichen mit Zurückverfolgung, falls symbolischer Verweis
%o Hinweis auf die optimale E/A-Übertragungsgröße (engl. I/O)
%s Gesamtgröße in Byte
%t Major-Gerätetyp im hexadezimalen Format, für zeichen-/blockorientierte Spezialdateien
%T Minor-Gerätetyp im hexadezimalen Format, für zeichen-/blockorientierte Spezialdateien
%u Anwender‐ID des Eigentümers
%U Anwendername des Eigentümers
%w Menschenlesbare Zeit der Dateierstellung; »-«, falls unbekannt
%W Zeit der Dateierstellung in Sekunden seit der Unix-Epoche; 0, falls unbekannt
%x Menschenlesbare Zeit des letzten Zugriffs
%X Zeit des letzten Zugriffs, Sekunden seit der Unix-Epoche
%y Menschenlesbare Zeit der letzten Datenänderung
%Y Zeit der letzten Datenänderung, Sekunden seit der Unix-Epoche
%z Menschenlesbare Zeit der letzten Statusänderung
%Z Zeit der letzten Statusänderung, Sekunden seit der Unix-Epoche
Gültige Formatangaben für Dateisysteme:
%a Freie Blöcke, die Nicht‐Superusern zur Verfügung stehen
%b Gesamte Datenblöcke im Dateisystem
%c Gesamte Dateiknoten im Dateisystem
%d Freie Dateiknoten im Dateisystem
%f Freie Blöcke im Dateisystem
%i Dateisystem‐ID in hexadezimaler Schreibweise
%l Maximale Länge von Dateinamen
%n Dateiname
%s Blockgröße (für schnellere Übertragungen)
%S Grundlegende Blockgröße (für Blockzahlen)
%t Dateisystem‐ID in hexadezimaler Schreibweise
%T Art des Dateisystems in menschenlesbarer Form
--terse ist äquivalent zu dem folgenden FORMAT: %n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C
--terse --file-system ist äquivalent zu dem folgenden FORMAT: %n %i %l %t %s %S %b %f %a %c %d
BEACHTEN SIE: Ihre Shell hat möglicherweise eine eigene Version von stat, welche normalerweise die hier beschriebene Version ersetzt. Bitte greifen Sie auf die Dokumentation Ihrer Shell zurück, um die dort unterstützten Optionen in Erfahrung zu bringen.
SIEHE AUCH stat(2), statfs(2), statx(2)
Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/stat> oder lokal verfügbar mit: info '(coreutils) stat invocation'