Überblick über stat
`stat` Befehl zeigt nicht den Inhalt der Datei oder des Verzeichnisses selbst an, sondern die Metadaten, die das Dateisystem speichert, um das Objekt zu verwalten. Es bietet viel detailliertere Informationen als `ls -l`, wie den Zeitpunkt der Erstellung, den letzten Änderungszeitpunkt und die Zugriffsanzahl, was bei der Analyse von Änderungsverläufen oder Zugriffsmustern nützlich ist.
Wichtige Funktionen von stat
`stat` Befehl wird hauptsächlich für folgende Zwecke verwendet:
Hauptanwendungsbereiche
- **Überprüfung von Datei-Eigenschaften**: Überprüfen Sie die Eigentumsverhältnisse, Berechtigungen, Größen usw. genau.
- **Analyse von Zeitstempeln**: Verfolgen Sie die Änderungshistorie von Dateien, indem Sie verschiedene Zeitinformationen wie Erstellungs-, letzte Änderungs- und Zugriffszeiten überprüfen.
- **Informationen zu symbolischen Links**: Überprüfen Sie sowohl den Zielpfad des symbolischen Links als auch die Informationen des Links selbst.
- **Dateisystem-Debugging**: Diagnostizieren Sie Probleme im Dateisystem durch Überprüfung der Datenträgernutzung, Blockzuweisung, Inode-Informationen usw.
Verständnis der stat-Ausgabeinformationen
`stat` Befehl liefert eine Ausgabe, die aus verschiedenen Elementen besteht. Es ist wichtig, die Bedeutung jedes Elements zu verstehen.
Wichtige Ausgabeelemente
- File: Der Name der Ziel-Datei oder des Verzeichnisses.
- Size: Die Größe der Datei (in Bytes). Für Verzeichnisse wird normalerweise 4096 Bytes angezeigt.
- Blocks: Die Anzahl der 512-Byte-Blöcke, die die Datei auf der Festplatte belegt.
- IO Block: Die effiziente Blockgröße für I/O-Operationen für die Datei.
- Type: Gibt den Typ der Datei an, z.B.: reguläre Datei, Verzeichnis, symbolischer Link usw.
- Device: Die ID des Geräts (major:minor), auf dem sich die Datei befindet.
- Inode: Die eindeutige Kennung der Datei im Dateisystem, die Inode-Nummer. Harte Links teilen sich dieselbe Inode.
- Links: Die Anzahl der harten Links zu dieser Datei.
- Access: Die Berechtigungen der Datei (in oktaler und rwx-Format).
- Uid / Gid: Die Benutzer-ID (User ID) und die Gruppen-ID (Group ID) des Besitzers der Datei sowie ihre Namen.
- Access / Modify / Change: `Access`: Letzte Zugriffszeit (atime), `Modify`: Letzte Änderungszeit (mtime), `Change`: Letzte Änderungszeit (ctime). 'Birth' ist die Erstellungszeit (crtime), die möglicherweise nicht von allen Dateisystemen unterstützt wird.
Hauptoptionen des stat-Befehls
`stat` Befehl bietet mehrere nützliche Optionen, um das Ausgabeformat zu bestimmen oder die Behandlung von symbolischen Links zu ändern.
1. Grundlegende Ausgabewahl
2. Optionen zur Behandlung von symbolischen Links
3. Optionen zur Angabe des Ausgabeformats
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.
Beispiele
Erfahren Sie, wie Sie die detaillierten Eigenschaften von Dateien/Verzeichnissen mithilfe verschiedener Anwendungsbeispiele des `stat` Befehls überprüfen und analysieren können.
Alle Informationen zu einer einzelnen Datei überprüfen
stat config.ini
Gibt alle detaillierten Informationen zur Datei `config.ini`, einschließlich Größe, Berechtigungen, Eigentümer, Zeitstempel usw. aus.
Informationen über den symbolischen Link selbst überprüfen
stat -P mylink.sh
Wenn `mylink.sh` ein symbolischer Link auf `actual_script.sh` ist, gibt es Informationen über `mylink.sh` selbst aus. (Größe, Eigentümer usw. der Link-Datei)
Informationen über die Originaldatei, auf die der symbolische Link verweist, überprüfen
stat -L mylink.sh
Wenn `mylink.sh` ein symbolischer Link auf `actual_script.sh` ist, gibt es Informationen über die Datei `actual_script.sh` aus.
Nur bestimmte Informationen im benutzerdefinierten Format ausgeben
stat -c '%n %s %y' my_document.txt
Gibt nur den Namen, die Größe (in Bytes) und die letzte Änderungszeit (YYYY-MM-DD HH:MM:SS) der Datei `my_document.txt` aus.
Informationen über das Dateisystem abrufen, zu dem die Datei gehört
stat --file-system /var/log
Überprüft die Informationen über den Typ, die Blockgröße und den Einhängepunkt des Dateisystems, in dem sich das Verzeichnis `/var/log` befindet.
Unix-Zeitstempel (mtime) der Datei überprüfen
stat -c '%Y' important_data.csv
Nützlich, wenn Sie die Änderungszeit einer Datei als Unix-Zeitstempel (Sekunden) in einem Skript abrufen und verwenden möchten.