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:

SpalteBedeutung
-rw-r--r--Dateityp und Berechtigungen
1Anzahl der Hardlinks
rootBesitzer
rootGruppe
337Dateigröße in Bytes
Oct 4 11:31Letzte Änderung
/etc/hostsDateiname

Dateitypen erkennen

Das erste Zeichen zeigt den Dateityp:

ZeichenTyp
-Reguläre Datei
dVerzeichnis
lSymbolischer Link
bBlockgerät
cZeichengerät
sSocket
pNamed Pipe (FIFO)

Berechtigungen lesen

Die neun Zeichen nach dem Dateityp zeigen die Berechtigungen für Besitzer, Gruppe und andere:

  • r – Lesen
  • w – Schreiben
  • x – 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:

OptionSortierung
-tNach Änderungszeit (neueste zuerst)
-SNach Größe (größte zuerst)
-XNach Dateiendung
-rReihenfolge 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

OptionWirkung
-lLangformat mit Details
-aVersteckte Dateien anzeigen
-hMenschenlesbare Größen
-tNach Zeit sortieren
-SNach Größe sortieren
-rSortierung umkehren
-RRekursiv auflisten
-dVerzeichnisse 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

Verwandte Artikel