So verwenden Sie den stat-Befehl unter Linux

Fatmawati Achmad Zaenuri/Shutterstock.com
Das Linux |_+_| Befehl zeigt Ihnen viel mehr Details als |_+_| tut. Werfen Sie mit diesem informativen und konfigurierbaren Dienstprogramm einen Blick hinter die Kulissen. Wir zeigen Ihnen, wie Sie es verwenden.
stat führt Sie hinter die Kulissen
Die |_+_| Command ist großartig in dem, was es tut – und es tut viel –, aber mit Linux scheint es immer einen Weg zu geben, tiefer zu gehen und zu sehen, was unter der Oberfläche liegt. Und oft geht es nicht nur darum, den Rand des Teppichs anzuheben. Sie können die Dielen aufreißen und dann ein Loch graben. Sie können Linux wie eine Zwiebel schälen.

|_+_| zeigt Ihnen viele Informationen zu einer Datei an, z. B. welche Berechtigungen für sie festgelegt sind und wie groß sie ist, und ob es sich um eine Datei oder einen symbolischen Link handelt . Um diese Informationen anzuzeigen |_+_| liest es aus a Dateisystemstruktur namens Inode .
Jede Datei und jedes Verzeichnis hat einen Inode. Die Inode hält Metadaten zur Datei , z. B. welche Dateisystemblöcke es belegt, und die mit der Datei verknüpften Datumsstempel. Der Inode ist wie ein Bibliotheksausweis für die Datei. Aber |_+_| zeigt Ihnen nur einige der Informationen an. Um alles zu sehen, müssen wir |_+_| . verwenden Befehl.
Gefällt mir |_+_| , die |_+_| Befehl hat viele Optionen. Dies macht es zu einem großartigen Kandidaten für die Verwendung von Aliasen. Sobald Sie einen bestimmten Satz von Optionen entdeckt haben, die |_+_| Geben Sie die gewünschte Ausgabe, wickeln Sie es in eine Alias- oder Shell-Funktion ein . Dies macht die Verwendung viel bequemer, und Sie müssen sich keine geheimnisvollen Befehlszeilenoptionen merken.
VERBUNDEN: So verwenden Sie den ls-Befehl zum Auflisten von Dateien und Verzeichnissen unter Linux
Ein schneller Vergleich
Verwenden wir |_+_| um uns eine lange Liste ( |_+_| Option) mit lesbaren Dateigrößen ( |_+_| Option) zu geben:
stat
Von links nach rechts liefert ls folgende Informationen:
- Das allererste Zeichen ist ein Bindestrich - und dies sagt uns, dass die Datei eine normale Datei ist und kein Socket, Symlink oder ein anderer Objekttyp.
- Der Besitzer, die Gruppe und andere Berechtigungen sind im Oktalformat aufgelistet .
- Die Anzahl der Hardlinks, die auf diese Datei verweisen. In diesem Fall und in den meisten Fällen wird es einer sein.
- Der Dateibesitzer ist Dave.
- Der Gruppenbesitzer ist Dave.
- Die Dateigröße beträgt 802 Byte.
- Die Datei wurde zuletzt am Freitag, den 13. Dezember 2015 geändert.
- Der Dateiname ist |_+_|.
Werfen wir einen Blick auf |_+_| :
ls
Die Informationen, die wir von |_+_| . erhalten ist:
- & rsaquo; Alles, was Sie schon immer über Inodes unter Linux wissen wollten
- › 5 Websites, die jeder Linux-Benutzer mit einem Lesezeichen versehen sollte
- & rsaquo; Cyber Monday 2021: Die besten Tech-Deals
- & rsaquo; Cyber Monday 2021: Die besten Apple-Angebote
- › So finden Sie Ihr Spotify Wrapped 2021
- › Der Computerordner ist 40: Wie Xerox Star den Desktop erstellte
- › Funktionen vs. Formeln in Microsoft Excel: Was ist der Unterschied?
Verstehen der Zeitstempel
Die Zeitstempel sind zeitzonensensitiv. Die |_+_| am Ende jeder Zeile zeigt an, dass diese Datei auf einem Computer in a . erstellt wurde abgestimmte Weltzeit (UTC) Zeitzone, die der Zeitzone des aktuellen Computers fünf Stunden voraus ist. Dieser Computer liegt also fünf Stunden hinter dem Computer zurück, der diese Datei erstellt hat. Tatsächlich wurde die Datei auf einem Computer in der britischen Zeitzone erstellt, und wir betrachten sie hier auf einem Computer in der Zeitzone US Eastern Standard.
Die Änderungs- und Änderungszeitstempel können Verwirrung stiften, da ihre Namen für den Uneingeweihten so klingen, als ob sie dasselbe bedeuten würden.
Verwenden wir |_+_| um die Dateiberechtigungen für eine Datei namens |_+_| zu ändern. Wir werden es für alle beschreibbar machen. Dies wirkt sich nicht auf den Inhalt der Datei aus, jedoch auf die Attribute der Datei.
ls
Und dann verwenden wir |_+_| um die Zeitstempel zu sehen:
ls
Der Änderungszeitstempel wurde aktualisiert, der geänderte jedoch nicht.
Der geändert Der Zeitstempel wird nur aktualisiert, wenn der Inhalt der Datei geändert wird. Der Veränderung Der Zeitstempel wird sowohl für Inhaltsänderungen als auch für Attributänderungen aktualisiert.
Statistik mit mehreren Dateien verwenden
Um einen Statistikbericht für mehrere Dateien gleichzeitig zu erhalten, übergeben Sie die Dateinamen an |_+_| auf der Kommandozeile:
ls
Um |_+_| . zu verwenden Verwenden Sie für eine Reihe von Dateien den Mustervergleich. Das Fragezeichen? steht für ein beliebiges einzelnes Zeichen, und das Sternchen * steht für eine beliebige Zeichenfolge. Wir können |_+_| . sagen um über eine Datei namens ana mit einer einzelnen Buchstabenerweiterung zu berichten, mit diesem Befehl:
ls
Verwenden von stat zum Erstellen von Berichten über Dateisysteme
|_+_| kann über den Status von Dateisystemen sowie den Status von Dateien berichten. Die |_+_| (Dateisystem) Option sagt |_+_| um über das Dateisystem zu berichten, auf dem sich die Datei befindet. Beachten Sie, dass wir auch ein Verzeichnis wie / an |_+_| . übergeben können anstelle eines Dateinamens.
stat
Die Informationen |_+_| gibt uns ist:
Blöcke:
Inoden:
Dereferenzieren symbolischer Links
Wenn Sie |_+_| . verwenden Bei einer Datei, die eigentlich ein symbolischer Link ist, wird über den Link berichtet. Wenn du wolltest |_+_| um über die Datei zu berichten, auf die der Link verweist, verwenden Sie |_+_| (Dereferenzierung) Option. Die Datei |_+_| ist ein symbolischer Link zu |_+_| . Betrachten wir es ohne das |_+_| Möglichkeit:
ls
Der Dateiname zeigt |_+_| zeigt auf ( |_+_| ) |_+_|. Die Dateigröße beträgt nur 11 Byte. Es gibt null Blöcke, die dem Speichern dieses Links gewidmet sind. Der Dateityp wird als symbolischer Link aufgeführt.
Offensichtlich betrachten wir hier nicht die eigentliche Datei. Machen wir das noch einmal und fügen die |_+_| . hinzu Möglichkeit:
stat
Dies zeigt nun die Dateidetails für die Datei an, auf die durch den symbolischen Link verwiesen wird. Beachten Sie jedoch, dass der Dateiname immer noch als |_+_| angegeben wird. Dies ist der Name des Links, nicht die Zieldatei. Dies geschieht, weil dies der Name ist, den wir an |_+_| . übergeben haben auf der Kommandozeile.
Der knappe Bericht
Die |_+_| (kurze) Option verursacht |_+_| um eine komprimierte Zusammenfassung zu geben:
stat
Es werden keine Hinweise gegeben. Um dies zu verstehen – bis Sie sich die Halbbildsequenz auswendig gelernt haben – müssen Sie diese Ausgabe mit einem vollständigen |_+_| . querverweisen Ausgang.
Benutzerdefinierte Ausgabeformate
Eine bessere Möglichkeit, einen anderen Datensatz von |_+_| . zu erhalten ist die Verwendung eines benutzerdefinierten Formats. Es gibt eine lange Liste von Token, die als Formatsequenzen bezeichnet werden. Jedes davon repräsentiert ein Datenelement. Wählen Sie diejenigen aus, die Sie in die Ausgabe aufnehmen möchten, und erstellen Sie eine Formatzeichenfolge. Wenn wir |_+_| . anrufen und übergeben Sie ihm die Formatzeichenfolge, enthält die Ausgabe nur die von uns angeforderten Datenelemente.
AnzeigeEs gibt verschiedene Sätze von Formatsequenzen für Dateien und Dateisysteme. Die Liste für Dateien lautet:
Die Epoche ist die Unix-Epoche , das am 01.01.1970 00:00:00 +0000 (UTC) stattfand.
Für Dateisysteme sind die Formatfolgen:
Es gibt zwei Optionen, die Zeichenfolgen von Formatsequenzen akzeptieren. Dies sind |_+_| und |_+_|. Der Unterschied zwischen ihnen ist |_+_| interpretiert Escape-Sequenzen im C-Stil wie Zeilenumbruch |_+_| und Registerkarte |_+_| , und es fügt seiner Ausgabe nicht automatisch ein Zeilenumbruchzeichen hinzu.
Erstellen wir einen Formatstring und übergeben ihn an |_+_|. Die zu verwendenden Formatfolgen sind |_+_| für Dateiname, |_+_| für die Größe der Datei und |_+_| für den Dateityp. Wir werden die |_+_| . hinzufügen Escape-Sequenz bis zum Ende des Strings, um sicherzustellen, dass jede Datei in einer neuen Zeile behandelt wird. Unser Formatstring sieht so aus:
ls
Wir werden dies an |_+_| . weitergeben mit dem |_+_| Möglichkeit. Wir fragen |_+_| über eine Datei namens |_+_| . berichten und eine Reihe von Dateien, die mit |_+_| übereinstimmen. Dies ist der vollständige Befehl. Beachten Sie das Gleichheitszeichen |_+_| zwischen |_+_| und die Formatzeichenfolge:
-l
Der Bericht für jede Datei wird in einer neuen Zeile aufgeführt, was wir angefordert haben. Der Dateiname, die Dateigröße und der Dateityp werden uns zur Verfügung gestellt.
AnzeigeBenutzerdefinierte Formate ermöglichen Ihnen den Zugriff auf noch mehr Datenelemente als im Standard enthalten sind |_+_| Ausgang.
Feinkornkontrolle
Wie Sie sehen, gibt es enorme Möglichkeiten, die für Sie interessanten Datenelemente zu extrahieren. Sie können wahrscheinlich auch sehen, warum wir die Verwendung von Aliasnamen für die längeren und komplexeren Beschwörungen empfohlen haben.
VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten
WEITER LESEN
Dave McKay benutzte zum ersten Mal Computer, als Lochstreifen in Mode waren, und programmiert seitdem. Nach über 30 Jahren in der IT-Branche ist er heute hauptberuflich Technologiejournalist. Im Laufe seiner Karriere war er als freiberuflicher Programmierer, Leiter eines internationalen Softwareentwicklungsteams, Projektleiter für IT-Services und zuletzt als Datenschutzbeauftragter tätig. Sein Schreiben wurde von howtogeek.com, cloudavvyit.com, itenterpriser.com und opensource.com veröffentlicht. Dave ist ein Linux-Evangelist und Open-Source-Verfechter.
Vollständige Biografie lesen