eza - Modernes ls mit Icons und Git-Integration
Tool-Lektion | 25 Minuten
Das klassische Unix-Tool ls ist seit 1971 unverändert:
Lernziele
- Verstehen warum dieses Tool wichtig ist
- Die wichtigsten Einsatzgebiete kennen
- Installation und grundlegende Nutzung beherrschen
- Production-ready Patterns anwenden
- Real-World Use Cases umsetzen
eza - Modernes ls mit Icons und Git-Integration
🚀 Claude Code Relevanz: eza gibt dir in Claude Code Sessions sofortigen Ueberblick ueber Projektstrukturen, Git-Status und Dateigroessen - alles in einem Befehl, ohne zwischen Tools wechseln zu muessen.
Berechtigung - Warum eza?
Das Problem mit `ls`
Das klassische Unix-Tool ls ist seit 1971 unverändert:
- ❌ Keine Icons für File-Types
- ❌ Keine Git-Status-Integration
- ❌ Schwer lesbare Permissions
- ❌ Keine Tree-View
- ❌ Unleserliche Colors (oft)
- ❌ Keine moderne Terminal-Features
Die Lösung: eza
eza ist ein modernes Replacement für ls (Fork von exa, das nicht mehr maintained wird):
- ✅ Icons für jeden File-Type (📄, 📁, 🐍, ⚛️)
- ✅ Git-Integration zeigt Status inline (M, A, ??)
- ✅ Tree-View built-in
- ✅ Lesbare Permissions mit Colors
- ✅ Grid-Layout oder Long-Format
- ✅ Schnell (in Rust geschrieben)
Ergebnis: Du navigierst 3x schneller durch dein Filesystem.
💡 Tipp: Die Kombination eza -la --git --icons ist der wichtigste Befehl - er zeigt dir alles auf einen Blick: Permissions, Git-Status, Icons und versteckte Dateien.
Zwecke - Wofür du eza einsetzt
Hier siehst du die fuenf wichtigsten Szenarien, in denen eza dein Standard-ls deutlich uebertrifft.
. **Projekt-Struktur auf einen Blick**
Wenn du ein neues Projekt oeffnest oder in ein Verzeichnis wechselst, willst du sofort verstehen welche Dateien vorhanden sind und welche Typen sie haben. eza zeigt dir mit dem --icons Flag farbige Icons neben jedem Dateinamen - JavaScript-Dateien bekommen ein JS-Icon, Ordner ein Ordner-Symbol, Markdown-Dateien ein Dokument-Icon. Das macht es visuell viel einfacher, die Struktur zu erfassen als bei einer reinen Textliste. Stell dir vor, du oeffnest ein Verzeichnis mit 30 Dateien - mit eza erkennst du auf einen Blick wo die Source-Dateien, Configs und Dokumentation liegen. Das -la Flag zeigt dabei alle Dateien (inkl. versteckte) im Detail-Format mit Berechtigungen, Groesse und Datum an.
eza -la --icons
# → Icons zeigen: JS, TS, JSON, Markdown, etc.
. **Git-Status direkt beim Listing**
Normalerweise musst du ls und git status separat ausfuehren, um sowohl die Dateiliste als auch den Git-Status zu sehen. Mit eza's --git Flag bekommst du beides in einer einzigen Ansicht: Neben jedem Dateinamen erscheint ein Git-Status-Indikator wie M fuer Modified, A fuer Added oder ?? fuer Untracked. Das spart dir den staendigen Wechsel zwischen zwei Befehlen und gibt dir sofortigen Ueberblick ueber den Zustand deines Repositories. Stell dir vor, du hast an mehreren Dateien gleichzeitig gearbeitet und willst wissen, welche noch nicht committed sind - ein einziger Blick auf die eza-Ausgabe genuegt. Besonders in grossen Projekten mit vielen Dateien ist das ein enormer Zeitgewinn.
eza -la --git
# → Siehst du Modified (M), Added (A), Untracked (??)
. **File-Groessen verstehen**
In jedem Projekt gibt es Dateien die unerwartet gross sind - sei es ein vergessener Build-Artefakt, ein hochaufloestes Bild oder ein riesiger Datenbankdump. Mit eza -lh --sort=size sortierst du alle Dateien nach Groesse und siehst die Werte in menschenlesbarem Format (KB, MB, GB statt Bytes). So findest du sofort die Platzfresser in deinem Projekt. Stell dir vor, dein Git-Repository ist ploetzlich 500MB gross und du weisst nicht warum - sortiere nach Groesse und du siehst sofort welche Datei das Problem ist. Das ist auch nuetzlich um zu pruefen, ob Build-Artefakte versehentlich im Repository gelandet sind.
eza -lh --sort=size
# → Sortiert nach Größe, human-readable
. **Verzeichnis-Baeume visualisieren**
Oft willst du nicht nur die Dateien im aktuellen Verzeichnis sehen, sondern auch die Struktur der Unterordner. Statt das separate tree-Tool zu installieren, bietet eza eine eingebaute Tree-Ansicht mit dem --tree Flag. Mit --level=2 begrenzt du die Tiefe auf zwei Ebenen, was in den meisten Faellen den besten Ueberblick gibt. Stell dir vor, du willst die Ordnerstruktur eines React-Projekts verstehen - mit eza siehst du sofort src/components/, src/pages/, src/utils/ und deren Unterordner. Im Gegensatz zum klassischen tree-Tool bekommst du bei eza zusaetzlich Icons und optional Git-Status in der Baumansicht.
eza --tree --level=2
# → Zeigt 2 Ebenen tief
. **Zeitstempel-basierte Suche**
Beim Debugging oder nach einer laengeren Pause willst du oft wissen, welche Dateien zuletzt geaendert wurden. Mit eza -la --sort=modified sortierst du die Dateiliste nach dem Aenderungsdatum, sodass die zuletzt bearbeiteten Dateien oben stehen. Das ist besonders nuetzlich, wenn du nach einem automatisierten Prozess (z.B. einem Build oder einer Claude Code Session) pruefen willst, welche Dateien betroffen waren. Stell dir vor, ein Kollege hat Aenderungen gepusht und du willst schnell sehen, was sich geaendert hat - sortiere nach modified und du siehst sofort die betroffenen Dateien. Kombiniere das mit --git fuer eine noch aussagekraeftigere Ansicht.
eza -la --sort=modified
# → Neueste zuerst
Verwendung - Wie du eza einsetzt
Von der Installation bis zu fortgeschrittenen Sortier- und Filter-Optionen - hier lernst du alles, um eza produktiv einzusetzen.
Installation
eza ist auf allen gaengigen Plattformen verfuegbar. Auf neueren Systemen ist es direkt im Paketmanager enthalten.
macOS (Homebrew):
Die schnellste Installation auf macOS ist ueber Homebrew. Der Befehl laedt das vorkompilierte eza-Binary herunter und richtet alles automatisch ein. Nach der Installation kannst du sofort eza im Terminal nutzen. Fuer die Icons brauchst du zusaetzlich einen Nerd Font (siehe Troubleshooting-Sektion). Pruefe mit eza --version ob die Installation erfolgreich war.
brew install eza
Ubuntu 24.04+ (native):
Ab Ubuntu 24.04 ist eza in den offiziellen Paket-Repositories enthalten und laesst sich direkt ueber apt installieren. Das ist der einfachste Weg auf neueren Ubuntu-Versionen. Beachte dass aeltere Ubuntu-Versionen (20.04, 22.04) eza nicht in den Standard-Repos haben - fuer diese Versionen siehe die naechste Option. Nach der Installation steht der Befehl eza sofort zur Verfuegung. Auch hier brauchst du einen Nerd Font fuer die Icon-Darstellung.
sudo apt install eza
Ubuntu 20.04/22.04 (via cargo): Auf aelteren Ubuntu-Versionen ist eza nicht in den Standard-Repos - du brauchst den Rust-Paketmanager:
cargo install eza
# Oder: Download Binary von GitHub Releases
Arch Linux: Arch Linux bietet eza ueber das offizielle Community-Repository an. Dank Rolling Release bekommst du hier immer die aktuellste Version. Die Installation dauert nur wenige Sekunden, und eza ist danach sofort einsatzbereit. Vergiss nicht, auch einen Nerd Font zu installieren, damit die Icons korrekt angezeigt werden.
sudo pacman -S eza
Windows (Scoop): Auf Windows installierst du eza am besten ueber den Paketmanager Scoop. Alternativ kannst du das Binary auch manuell von der GitHub-Releases-Seite herunterladen. Beachte dass die Icon-Darstellung auf Windows vom verwendeten Terminal abhaengt - das Windows Terminal bietet die beste Kompatibilitaet. Nach der Installation funktioniert eza in PowerShell und Windows Terminal. Fuer die beste Erfahrung nutze das Windows Terminal mit einem Nerd Font.
scoop install eza
⚠️ Warnung: Fuer die Icons brauchst du einen Nerd Font in deinem Terminal. Ohne Nerd Font siehst du statt schoener Icons nur kaputte Zeichen. Installiere zuerst z.B. "Hack Nerd Font".
Quick Start (30 Sekunden)
Diese vier Grundbefehle decken 90% deiner taeglichen Nutzung ab.
Basis-Usage:
Diese vier Befehle sind die Grundlage fuer den taeglichen Einsatz von eza. Der einfachste Aufruf eza ohne Flags zeigt die Dateien im aktuellen Verzeichnis - aehnlich wie ls, aber mit modernen Farben. Mit -la --icons bekommst du die volle Ansicht: alle Dateien inklusive versteckter, im Detail-Format mit Icons. Der --git Flag fuegt Git-Status-Informationen hinzu, und --tree zeigt die Verzeichnisstruktur als Baum. Stell dir vor, du wechselst in ein neues Projektverzeichnis und willst sofort verstehen was drin ist - eza -la --icons --git gibt dir in einem Befehl alle relevanten Informationen. Am besten legst du dir sofort Aliases an (siehe Best Practices), damit du diese Flags nicht jedes Mal tippen musst.
# Simple Listing (wie ls)
eza
# Long Format mit Icons
eza -la --icons
# Mit Git-Status
eza -la --git
# Tree-View
eza --tree
Wichtigste Flags:
Diese Flags funktionieren aehnlich wie bei ls, bieten aber mehr Kontrolle:
# -l = Long format (Details)
# -a = All files (inkl. hidden)
# -h = Human-readable sizes (KB, MB, GB)
# -s = Sort by (modified, size, name, etc.)
# -r = Reverse sort
# -d = Directories only
# -f = Files only
Advanced Usage
Fuer den fortgeschrittenen Einsatz lohnt es sich, eza als permanenten ls-Ersatz einzurichten und die erweiterten Funktionen zu nutzen.
1. Als ls-Replacement konfigurieren:
Ersetze ls komplett durch eza-Aliases, damit du automatisch immer von Icons und Git-Status profitierst:
# In ~/.bashrc oder ~/.zshrc:
alias ls='eza --icons'
alias ll='eza -la --icons --git'
alias la='eza -a --icons'
alias lt='eza --tree --level=2 --icons'
🚀 Beispiel: Ersetzelskomplett durch eza-Aliases in deiner.zshrc- nach einer Woche wirst du nie wieder zum altenlszurueckwollen.
2. Custom Colors:
eza nutzt die gleiche Umgebungsvariable wie ls fuer Farben, bietet aber zusaetzlich eigene Farboptionen:
# eza nutzt LS_COLORS Environment Variable
# Oder: Custom Color-Theme
export EZA_COLORS="da=1;34:gm=1;33"
3. Grid-Layout:
Das Grid-Layout ordnet Dateien in mehreren Spalten an, um den verfuegbaren Platz im Terminal optimal auszunutzen. Das ist besonders nuetzlich wenn du viele kleine Dateien in einem Verzeichnis hast und einen schnellen Ueberblick willst. Mit eza --grid --icons bekommst du eine kompakte Darstellung aehnlich wie ls in Spalten, aber mit farbigen Icons. Die Kombination -l --grid zeigt Details (Groesse, Datum) plus Grid-Layout - ideal fuer Verzeichnisse mit vielen Dateien. Je breiter dein Terminal ist, desto mehr Spalten werden automatisch verwendet.
# Multi-Column Grid
eza --grid --icons
# Long Grid (Details + Grid)
eza -l --grid --icons
4. File-Type Filtering:
Manchmal willst du nur bestimmte Dateitypen sehen - zum Beispiel nur Ordner fuer einen Strukturueberblick oder nur JavaScript-Dateien fuer ein Code-Review. Mit -D zeigt eza ausschliesslich Verzeichnisse an, mit -f nur Dateien. Fuer spezifischere Filter kombinierst du eza mit grep. Stell dir vor, du willst in einem Monorepo nur die Package-Ordner sehen ohne die ganzen Config-Dateien - eza -D gibt dir genau das. Das ist schneller als die Ausgabe manuell zu ueberfliegen und relevante Eintraege zu suchen.
# Nur Directories
eza -D
# Nur Files
eza -f
# Nur bestimmte Extensions
eza | grep '.js