GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

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>t

Wä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 von stat 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.


Linux
  1. Überprüfen Sie Java-Prozesse unter Linux mit dem Befehl jps

  2. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  3. Erste Schritte mit dem Linux-tac-Befehl

  4. Kopieren und Einfügen in der Linux-Befehlszeile mit xclip

  5. Wesentliche Beispiele für den Dateibefehl in Linux

Beispiele für Linux-Stat-Befehle

Verwendung des Linux-mv-Befehls mit Beispielen

Sichern Sie Linux mit der Sudoers-Datei

Linux-Mount-Befehl mit Beispielen

gawk Linux-Befehl mit Beispielen

Linux-make-Befehl mit Beispielen