Website-Suche

5 „stat“-Befehlsbeispiele für Linux-Neulinge


Der stat-Befehl ist ein nützliches Dienstprogramm zum Anzeigen des Datei- oder Dateisystemstatus. Es ruft Informationen wie Dateityp ab; Zugriffsrechte in oktaler und menschenlesbarer Form; SELinux-Sicherheitskontextzeichenfolge; Zeitpunkt der Dateierstellung, letzter Zugriff, letzte Datenänderung, letzte Statusänderung sowohl in lesbarer Form als auch in Sekunden seit der Epoche und vieles mehr.

Es besteht die Möglichkeit, anstelle des Standardformats ein benutzerdefiniertes Format für die Anzeige von Informationen anzugeben. In diesem Handbuch sehen wir uns fünf Beispiele für Stat-Befehle für Linux-Neulinge an.

Überprüfen Sie den Linux-Dateistatus

1. Der einfachste Weg, stat zu verwenden, besteht darin, ihm eine Datei als Argument bereitzustellen. Der folgende Befehl zeigt die Größe, Blöcke, IO-Blöcke, Dateityp, Inode-Wert, Anzahl der Links und viele weitere Informationen zur Datei /var/log/syslog an, wie im Screenshot gezeigt:

$ stat /var/log/syslog

File: '/var/log/syslog'
  Size: 26572     	Blocks: 56         IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 8129076     Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
 Birth: -

Überprüfen Sie den Dateisystemstatus

2. Im vorherigen Beispiel behandelte der Befehl stat die Eingabedatei als normale Datei. Um jedoch den Dateisystemstatus anstelle des Dateistatus anzuzeigen, verwenden Sie die Option -f.

$ stat -f /var/log/syslog

File: "/var/log/syslog"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16012830   Available: 11700997
Inodes: Total: 21544960   Free: 20995459

Sie können wie gezeigt auch ein Verzeichnis/Dateisystem als Argument angeben.

$ stat -f /

File: "/"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16056471   Available: 11744638
Inodes: Total: 21544960   Free: 21005263

Aktivieren Sie das Verfolgen symbolischer Links

3. Da Linux Links (symbolische und harte Links) unterstützt, können bestimmte Dateien einen oder mehrere Links haben oder sogar in einer Datei vorhanden sein Dateisystem.

Damit stat Links folgen kann, verwenden Sie wie gezeigt das Flag -L.

$ stat -L /

 File: '/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 80ah/2058d	Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
 Birth: -

Verwenden Sie ein benutzerdefiniertes Format, um Informationen anzuzeigen

4. Mit stat können Sie auch ein bestimmtes oder benutzerdefiniertes Format anstelle des Standardformats verwenden. Das Flag -c wird verwendet, um das verwendete Format anzugeben. Es gibt nach jeder Verwendung der Formatsequenz eine neue Zeile aus.

Alternativ können Sie die Option --printf verwenden, die die Interpretation von Backslash-Escape-Sequenzen ermöglicht und das Drucken eines abschließenden Zeilenumbruchs deaktiviert. Sie müssen \n im Format verwenden, um beispielsweise eine neue Zeile zu drucken.

stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

Bedeutung der im obigen Beispiel verwendeten Formatsequenzen für Dateien:

  • %U – Benutzername des Eigentümers
  • %G – Gruppenname des Eigentümers
  • %C – SELinux-Sicherheitskontextzeichenfolge
  • %z – Zeitpunkt der letzten Statusänderung, für Menschen lesbar

5. Hier ist ein Beispiel, das die Verwendung akzeptierter Formatsequenzen für Dateisysteme zeigt.

stat --printf='%n\n%a\n%b\n' /

Bedeutung der im obigen Befehl verwendeten Formatsequenzen.

  • %n – zeigt den Dateinamen an
  • %a – Kostenlose Blöcke drucken, die für Nicht-Superuser verfügbar sind
  • %b – gibt die gesamten Datenblöcke im Dateisystem aus

Informationen in knapper Form drucken

6. Die Option -t kann verwendet werden, um die Informationen in knapper Form auszudrucken.

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

Als letzte Anmerkung: Ihre Shell verfügt möglicherweise über eine eigene Version von stat. Weitere Informationen zu den unterstützten Optionen finden Sie in der Dokumentation Ihrer Shell. Um alle akzeptierten Ausgabeformatsequenzen anzuzeigen, lesen Sie die Stat-Manpage.

man stat 

In diesem Artikel haben wir fünf stat-Befehlsbeispiele für Linux-Neulinge erklärt. Nutzen Sie das Feedback-Formular unten, um Fragen zu stellen.