Der Befehl ls zeigt den Inhalt von Verzeichnissen an. Er gehört zu den grundlegenden Werkzeugen, die du auf der Kommandozeile täglich verwendest.
Syntax
ls [OPTIONEN] [VERZEICHNIS...]
OPTIONEN– Flags, die die Ausgabe beeinflussen.VERZEICHNIS– Das Verzeichnis, dessen Inhalt angezeigt werden soll. Ohne Angabe wird das aktuelle Arbeitsverzeichnis verwendet.
Grundlegende Verwendung
Ohne Optionen listet ls alle sichtbaren Dateien im aktuellen Verzeichnis auf:
ls
Die Ausgabe erscheint alphabetisch sortiert in mehreren Spalten:
cache db empty games lib local lock log mail opt run spool tmp
Um den Inhalt eines bestimmten Verzeichnisses anzuzeigen, gibst du den Pfad als Argument an:
ls /etc
Du kannst auch mehrere Verzeichnisse gleichzeitig angeben:
ls /etc /var /usr
Falls du keine Leseberechtigung für ein Verzeichnis hast, gibt ls eine Fehlermeldung aus:
ls /root
ls: Zugriff auf '/root' nicht möglich: Keine Berechtigung
Detaillierte Ausgabe mit -l
Die Option -l zeigt Dateien im Langformat mit zusätzlichen Informationen:
ls -l /etc/hosts
-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
Die Spalten bedeuten von links nach rechts:
| Spalte | Bedeutung |
|---|---|
-rw-r--r-- | Dateityp und Berechtigungen |
1 | Anzahl der Hardlinks |
root | Besitzer |
root | Gruppe |
337 | Dateigröße in Bytes |
Oct 4 11:31 | Letzte Änderung |
/etc/hosts | Dateiname |
Dateitypen erkennen
Das erste Zeichen zeigt den Dateityp:
| Zeichen | Typ |
|---|---|
- | Reguläre Datei |
d | Verzeichnis |
l | Symbolischer Link |
b | Blockgerät |
c | Zeichengerät |
s | Socket |
p | Named Pipe (FIFO) |
Berechtigungen lesen
Die neun Zeichen nach dem Dateityp zeigen die Berechtigungen für Besitzer, Gruppe und andere:
r– Lesenw– Schreibenx– Ausführen-– Keine Berechtigung
Bei -rw-r--r-- kann der Besitzer lesen und schreiben, alle anderen nur lesen.
Versteckte Dateien anzeigen
Dateien, die mit einem Punkt beginnen, sind versteckt und werden standardmäßig nicht angezeigt. Mit -a machst du sie sichtbar:
ls -la ~/
drwxr-x--- 10 user user 4096 Feb 12 16:28 .
drwxr-xr-x 18 user user 4096 Dec 26 09:21 ..
-rw------- 1 user user 1630 Nov 18 2024 .bash_history
drwx------ 2 user user 4096 Mar 4 2024 .ssh
drwxr-xr-x 2 user user 4096 Jul 20 2024 Desktop
Die Einträge . und .. stehen für das aktuelle bzw. übergeordnete Verzeichnis.
Menschenlesbare Dateigrößen
Die Option -h zeigt Dateigrößen in KB, MB oder GB statt in Bytes:
ls -lh /var/log/
-rw-r----- 1 root adm 12M Jan 15 08:00 syslog
-rw-r----- 1 root adm 1,2G Jan 14 23:59 syslog.1
Sortierung ändern
Standardmäßig sortiert ls alphabetisch. Diese Optionen ändern die Sortierung:
| Option | Sortierung |
|---|---|
-t | Nach Änderungszeit (neueste zuerst) |
-S | Nach Größe (größte zuerst) |
-X | Nach Dateiendung |
-r | Reihenfolge umkehren |
Die neuesten Dateien am Ende anzeigen:
ls -ltr /var/log/
Rekursive Auflistung
Mit -R zeigt ls auch den Inhalt aller Unterverzeichnisse:
ls -R /etc/apt/
Für einen besseren Überblick über Verzeichnisstrukturen eignet sich der Befehl tree besser, falls installiert.
Nur Verzeichnisse anzeigen
Mit der Option -d in Kombination mit einem Glob-Muster listest du nur Verzeichnisse auf:
ls -ld */
Praktische Kombinationen
Die gängigsten Optionen im täglichen Einsatz:
# Alle Dateien mit Details und lesbaren Größen
ls -lah
# Die größten Dateien zuerst
ls -lhS
# Zuletzt geänderte Dateien am Ende
ls -ltr
# Nur Verzeichnisse
ls -d */
Zusammenfassung
| Option | Wirkung |
|---|---|
-l | Langformat mit Details |
-a | Versteckte Dateien anzeigen |
-h | Menschenlesbare Größen |
-t | Nach Zeit sortieren |
-S | Nach Größe sortieren |
-r | Sortierung umkehren |
-R | Rekursiv auflisten |
-d | Verzeichnisse selbst anzeigen, nicht deren Inhalt |
Für die Gesamtgröße eines Verzeichnisses verwendest du du, da ls nur die einzelnen Dateigrößen anzeigt.
Weitere Optionen findest du in der Manpage:
man ls