Übersicht
Der Befehl `stat` zeigt die inode-Informationen (Metadaten) einer Datei an. Die Option `-c` ermöglicht es, diese Informationen in einem vom Benutzer definierten Format auszugeben, was für die Extraktion bestimmter Attribute oder die Kombination mit anderen Befehlen geeignet ist.
Hauptmerkmale
- Abrufen detaillierter Metadaten von Dateien und Dateisystemen
- Unterstützung für benutzerdefinierte Ausgabeformate über die Option `-c`
- Nützlich für Skripte und Automatisierungsaufgaben
- Zugriff auf verschiedene Dateiattribute (Größe, Berechtigungen, Eigentümer, Zeiten usw.)
Wichtige Optionen
Dies sind die wichtigsten Format-Spezifizierer, die mit der Kernoption `-c` des Befehls `stat` verwendet werden.
Format-Spezifizierungsoptionen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`stat` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Beispiele für die Ausgabe von Dateiinformationen in verschiedenen Formaten unter Verwendung der Option `stat -c`.
Ausgabe von Dateiname und Größe
stat -c '%n %s' my_file.txt
Gibt den Namen und die Größe der angegebenen Datei aus, getrennt durch ein Leerzeichen.
Ausgabe von Dateityp und Berechtigungen
stat -c '%F %A' my_script.sh
Gibt den Typ der Datei und die Berechtigungen in einem für Menschen lesbaren Format aus.
Ausgabe von Eigentümer, Gruppe und letzter Änderungszeit
stat -c 'Owner: %U, Group: %G, Modified: %y' my_document.pdf
Gibt den Namen des Dateieigentümers, den Gruppennamen und die letzte Änderungszeit zusammen mit bestimmten Zeichenfolgen aus.
Überprüfung des Ziels eines symbolischen Links
stat -c '%N' my_symlink
Im Falle eines symbolischen Links wird der Pfad zur verknüpften Originaldatei ausgegeben.
Ausgabe von Namen und Größe aller Dateien/Verzeichnisse im aktuellen Verzeichnis
stat -c '%n %s' *
Verwendet Wildcards, um den Namen und die Größe aller Elemente im aktuellen Verzeichnis auszugeben.
Tipps & Hinweise
Tipps und zu beachtende Punkte für die effektivere Nutzung von `stat -c`.
Verwendung von Anführungszeichen
Wenn die FORMAT-Zeichenfolge Leerzeichen oder Sonderzeichen enthält, müssen Sie sie in einfache (') oder doppelte ("") Anführungszeichen setzen, damit die Shell sie nicht als separate Argumente interpretiert.
- Einfache Anführungszeichen ('): Nützlich, um die Variablenerweiterung zu verhindern und die Zeichenfolge unverändert zu übergeben.
- Doppelte Anführungszeichen ("): Wird verwendet, um Zeichenfolgen zu gruppieren und gleichzeitig die Variablenerweiterung zuzulassen.
Zeitformate
Zeitbezogene Spezifizierer (%x, %y, %z) geben standardmäßig ein für Menschen lesbares Format aus. Verwenden Sie %X, %Y, %Z, um Zeitstempel in Sekunden zu erhalten.
Kombination mit dem find-Befehl
find . -maxdepth 1 -type f -exec stat -c '%n %s' {} \;
Sie können die Option `-exec` des `find`-Befehls verwenden, um `stat -c` für Dateien auszuführen, die bestimmten Kriterien entsprechen.
Betriebssystemspezifische Unterschiede
Einige Format-Spezifizierer können je nach Betriebssystem oder `stat`-Version unterschiedlich funktionieren oder nicht unterstützt werden. Zum Beispiel wird der Spezifizierer `%w` (Erstellungszeit) unter Linux im Allgemeinen nicht unterstützt und ist nur unter macOS/BSD verfügbar.
- Linux: Verwendet hauptsächlich die `stat`-Version, die im Paket `coreutils` enthalten ist.
- macOS/BSD: Einige Format-Spezifizierer (z.B. `%w`) können sich anders verhalten.