Wir haben kürzlich chattr besprochen, einen Befehl, mit dem Sie Dateiattribute in einem Linux-Dateisystem ändern können. Um Dateiattribute aufzulisten, gibt es einen separaten Befehl namens lsattr . In diesem Tutorial werden wir dieses Tool anhand einiger leicht verständlicher Beispiele besprechen.
Aber bevor wir das tun, ist es erwähnenswert, dass alle in diesem Artikel erwähnten Beispiele auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.
Linux-lsattr-Befehl
Wie bereits im Einführungsteil oben erwähnt, listet der Befehl lsattr in Linux Dateiattribute auf stdout auf. Es folgt die Syntax:
lsattr [ -RVadlpv ] [ files... ]
So wird es in der Manpage des Tools definiert:
lsattr lists the file attributes on a second extended file system.
Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Befehl funktioniert.
Q1. Wie verwende ich den Befehl lsattr?
Die grundlegende Verwendung ist recht einfach. Führen Sie einfach „lsattr“ ohne Befehlszeilenoptionen aus. Natürlich müssen Sie einen Dateinamen als Eingabe angeben.
Hier ist ein Beispiel:
lsattr file1.txt
Und hier ist die Ausgabe:
--------------e--- file1.txt
Zusätzlich zu „e“ (in der obigen Ausgabe) können mehrere andere Buchstaben in der Ausgabe enthalten sein. Der folgende Auszug (aus der Chattr-Manpage) sollte Ihnen eine bessere Vorstellung geben:
The letters 'aAcCdDeijPsStTu' select the new attributes for the files:
append only (a), no atime updates (A), compressed (c), no copy on write
(C), no dump (d), synchronous directory updates (D), extent format (e),
immutable (i), data journalling (j), project hierarchy (P), secure
deletion (s), synchronous updates (S), no tail-merging (t), top of
directory hierarchy (T), and undeletable (u).
The following attributes are read-only, and may be listed by lsattr(1)
but not modified by chattr: encrypted (E), indexed directory (I), and
inline data (N).
Q2. Wie lässt man lsattr rekursiv auf Verzeichnisse arbeiten?
Dies kann mit der Befehlszeilenoption -R erfolgen.
Zum Beispiel:
lsattr -R Downloads/HTF-review/
Hier ist die Ausgabe, die der obige Befehl auf meinem System erzeugt hat:
Beachten Sie, dass Sie, wenn Sie alle Dateien in Verzeichnissen (einschließlich .) anzeigen möchten, die Befehlszeilenoption -a verwenden.
Q3. Wie bringt man lsattr dazu, Verzeichnisse als normale Dateien zu behandeln?
Wenn Sie einen Verzeichnisnamen/Pfad als Eingabe für lsattr angeben, erzeugt es standardmäßig Informationen zu Dateien, die in diesem Verzeichnis enthalten sind.
Wenn Sie jedoch möchten, können Sie lsattr zwingen, das Verzeichnis als Datei zu behandeln und Dateiattributinformationen dafür zu erzeugen. Dies können Sie mit der Befehlszeilenoption -d tun.
Q4. Wie erstellt man, dass lsattr Projekt- und Versionsnummer der Datei auflistet?
Dies kann mit den Befehlszeilenoptionen -p und -v erfolgen. Der folgende Screenshot zeigt diese beiden Optionen in Aktion:
Schlussfolgerung
Zugegeben, lsattr fällt vielleicht nicht in die Kategorie der am häufigsten verwendeten Befehle, aber wenn Sie chattr verwenden, dann ist es ein Befehl, den Sie kennen müssen. Hier, in diesem Tutorial, haben wir die meisten der angebotenen Befehlszeilenoptionen besprochen. Um mehr über den Befehl lsattr zu erfahren, besuchen Sie seine Manpage.