Zum Inhalt

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 lsdurch exazu 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 $PATH includes /usr/local/bin or ~/.cargo/bin | | Git status not showing | Verify you're in a Git repository (git status). Use exa -l --git explicitly | | Colors not working in pipes | Use exa --color=always when piping to less or 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. Use sudo exa -l@ or skip with regular exa -l | | Tree view truncated | Increase depth with --level=N or remove limit with no level flag (caution: may be slow on large trees) | | Alias conflicts with system ls | Use \ls to call original ls, or unalias ls temporarily. Check aliases with alias \ | grep ls | | Icons showing as boxes/squares | Terminal doesn't support Unicode properly. Update terminal emulator or disable icons with --no-icons | | Different output than ls | exa sorts and displays differently by default. Use --sort=name and adjust flags to match ls behavior |- Sortieroptionen kombinieren: Verketten | Flagge | Beschreibung | Beispiel-Ausgabe | |------|-------------|----------------| | --modified or -m | Änderungszeit (Standard) | 2024-01-15 14:30 | | --accessed or -u | Letzte Zugriffszeit | 2024-01-15 09:15 | | --created or -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