Files
2026-09-02 16:32:50 +02:00

6.3 KiB

ls - Dateien und Verzeichnisse auflisten

Der ls-Befehl listet Dateien und Verzeichnisse auf und zeigt deren Eigenschaften.

Grundsyntax

ls [OPTIONEN] [PFAD...]

Grundlegende Verwendung

Einfache Auflistung

ls                  # Aktuelles Verzeichnis
ls /pfad/zum/ordner # Bestimmtes Verzeichnis
ls datei.txt       # Einzelne Datei

Versteckte Dateien anzeigen

ls -a              # Alle Dateien (inkl. .dotfiles)
ls -A              # Alle außer . und ..

Detaillierte Ausgabe

Long Format (-l)

ls -l

Beispielausgabe:

-rw-r--r-- 1 alice developers 1234 Nov  7 10:00 datei.txt
drwxr-xr-x 2 alice developers 4096 Nov  7 09:30 ordner
lrwxrwxrwx 1 alice developers   15 Nov  7 08:00 link -> /pfad/zu/ziel

Spalten:

  • 1. Zeichen: Typ (- = Datei, d = Verzeichnis, l = Link)
  • 2-10: Rechte (rwx für User, Group, Others)
  • Zahl: Anzahl Hardlinks
  • User: Eigentümer
  • Group: Gruppe
  • Größe: in Bytes
  • Datum/Zeit: letzte Änderung
  • Name: Dateiname

Menschenlesbare Größen (-h)

ls -lh

Beispielausgabe:

-rw-r--r-- 1 user staff  12K Nov  7 10:00 file.txt
-rw-r--r-- 1 user staff 1.2M Nov  7 09:30 big.dat
drwxr-xr-x 2 user staff 4.0K Nov  7 08:00 ordner

Größen werden in KB, MB, GB statt Bytes angezeigt.

Sortierung

Nach Name (Standard)

ls              # Alphabetisch
ls -r           # Umgekehrt

Nach Änderungsdatum

ls -lt          # Neueste zuerst
ls -ltr         # Älteste zuerst

Nach Größe

ls -lS          # Größte zuerst
ls -lSr         # Kleinste zuerst

Nach Erweiterung

ls -lX          # Gruppiert nach Dateityp

Rekursive Auflistung

ls -R           # Alle Unterverzeichnisse
ls -R /pfad     # Ab bestimmtem Pfad

Nur bestimmte Dateien

Mit Wildcards

ls *.txt        # Alle .txt Dateien
ls *.{jpg,png}  # Alle .jpg und .png
ls file[0-9]*   # file0, file1, file2, ...

Nur Verzeichnisse

ls -d */        # Nur Verzeichnisse
ls -ld */       # Mit Details

Nur Dateien (keine Verzeichnisse)

ls -p | grep -v /

Farben

ls --color=auto     # Farbige Ausgabe
ls --color=never    # Ohne Farben
ls --color=always   # Immer Farben (auch in Pipes)

Typische Farben:

  • Blau: Verzeichnisse
  • Grün: Ausführbare Dateien
  • Cyan: Symbolische Links
  • Rot: Archive
  • Gelb: Devices

Spezielle Formate

Einzelne Spalte

ls -1           # Eine Datei pro Zeile

Komma-getrennt

ls -m           # Komma-getrennte Liste

Mit Inode-Nummern

ls -i           # Zeigt Inode-Nummern

Numerische UIDs/GIDs

ls -n           # User/Group als Zahlen statt Namen

Dateigrößen analysieren

Größe einzelner Dateien

ls -lh datei.txt

Ausgabe:

-rw-r--r-- 1 user staff 12K Nov 7 10:00 datei.txt

Größe mit stat

Nur die Größe in Bytes:

stat -c%s datei.txt

Mit Dateiname:

stat -c "%s %n" *

Größe von Verzeichnissen

ls zeigt nur die Größe des Verzeichniseintrags (meist 4K), nicht den Inhalt!

Für echte Verzeichnisgröße nutze du:

du -sh ordner/          # Gesamtgröße
du -h --max-depth=1     # Größen aller Unterordner

Beispielausgabe:

200M    ./Bilder
1.3G    ./Videos
50K     ./Dokumente
1.5G    .

Mit 1000er-Schritten statt 1024er:

du -h --si --max-depth=1

Nach Größe sortiert

du -sh * | sort -h      # Alle Dateien/Ordner sortiert
ls -lhS                 # Nur Dateien, größte zuerst

Größte Dateien finden

Top 10 größte Dateien:

du -ah . | sort -rh | head -n 10

Mit IT-Know-How/Linux/BASH Basics/find:

find . -type f -exec du -h {} + | sort -rh | head -n 10

Speicherplatznutzung überwachen

Gesamter Speicherplatz:

df -h                   # Dateisysteme
df -h /home             # Bestimmter Mountpoint

Zeitstempel

Änderungszeit (Standard)

ls -l               # Zeigt mtime (modification time)

Zugriffszeit

ls -lu              # Zeigt atime (access time)

Statusänderungszeit

ls -lc              # Zeigt ctime (change time)

Mit vollständigem Zeitstempel

ls -l --time-style=full-iso
ls -l --time-style=long-iso
ls -l --time-style=iso

Praktische Kombinationen

Übersichtliche Dateiliste

ls -lhA             # Details, lesbar, alle außer . und ..
ls -lhAtr           # Dazu sortiert nach Datum, älteste zuerst

Schnelle Dateisuche

ls -la | grep datei  # Suche in aktueller Liste

Nur Größen von Verzeichnissen

du -sh */           # Alle Unterverzeichnisse

Dateien nach Änderung heute

ls -lt | head       # Neueste Dateien

Ausführbare Dateien finden

ls -l | grep '^-..x'

Große Dateien finden

ls -lhS | head -n 10    # Top 10 größte Dateien

Versteckte Dateien zählen

ls -A | wc -l

Nützliche Aliases

Setze in ~/.bashrc:

alias ll='ls -lhA'
alias la='ls -A'
alias l='ls -CF'
alias lt='ls -lhAtr'
alias lsize='ls -lhS'

Zusammen mit anderen Befehlen

Mit find

find . -name "*.log" -exec ls -lh {} \;

Mit grep

ls -la | grep "Nov  7"      # Dateien von heute
ls -la | grep "^d"          # Nur Verzeichnisse

Mit awk

ls -l | awk '{print $9, $5}'    # Name und Größe

Mit xargs

ls *.txt | xargs rm         # VORSICHT: Löscht alle .txt

Fehler vermeiden

Dateien mit Leerzeichen

# FALSCH
ls *.txt | xargs rm

# RICHTIG
find . -name "*.txt" -print0 | xargs -0 rm

Alias-Konflikte

Viele Systeme haben ls als Alias mit --color=auto definiert. Um den echten Befehl zu nutzen:

\ls                 # Umgeht Alias
command ls          # Umgeht Alias
/bin/ls            # Direkter Pfad

Siehe auch