Zum Inhalt springen

exa Cheatsheet

exa Cheatsheet

Installation

PlattformBefehl
Ubuntu 20.10+sudo apt update && sudo apt install exa
Debian/Ubuntu (older)cargo install exa
Arch Linuxsudo pacman -S exa
Fedorasudo dnf install exa
RHEL/CentOSsudo dnf install epel-release && sudo dnf install exa
openSUSEsudo 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

BefehlBeschreibung
exaList files in current directory (replaces ls)
exa -lLanges Format mit Berechtigungen, Größe und Zeitstempeln
exa -aShow all files including hidden (. files)
exa -laLanges Format mit allen Dateien, einschließlich versteckter Dateien
exa -lhLanges Format mit menschenlesbaren Größen (KiB, MiB, GiB)
exa -lHLanges Format mit Dezimalgrößen (KB, MB, GB)
exa -1Eine Datei pro Zeile (nützlich für Scripting)
exa -RRekursives Auflisten von Verzeichnissen
exa -FDateityp-Indikatoren hinzufügen (/, @, \
exa --gridGrid-Layout (Standard-Terminalansicht)
exa --acrossHorizontales Flow-Layout
exa -DNur Verzeichnisse auflisten
exa -fNur Dateien auflisten (Verzeichnisse ausschließen)
exa --color=alwaysFarbausgabe erzwingen
exa --color=neverFarbausgabe deaktivieren

Erweiterte Nutzung

BefehlBeschreibung
exa --treeDisplay directory structure as tree (replaces tree)
exa --tree --level=2Baumansicht auf 2 Ebenen begrenzt
exa -l --gitGit-Status für Dateien anzeigen (getrackt, modifiziert, ungetrackt)
exa --git-ignoreRespect .gitignore and show only tracked files
exa -l --sort=modifiedNach Änderungszeitpunkt sortieren (neueste zuerst)
exa -l --sort=sizeNach Dateigröße sortieren (größte zuerst)
exa -l --sort=extensionNach Dateiendung sortieren
exa -l --reverseUmgekehrte Sortierreihenfolge
exa -l --iconsDatei-Typ-Symbole anzeigen (erfordert Nerd Fonts)
exa -l --extendedErweiterte Attribute anzeigen (SELinux, ACLs)
exa -l@Kurzform für erweiterte Attribute
exa -liZeige Inode-Nummern
exa -lsBlockgrößen anzeigen
exa -l --octal-permissionsBerechtigungen im Oktal-Format anzeigen (755)
exa -l --numericNumerische Benutzer-/Gruppenkennnummern statt Namen anzeigen
exa -l --time-style=isoISO-Format-Zeitstempel
exa -l --time-style=relativeRelative Zeit (z.B. „vor 2 Stunden”)
exa -l --modifiedÄnderungszeit anzeigen (Standard)
exa -l --accessedLetzte Zugriffszeit anzeigen
exa -l --createdErstellungszeit anzeigen
exa --ignore-glob="*.tmp"Dateien mit passendem Muster ignorieren
exa -lZSELinux-Sicherheitskontext anzeigen
exa --tree --git --iconsBaumansicht mit Git-Status und Symbolen
exa -R --level=3Rekursive 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