Advertisements

Überprüfen Sie den Dateistatus unter Linux mit dem Befehl stat

Die stat Befehl, im GNU . enthalten coreutils Paket bietet eine Vielzahl von Metadaten, einschließlich Dateigröße, Inode-Speicherort, Zugriffsberechtigungen und SELinux-Kontext sowie Erstellungs- und Änderungszeiten zu Dateien und Dateisystemen. Dies ist eine bequeme Möglichkeit, Informationen zu sammeln, für die Sie normalerweise mehrere verschiedene Befehle benötigen.

stat unter Linux installieren

Unter Linux haben Sie wahrscheinlich bereits die stat -Befehl installiert, da er Teil eines zentralen Dienstprogrammpakets ist, das im Allgemeinen standardmäßig mit Linux-Distributionen gebündelt ist.

Falls Sie nicht haben stat installiert, können Sie installieren coreutils mit Ihrem Paketmanager.

Alternativ können Sie Coreutils aus dem Quellcode kompilieren.

Abrufen des Status einer Datei

Laufen stat bietet eine leicht lesbare Ausgabe über eine bestimmte Datei oder ein bestimmtes Verzeichnis.

$ stat planets.xml
  File: planets.xml
  Size: 325      Blocks: 8     IO Block: 4096   regular file
Device: fd03h/64771d    Inode: 140217      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (1000/tux)   Gid: (100/users)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2021-08-17 18:26:57.281330711 +1200
Modify: 2021-08-17 18:26:58.738332799 +1200
Change: 2021-08-17 18:26:58.738332799 +1200
 Birth: 2021-08-17 18:26:57.281330711 +1200

Es mag leicht zu lesen sein, aber es sind immer noch viele Informationen. Hier ist was stat deckt ab:

  • Datei: der Dateiname
  • Größe: die Dateigröße in Byte
  • Blöcke: die Anzahl der Blöcke auf der Festplatte, die für diese Datei reserviert sind
  • E/A-Block: die Größe eines Blocks des Dateisystems
  • normale Datei: der Dateityp (reguläre Datei, Verzeichnis, Dateisystem)
  • Gerät: das Gerät, auf dem sich die Datei befindet
  • Inode: die Inode-Nummer, in der sich die Datei befindet
  • Links: die Anzahl der Links zur Datei
  • Zugriff, UID, GID: Dateiberechtigungen, Benutzer und Gruppenbesitzer
  • Kontext: SELinux-Kontext
  • Zugriff, Änderung, Änderung, Geburt: der Zeitstempel, wann auf die Datei zugegriffen, geändert, der Status geändert und erstellt wurde

Kurze Ausgabe

Für Leute, die die Ausgabe gut kennen oder die Ausgabe mit anderen Dienstprogrammen wie awk analysieren möchten, gibt es die --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:user_home_t:s0

Wählen Sie Ihr eigenes Format

Sie können Ihr eigenes Ausgabeformat mit dem --printf -Option und eine Syntax ähnlich wie printf. Jedes Attribut gemeldet von stat hat eine Formatfolge (%C für SELinux-Kontext, %n für Dateinamen usw.), damit Sie auswählen können, was in einem Bericht angezeigt werden soll.

$ stat --printf="%nn%Cn" planets.xml
planets.xml
unconfined_u:object_r:user_home_t:s0
$ $ stat --printf="Name: %nnModified: %yn" planets.xml
Name: planets.xml
Modified: 2021-08-17 18:26:58.738332799 +1200

Weitere Linux-Ressourcen

Hier sind einige gängige Formatsequenzen:

  • %ein Zugangsrechte
  • %F Dateityp
  • %n Dateiname
  • % U Nutzername
  • % u Benutzeridentifikation
  • %g Gruppen-ID
  • %w Zeit der Geburt
  • %und Änderungszeit

Eine vollständige Auflistung der Formatsequenzen finden Sie im stat man-Seite und die coreutils Info-Seiten.

Dateiinformationen

Wenn Sie jemals versucht haben, die Ausgabe von zu analysieren ls -l, dann werden Sie die Flexibilität des stat Befehl. Sie benötigen nicht immer jedes Bit der Standardinformationen, die stat bietet, aber der Befehl ist von unschätzbarem Wert, wenn Sie ihn ganz oder teilweise 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.

Überprüfen Sie den Dateistatus unter Linux mit dem Befehl stat

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top