exa Cheatsheet¶
Installation¶
| Plattform | Befehl |
|---|---|
| Ubuntu 20.10+ | sudo apt update && sudo apt install exa |
| Debian/Ubuntu (older) | cargo install exa |
| Arch Linux | sudo pacman -S exa |
| Fedora | sudo dnf install exa |
| RHEL/CentOS | sudo dnf install epel-release && sudo dnf install exa |
| openSUSE | sudo zypper install exa |
| macOS (Homebrew) | brew install exa |
| macOS (MacPorts) | sudo port install exa |
| Windows (Scoop) | scoop install exa |
| Universal (Cargo) | cargo install exa |
Grundlegende Befehle¶
| Befehl | Beschreibung |
|---|---|
exa |
List files in current directory (replaces ls) |
exa -l |
Langes Format mit Berechtigungen, Größe und Zeitstempeln |
exa -a |
Show all files including hidden (. files) |
exa -la |
Langes Format mit allen Dateien, einschließlich versteckter Dateien |
exa -lh |
Langes Format mit menschenlesbaren Größen (KiB, MiB, GiB) |
exa -lH |
Langes Format mit Dezimalgrößen (KB, MB, GB) |
exa -1 |
Eine Datei pro Zeile (nützlich für Scripting) |
exa -R |
Rekursives Auflisten von Verzeichnissen |
exa -F |
Dateityp-Indikatoren hinzufügen (/, @, \ |
exa --grid |
Grid-Layout (Standard-Terminalansicht) |
exa --across |
Horizontales Flow-Layout |
exa -D |
Nur Verzeichnisse auflisten |
exa -f |
Nur Dateien auflisten (Verzeichnisse ausschließen) |
exa --color=always |
Farbausgabe erzwingen |
exa --color=never |
Farbausgabe deaktivieren |
| ## Erweiterte Nutzung |
| Befehl | Beschreibung |
|---|---|
exa --tree |
Display directory structure as tree (replaces tree) |
exa --tree --level=2 |
Baumansicht auf 2 Ebenen begrenzt |
exa -l --git |
Git-Status für Dateien anzeigen (getrackt, modifiziert, ungetrackt) |
exa --git-ignore |
Respect .gitignore and show only tracked files |
exa -l --sort=modified |
Nach Änderungszeitpunkt sortieren (neueste zuerst) |
exa -l --sort=size |
Nach Dateigröße sortieren (größte zuerst) |
exa -l --sort=extension |
Nach Dateiendung sortieren |
exa -l --reverse |
Umgekehrte Sortierreihenfolge |
exa -l --icons |
Datei-Typ-Symbole anzeigen (erfordert Nerd Fonts) |
exa -l --extended |
Erweiterte Attribute anzeigen (SELinux, ACLs) |
exa -l@ |
Kurzform für erweiterte Attribute |
exa -li |
Zeige Inode-Nummern |
exa -ls |
Blockgrößen anzeigen |
exa -l --octal-permissions |
Berechtigungen im Oktal-Format anzeigen (755) |
exa -l --numeric |
Numerische Benutzer-/Gruppenkennnummern statt Namen anzeigen |
exa -l --time-style=iso |
ISO-Format-Zeitstempel |
exa -l --time-style=relative |
Relative Zeit (z.B. „vor 2 Stunden") |
exa -l --modified |
Änderungszeit anzeigen (Standard) |
exa -l --accessed |
Letzte Zugriffszeit anzeigen |
exa -l --created |
Erstellungszeit anzeigen |
exa --ignore-glob="*.tmp" |
Dateien mit passendem Muster ignorieren |
exa -lZ |
SELinux-Sicherheitskontext anzeigen |
exa --tree --git --icons |
Baumansicht mit Git-Status und Symbolen |
exa -R --level=3 |
Rekursive Auflistung begrenzt auf 3 Ebenen |
| ## Konfiguration |
Shell-Aliase¶
Fügen Sie diese zu Ihrer ~/.bashrc, ~/.zshrc, oder ~/.config/fish/config.fishhinzu:
# Basic replacements
alias ls='exa'
alias l='exa -l'
alias la='exa -la'
alias ll='exa -l'
alias lt='exa --tree'
# Advanced aliases
alias lg='exa -l --git'
alias lgi='exa -l --git --git-ignore'
alias lt2='exa --tree --level=2'
alias lta='exa -la --tree'
# Comprehensive view
alias lx='exa -lah --git --icons --group --time-style=long-iso'
# Sorting shortcuts
alias lm='exa -l --sort=modified --reverse' # Most recent first
alias lz='exa -l --sort=size --reverse' # Largest first
# Tree with Git
alias ltg='exa --tree --git --level=3'
Farbanpassung¶
Legen Sie benutzerdefinierte Farben mit der EXA_COLORSUmgebungsvariable fest:
# Add to ~/.bashrc or ~/.zshrc
export EXA_COLORS="da=38;5;245:sb=38;5;204:sn=38;5;43:uu=38;5;245:un=38;5;241"
# Color codes:
# da = date
# sb = file size
# sn = size number
# uu = user (you)
# un = user (other)
# gu = group (you)
# gn = group (other)
Standardoptionen¶
Erstellen Sie einen Funktions-Wrapper für Standardoptionen:
Häufige Anwendungsfälle¶
Anwendungsfall: Git-Repository untersuchen¶
# Show all files with Git status and icons
exa -la --git --icons
# Tree view of repository with Git status (ignore node_modules)
exa --tree --git --ignore-glob="node_modules|.git" --level=3
# Only show modified files
exa -l --git | grep -E "M|A|D"
Anwendungsfall: Große Dateien finden¶
# List files by size, largest first
exa -l --sort=size --reverse
# Recursive search for large files with human-readable sizes
exa -lRh --sort=size --reverse | head -20
# Show only files (no directories) sorted by size
exa -lf --sort=size --reverse
Anwendungsfall: Dateiberechtigungen prüfen¶
# Show permissions in octal format with extended attributes
exa -l@ --octal-permissions
# Show all permission details with numeric IDs
exa -la --numeric --octal-permissions
# Check SELinux contexts
exa -lZ /var/www/html
Anwendungsfall: Verzeichnisstruktur analysieren¶
# Tree view with file sizes and modification times
exa -l --tree --level=3 --time-style=iso
# Show directory structure with Git awareness
exa --tree --git --icons --level=4 --ignore-glob=".git"
# List only directories in tree format
exa -D --tree --level=2
Anwendungsfall: Schnelles Dateibrowsen¶
# Grid view with icons for visual scanning
exa --icons --grid
# Long format with all metadata
exa -lah --icons --git --time-style=relative
# Show recent changes (last 24 hours)
exa -l --sort=modified --reverse --time-style=relative | head -20
Best Practices¶
- Aliase verwenden: Richten Sie Shell-Aliase ein, um
lsdurchexazu ersetzen, um eine konsistente Erfahrung in Ihrem Workflow zu gewährleisten - Nerd Fonts installieren: Für vollständige Icon-Unterstützung installieren Sie eine Nerd Font (z.B. FiraCode Nerd Font, Hack Nerd Font) in Ihrem Terminal
- Mit Git kombinieren: Verwenden Sie immer
--gitFlag in Repositories verwenden, um den Dateistatus auf einen Blick zu sehen, ohne einen Befehl auszuführengit status- Baumansicht nutzen: Verwendenexa --treeanstatt separate zu installierentreeBefehl, besonders mit--levelum die Tiefe zu steuernEXA_COLORS- Farben konfigurieren: Anpassen--time-style=relativean Ihr Terminal-Design für bessere Lesbarkeit--time-style=iso- Zeitstil-Optionen verwenden: Wählen-1für neuere Dateien oder--color=neverfür präzise Zeitstempel--git-ignore- Skript-freundliche Ausgabe: Verwenden--sort(eine pro Zeile) und--reversebeim Weiterleiten an andere Befehle oder Skripteexa- Gitignore respektieren: In großen Repositoriesexa -l --git --iconsverwenden, um das Auflisten von Tausenden von Build-Artefakten oder Abhängigkeiten zu vermeiden | Problem | Lösung | |-------|----------| | Icons not displaying correctly | Installiere eine Nerd Font und konfiguriere dein Terminal, um sie zu verwenden. Herunterladen von nerdfonts.com | |exa: command not found| Ensure installation completed successfully. Check$PATHincludes/usr/local/binor~/.cargo/bin| | Git status not showing | Verify you're in a Git repository (git status). Useexa -l --gitexplicitly | | Colors not working in pipes | Useexa --color=alwayswhen piping tolessor other commands:exa --color=always \ | less -R| | Slow performance on network drives | Disable Git integration (--no-git) and avoid extended attributes (--no-extended) on slow filesystems | | Permission denied errors | Some extended attributes require elevated privileges. Usesudo exa -l@or skip with regularexa -l| | Tree view truncated | Increase depth with--level=Nor remove limit with no level flag (caution: may be slow on large trees) | | Alias conflicts with systemls| Use\lsto call originalls, orunalias lstemporarily. Check aliases withalias \ | grep ls| | Icons showing as boxes/squares | Terminal doesn't support Unicode properly. Update terminal emulator or disable icons with--no-icons| | Different output thanls|exasorts and displays differently by default. Use--sort=nameand adjust flags to matchlsbehavior |- Sortieroptionen kombinieren: Verketten | Flagge | Beschreibung | Beispiel-Ausgabe | |------|-------------|----------------| |--modifiedor-m| Änderungszeit (Standard) |2024-01-15 14:30| |--accessedor-u| Letzte Zugriffszeit |2024-01-15 09:15| |--createdor-U| Erstellungszeit |2024-01-10 08:00| |--time-style=iso| ISO-Format |2024-01-15 14:30| |--time-style=long-iso| Lange ISO-Format |2024-01-15 14:30:45| |--time-style=full-iso| Vollständiges ISO mit Zeitzone |2024-01-15 14:30:45.123456789 +0000| |--time-style=relative| Relative Zeit |2 hours ago|mit | Sortierungsschlüssel | Beschreibung | Verwendung | |----------|-------------|-------| |name| Alphabetisch nach Name (Standard) |exa -l --sort=name| |size| Dateigröße |exa -l --sort=size| |extension| Dateiendung |exa -l --sort=extension| |modified| Änderungszeit |exa -l --sort=modified| |accessed| Zugriffszeit |exa -l --sort=accessed| |created| Erstellungszeit |exa -l --sort=created| |type| Dateityp (dir, file, link) |exa -l --sort=type| |inode| Inode-Nummer |exa -l --sort=inode| |oldest| Älteste zuerst (umgekehrt modifiziert) |exa -l --sort=oldest|um genau die gewünschte Reihenfolge zu erhalten (neueste, größte, etc.)--reverse- Leistung in großen Verzeichnissen: Für Verzeichnisse mit Tausenden von Dateien ist grundlegendes