Die stat
Befehl, der in den GNU coreutils
enthalten ist Paket, bietet eine Vielzahl von Metadaten, einschließlich Dateigröße, Inode-Speicherort, Zugriffsberechtigungen und SELinux-Kontext sowie Erstellungs- und Änderungszeiten, über Dateien und Dateisysteme. Es ist eine praktische Möglichkeit, Informationen zu sammeln, für deren Erfassung Sie normalerweise mehrere verschiedene Befehle benötigen.
Stat unter Linux installieren
Unter Linux haben Sie wahrscheinlich bereits den stat
-Befehl installiert, da er Teil eines Kerndienstprogrammpakets ist, das im Allgemeinen standardmäßig mit Linux-Distributionen gebündelt ist.
Für den Fall, dass Sie stat
nicht haben installiert haben, können Sie coreutils
installieren mit Ihrem Paketmanager.
Alternativ können Sie Coreutils aus dem Quellcode kompilieren.
Status einer Datei abrufen
Ausführen von stat
bietet eine leicht lesbare Ausgabe über eine bestimmte Datei oder ein bestimmtes Verzeichnis.
$ stat planets.xml
Datei:planets.xml
Größe:325 Blöcke:8 IO-Block:4096 reguläre Datei
Gerät:fd03h/64771d Inode:140217 Links:1
Zugriff:(0664/-rw-rw-r--) Uid:(1000/tux) Gid:(100/users)
Kontext:unconfined_u:object_r:user_home_t:s0
Zugriff:2021 -08-17 18:26:57.281330711 +1200
Geändert:2021-08-17 18:26:58.738332799 +1200
Änderung:2021-08-17 18:26:58.738332799 +1200
Geburt:17.08.2021 18:26:57.281330711 +1200
Es mag leicht zu lesen sein, aber es enthält immer noch eine Menge Informationen. Hier ist was stat
umfasst:
- Datei :der Dateiname
- Größe :die Dateigröße in Byte
- Blockiert :die Anzahl der Blöcke auf der Festplatte, die für diese Datei reserviert sind
- IO-Block :die Größe eines Blocks des Dateisystems
- normale Datei :der Dateityp (normale Datei, Verzeichnis, Dateisystem)
- Gerät :das Gerät, auf dem sich die Datei befindet
- Inode :die Inode-Nummer, wo sich die Datei befindet
- Links :die Anzahl der Links zur Datei
- Zugang, UID, GID :Dateiberechtigungen, Benutzer und Gruppeneigentümer
- Kontext :SELinux-Kontext
- Zugriff, Modifizierung, Änderung, Geburt :Der Zeitstempel, wann auf die Datei zugegriffen, sie geändert, ihr Status geändert und sie erstellt wurde
Kurze Ausgabe
Für Leute, die die Ausgabe gut kennen oder die Ausgabe mit anderen Dienstprogrammen wie awk parsen möchten, gibt es den --terse
(-t
kurz) Option, die die Ausgabe ohne Überschriften oder Zeilenumbrüche formatiert.
$ stat --terse planets.xml
planets.xml 325 8 81b4 100977 100 fd03 140217 1 0 0 1629181617 1629181618 1629181618 1629181617 4096 unconfined_u:object_r:0pre_home>tWählen Sie Ihr eigenes Format
Mit
--printf
können Sie Ihr eigenes Format für die Ausgabe definieren Option und eine ähnliche Syntax wie printf. Jedes vonstat
gemeldete Attribut hat eine Formatsequenz (%C
für SELinux-Kontext%n
für Dateinamen usw.), sodass Sie auswählen können, was Sie in einem Bericht sehen möchten.$ stat --printf="%n\n%C\n" planeten.xml
planeten.xml
unconfined_u:object_r:user_home_t:s0
$ $ stat --printf ="Name:%n\nGeändert:%y\n" planets.xml
Name:planets.xml
Geändert:2021-08-17 18:26:58.738332799 +1200
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Hier sind einige gängige Formatsequenzen:
- %a Zugriffsrechte
- %F Dateityp
- %n Dateiname
- %U Benutzername
- %u Benutzer-ID
- %g Gruppen-ID
- %w Geburtsdatum
- %y Änderungszeit
Eine vollständige Auflistung der Formatsequenzen ist in stat
verfügbar Manpage und die coreutils
Infoseiten.
Dateiinformationen
Wenn Sie jemals versucht haben, die Ausgabe von ls -l
zu parsen , dann werden Sie die Flexibilität von stat
zu schätzen wissen Befehl. Sie benötigen nicht immer alle Bits der Standardinformationen, die stat
enthalten bietet, aber der Befehl ist von unschätzbarem Wert, wenn Sie einige oder alle davon benötigen. Unabhängig davon, ob Sie die Ausgabe im Standardformat lesen oder Ihre eigenen Abfragen erstellen, die stat
Befehl gibt Ihnen einfachen Zugriff auf die Daten über Ihre Daten.