ls — Verzeichnisinhalte auflisten
Verzeichnisinhalte mit ls anzeigen — Rechte, Eigentümer, Größe und Änderungszeit, plus Sortieren, Filtern und nützliche Optionskombinationen.
ls listet den Inhalt von Verzeichnissen auf und ist damit eines der Kommandos, das du im Terminal am häufigsten tippst. Ohne Optionen zeigt es nur die Namen, doch erst die Flags machen es richtig nützlich: -l liefert die Langform mit Rechten, Eigentümer, Größe und Änderungsdatum, -a blendet versteckte Dateien ein, -h macht Größenangaben lesbar und -t oder -S sortieren nach Zeit beziehungsweise Größe. Die hier gezeigten Optionen beziehen sich auf das GNU-ls der coreutils, wie es unter Linux Standard ist – das BSD-/macOS-ls kennt einige Flags nicht oder belegt sie anders. In der Praxis kombinierst du die Buchstaben einfach, etwa ls -lahS, und gehst über Pipes weiter zu head, wc oder grep.
Grundlagen
ls — Listet Dateien und Verzeichnisse im aktuellen Verzeichnis auf.
lsls <verzeichnis> — Listet den Inhalt eines bestimmten Verzeichnisses auf.
ls /var/logls <datei1> <datei2> — Listet bestimmte Dateien oder mehrere Pfade auf.
ls index.html style.cssls -l — Langform. Zeigt Rechte, Eigentümer, Größe und Änderungsdatum.
ls -lls -la — Langform inklusive versteckter Dateien (Dotfiles).
ls -la ~/ls -lh — Langform mit menschenlesbaren Dateigrößen (K, M, G).
ls -lh /var/log/Versteckte Dateien anzeigen
ls -a — Zeigt alle Dateien inklusive versteckter (Dotfiles), . und ..
ls -als -A — Zeigt versteckte Dateien, aber ohne die Einträge . und ..
ls -Als -d .* — Listet nur versteckte Dateien und Verzeichnisse auf.
ls -d .*Sortieren
ls -t — Sortiert nach Änderungszeit, neueste zuerst.
ls -ltls -tr — Sortiert nach Änderungszeit, älteste zuerst (umgekehrt).
ls -ltrls -S — Sortiert nach Dateigröße, größte zuerst.
ls -lShls -Sr — Sortiert nach Dateigröße, kleinste zuerst.
ls -lSrhls -X — Sortiert alphabetisch nach Dateiendung.
ls -lXls -v — Natürliche Sortierung von Versionsnummern in Dateinamen.
ls -vls -U — Nicht sortieren. Listet die Einträge in Verzeichnisreihenfolge auf.
ls -Uls -r — Kehrt die Sortierreihenfolge um.
ls -lrAnzeigeformate
ls -1 — Listet eine Datei pro Zeile auf.
ls -1ls -m — Listet Dateien als kommagetrennte Werte auf.
ls -mls -C — Listet in Spalten auf (Standard, wenn die Ausgabe ein Terminal ist).
ls -Cls -x — Listet Einträge zeilenweise statt in Spalten auf.
ls -xls -Q — Schließt Dateinamen in doppelte Anführungszeichen ein.
ls -Qls --color=auto — Färbt die Ausgabe ein. Verzeichnisse, Programme und Links erhalten eigene Farben.
ls --color=autoDatei-Informationen
ls -i — Zeigt die Inode-Nummer jeder Datei.
ls -lils -n — Langform mit numerischer UID und GID statt Namen.
ls -lnls -o — Langform ohne Gruppeninformation.
ls -ols -g — Langform ohne Eigentümerinformation.
ls -gls --full-time — Langform mit vollständigem Datum und Uhrzeit inklusive Nanosekunden.
ls --full-timels -s — Zeigt die belegte Blockgröße jeder Datei.
ls -lsVerzeichnisse & Rekursion
ls -d <verzeichnis> — Listet den Verzeichniseintrag selbst auf, nicht seinen Inhalt.
ls -ld /varls -d */ — Listet nur Verzeichnisse im aktuellen Verzeichnis auf.
ls -d */ls -R — Listet den Inhalt rekursiv durch alle Unterverzeichnisse auf.
ls -R /etc/nginxls -R <verzeichnis> | grep ':$' — Listet nur die Unterverzeichnisnamen aus der rekursiven Ausgabe auf.
ls -R /var | grep ':$'Symbolische Links
ls -l <link> — Zeigt, wohin ein symbolischer Link verweist.
ls -l /usr/bin/python3ls -L — Zeigt Informationen über das Ziel eines Symlinks, nicht über den Link selbst.
ls -lL /usr/bin/python3ls -F — Hängt ein Kennzeichen an die Einträge: / Verzeichnis, @ Symlink, * ausführbar.
ls -Fls -p — Hängt das Kennzeichen / nur an Verzeichnisse an.
ls -pFiltern mit Globs
ls *.txt — Listet alle Dateien mit der Endung .txt auf.
ls *.txtls *.{jpg,png,gif} — Listet Dateien mehrerer Endungen per Klammer-Expansion auf.
ls -lh *.{jpg,png,gif}ls [A-Z]* — Listet Dateien auf, die mit einem Großbuchstaben beginnen.
ls [A-Z]*ls -I '<muster>' — Schließt Dateien, die auf ein Muster passen, von der Auflistung aus.
ls -I '*.bak' -I '*.tmp'ls --hide='<muster>' — Verbirgt Dateien, die auf das Muster passen (durch -a überschrieben).
ls --hide='*.pyc'Häufige Kombinationen
ls -lahS — Alle Dateien, Langform, menschenlesbar, nach Größe sortiert.
ls -lahSls -latr — Alle Dateien, Langform, nach Zeit sortiert (älteste zuerst).
ls -latrls -lhS | head -n 10 — Zeigt die 10 größten Dateien in einem Verzeichnis.
ls -lhS | head -n 10ls -lt | head -n 5 — Zeigt die 5 zuletzt geänderten Dateien.
ls -lt | head -n 5ls -1 | wc -l — Zählt die Anzahl der Dateien in einem Verzeichnis.
ls -1 | wc -lls -1 | sort -f — Listet Dateien ohne Beachtung der Groß-/Kleinschreibung sortiert auf.
ls -1 | sort -fls -d .* 2>/dev/null — Listet nur Dotfiles auf und unterdrückt Fehler, falls keine existieren.
ls -ld .* 2>/dev/nullls -lR | grep '^-' | wc -l — Zählt alle Dateien rekursiv (ohne Verzeichnisse).
ls -lR | grep '^-' | wc -l Fazit
ls ist trügerisch einfach: Den vollen Nutzen ziehst du erst aus den Optionskombinationen. Für den Alltag genügen meist ls -lah (alles, lesbar, mit Details), ls -ltr (zeitlich sortiert, Neuestes unten) und das Anhängen einer Pipe zu head, wc -l oder grep. Denk daran, dass die gezeigten Flags GNU-coreutils voraussetzen – auf macOS oder BSD verhalten sich --full-time, -X oder --hide anders oder fehlen ganz; dort hilft oft gls aus den coreutils. ls zeigt dir Besitz und Rechte nur im Überblick – für die vollständigen Metadaten greifst du zu stat, für den echten Dateityp zu file und zum Suchen über ganze Bäume zu find.
Weiterführende Links
- ubuntuusers-Wiki: ls – deutschsprachige Übersicht der wichtigsten Optionen mit Beispielen
- Wikipedia: ls – Hintergrund zum Unix-Kommando und seiner Geschichte