Stat: Unterschied zwischen den Versionen

Aus Foxwiki
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 96: Zeile 96:
# [http://www.gnu.org/software/coreutils/ GNU Core Utilities] {en}
# [http://www.gnu.org/software/coreutils/ GNU Core Utilities] {en}
# [https://manpages.ubuntu.com/ Manpage] {en}
# [https://manpages.ubuntu.com/ Manpage] {en}
= Dateieistatus anzeigen ([http://wiki.ubuntuusers.de/stat?action=backlinks stat]) =
Mit dem Befehl <tt>stat</tt> (von '''stat'''us) lassen sich Zugriffs- und Änderungs-Zeitstempel von Dateien und Ordnern anzeigen.
* Weiterhin werden Informationen zu [http://wiki.ubuntuusers.de/Rechte Rechten], zu Besitzer und Gruppe und zum Dateityp ausgegeben.
* Durch [http://wiki.ubuntuusers.de/stat#Formatangaben 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 <tt>datei.txt</tt> 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 [http://wiki.ubuntuusers.de/Rechte#Oktale-Darstellung oktaler] und in [http://wiki.ubuntuusers.de/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.
===== Hinweis =====
Der unter Windows vorhandene Zeitstempel ''"Erstellt am…"'' ist zwar auch bei Linux (<tt>crtime</tt>, ab ext3) vorhanden, kann aber nicht ausgelesen werden.
===== Optionen =====
{| class="wikitable sortable" 
|-
| | <tt>-L</tt> oder <tt>--dereference</tt>
| | [http://wiki.ubuntuusers.de/ln#Symbolische-Verknuepfungen Verknüpfungen] folgen (Im Unterschied zu normalen Programmen gibt <tt>stat</tt> standardmäßig Informationen zur symbolischen Verknüpfung selbst aus und nicht zur Datei auf die sie zeigt.)
|-
| | <tt>-f</tt> oder <tt>--file-system</tt>
| | Dateisystemstatus anstelle von Dateistatus anzeigen
|-
| | <tt>-c=FORMAT</tt> oder <tt>--format=FORMAT</tt>
| | Das angegebene [http://wiki.ubuntuusers.de/stat#Formatangaben FORMAT] anstelles der Voreinstellung benutzen; Zeilenvorschub nach jeder Benutzung
|-
| | <tt>--printf=FORMAT</tt>
| | Wie <tt>--format</tt>, aber Rückschrägstrich‐Steuerzeichen auswerten, kein obligatorischer Zeilenvorschub; letzterer kann mittels \n in [http://wiki.ubuntuusers.de/stat#Formatangaben FORMAT] eingefügt werden
|-
| | <tt>-t</tt> oder <tt>--terse</tt>
| | Information in knapper Form ausgeben
|-
| | <tt>--help</tt>
| | Hilfe anzeigen
|-
| | <tt>--version</tt>
| | Versionsinformation anzeigen
|-
|}
===== Formatangaben =====
Bei den Optionen <tt>-c=FORMAT</tt>, <tt>--format=FORMAT</tt> und <tt>--printf=FORMAT</tt> sind für <tt>FORMAT</tt> folgende Formatangaben möglich:
{| class="wikitable sortable" 
|-
| | %a
| | Zugriffsrechte im [http://wiki.ubuntuusers.de/Rechte#Oktale-Darstellung Oktalformat]
|-
| | %A
| | [http://wiki.ubuntuusers.de/Rechte 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' *


[[Kategorie:Linux:Dateien]]
[[Kategorie:Linux:Dateien]]

Version vom 18. Februar 2022, 13:01 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.
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  ?

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

  1. Creation Time von Dateien und Ordnern anzeigen {de}
  2. GNU Core Utilities {en}
  3. Manpage {en}

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' *