exa Cheatsheet
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 |
exa --version
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:
# Add to shell configuration
exa() {
command exa --icons --group-directories-first "$@"
}
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