Linux ls Befehl: Dateien und Verzeichnisse auflisten
Der ls-Befehl in Linux zeigt eine Liste von Dateien und Unterverzeichnissen in einem Verzeichnis an. Mit ls -la können Sie detaillierte Informationen einschließlich versteckter Elemente, Berechtigungen, Besitzer, Größe und Änderungszeit sehen.
Listen Sie das aktuelle Verzeichnis oder einen angegebenen Pfad auf
Die Ausführung des folgenden Befehls im Terminal zeigt die Elemente im aktuellen Arbeitsverzeichnis an. Der aktuelle Speicherort kann mit pwd überprüft werden.
pwd
ls
Um den Inhalt eines anderen Verzeichnisses anzuzeigen, geben Sie den Pfad an. Sie können sowohl absolute Pfade als auch relative Pfade basierend auf dem aktuellen Speicherort verwenden.
ls /var
Standardmäßig werden versteckte Elemente, deren Namen mit einem Punkt beginnen, von der Liste ausgeschlossen. Der Name und die Anzeigereihenfolge hängen vom System und den Ländereinstellungen ab. ls ist ein Befehl, um die Liste zu lesen, und löscht oder ändert keine Dateien.
Versteckte Elemente und detaillierte Informationen anzeigen
-a enthält Namen, die mit einem Punkt beginnen, und -l zeigt im detaillierten Format an. Sie können beide Optionen zusammen verwenden.
ls -a
ls -l
ls -la
ls -a zeigt auch . für das aktuelle Verzeichnis und .. für das übergeordnete Verzeichnis an. GNU ls -A zeigt versteckte Elemente an, lässt diese beiden Einträge jedoch weg. Um Größen in menschenlesbaren Einheiten anzuzeigen, fügen Sie -h zur detaillierten Liste hinzu.
ls -lah
Zum Beispiel kann es wie 1K, 2M angezeigt werden. Die Ausgabe variiert je nach den Ziel-Dateien und den Systemeinstellungen.
Eine detaillierte Liste lesen
Im Folgenden ein Beispiel, das eine normale Datei zeigt. Datumsformat, Namen und Zahlen variieren je nach der tatsächlichen Umgebung.
-rw-r--r-- 1 user group 12 Jan 15 10:30 notes.txt
-rw-r--r--: Das erste Zeichen-ist eine normale Datei, und der Rest gibt die Berechtigungen für den Eigentümer, die Gruppe und andere an. Wenn es mitdbeginnt, ist es ein Verzeichnis; wenn es mitlbeginnt, ist es ein symbolischer Link.1 user group: Anzahl der Hardlinks, Eigentümer und besitzende Gruppe.12: Dateigröße (in Bytes) in der grundlegenden Detailauflistung. Mit der Verwendung von-hwird sie in eine leicht lesbare Einheit umgewandelt.Jan 15 10:30 notes.txt: Standardmäßig die letzte Änderungszeit und der Name. Das Ausgabeformat hängt von der Gebietsschema-Einstellung und den Optionen ab.
Die Größenangabe eines Verzeichnisses ist nicht die Summe der darin enthaltenen Dateigrößen. Um die Speichernutzung des gesamten Verzeichnisses zu überprüfen, verwenden Sie ein Werkzeug wie du. Das Ziel eines Links wird in der detaillierten Liste normalerweise in name -> target-Form angezeigt.
Überprüfung der Sortierung und des Verzeichnisses selbst
-t sortiert standardmäßig nach dem neuesten Änderungsdatum. Die Verwendung von -r zusammen kehrt die Reihenfolge um.
ls -lt
ls -ltr
Um die Berechtigungen und den Eigentümer des Verzeichnisses selbst zu überprüfen, nicht die darin enthaltene Liste, verwenden Sie -d.
ls -ld /var
-R listet auch Unterverzeichnisse rekursiv auf, daher kann die Ausgabe bei großen Verzeichnisbäumen sehr umfangreich sein. Siehe GNU ls Handbuch oder man ls für detaillierte Bedeutungen der Optionen.
Einschränken der Liste mit einem Namensmuster
In Bash ist das Sternchen * ein Namensmuster, das null oder mehr Zeichen entspricht. Der folgende Befehl findet Elemente in /etc, deren Namen mit .conf enden.
ls -d /etc/*.conf
Die Shell erweitert zuerst Namen, die dem Muster entsprechen, und übergibt sie dann an ls. Da -d eingegeben wurde, wird der Verzeichnisname selbst angezeigt, auch wenn ein übereinstimmendes Element ein Verzeichnis ist. In typischen Bash-Einstellungen stimmen versteckte Elemente, die mit einem Punkt beginnen, nicht automatisch überein. Wenn keine übereinstimmenden Namen vorhanden sind, kann das Ergebnis je nach Shell-Optionen variieren, wie zum Beispiel ein Fehler oder dass das Muster unverändert übergeben wird.
Wenn der Pfad Leerzeichen enthält, setzen Sie den Pfad in Anführungszeichen wie ls "my folder". Im Allgemeinen, wenn Sie sogar das Muster in Anführungszeichen setzen, erweitert die Shell das Sternchen nicht. Details finden Sie im Dokument Bash zur Dateinamens-Erweiterung.
Überprüfung von Festplattenlaufwerken und Fehlern
ls -l /dev/sd* kann Gerätedateien auflisten, deren Namen mit sd beginnen. Allerdings verwenden nicht alle Festplatten und Partitionen diesen Namen. Andere Geräte, wie NVMe, fehlen möglicherweise in der Liste, daher ist es angemessener, lsblk zu verwenden, wenn Blockgeräte und deren Hierarchie untersucht werden.
lsblk
Wenn die Liste nicht angezeigt wird oder Permission denied erscheint, überprüfen Sie das Vorhandensein des Pfads und die Zugriffsrechte. Wenn die Ausgabe von dem abweicht, was Sie erwarten, überprüfen Sie das Shell-Alias als type ls und sehen Sie sich auch die Optionsbeschreibungen der Distribution und ls --help an.




