Ein moderner Ersatz für ls.
eza ist ein moderner, gepflegter Ersatz für das ehrwürdige Dateilisten-Befehlszeilenprogramm ls
, das mit Unix- und Linux-Betriebssystemen ausgeliefert wird und ihm mehr Funktionen und bessere Standardeinstellungen bietet. Es verwendet Farben, um Dateitypen und Metadaten zu unterscheiden. Es kennt sich mit Symlinks, erweiterten Attributen und Git aus. Und es ist klein , schnell und nur eine einzige Binärdatei .
Indem eza einige Entscheidungen bewusst anders trifft, versucht es, eine funktionsreichere und benutzerfreundlichere Version von ls
zu sein.
eza -Funktionen nicht in exa (nicht erschöpfend):
Behebt „The Grid Bug“, der in exa 2021 eingeführt wurde.
Hyperlink-Unterstützung.
Details zum Mountpunkt.
Selinux-Kontextausgabe.
Git-Repo-Statusausgabe.
Vom Menschen lesbare relative Daten.
Mehrere Sicherheitskorrekturen.
Unterstützung für bright
Terminalfarben.
Viele kleinere Fehlerbehebungen/Änderungen!
Konfigurationsdatei theme.yml
zur Anpassung von Farben und Symbolen.
... und so viel mehr, dass es anstrengend wurde, dies ständig zu aktualisieren. Im Ernst, wir haben viele gute Sachen.
Wenn Sie bereits über ein Nix-Setup mit Flake-Unterstützung verfügen, können Sie eza mit dem Befehl nix run
ausprobieren:
nix run github:eza-community/eza
Nix wird eza erstellen und ausführen.
Wenn Sie Argumente auf diese Weise übergeben möchten, verwenden Sie z. B. nix run github:eza-community/eza -- -ol
.
eza ist für Windows, macOS und Linux verfügbar. Plattform- und verteilungsspezifische Installationsanweisungen finden Sie in INSTALL.md.
Die Optionen von eza ähneln denen von ls
fast, aber nicht ganz. Kurzer Überblick:
-1 , --oneline : Zeigt einen Eintrag pro Zeile an
-G , --grid : Einträge als Raster anzeigen (Standard)
-l , --long : Erweiterte Details und Attribute anzeigen
-R , --recurse : Rekursion in Verzeichnisse
-T , --tree : Rekursion in Verzeichnisse als Baum
-x , --across : Sortiert das Raster quer statt nach unten
-F , --classify=(when) : Anzeigetypindikator nach Dateinamen (immer, automatisch, nie)
--colo[u]r=(when) : wann Terminalfarben verwendet werden sollen (immer, automatisch, nie)
--colo[u]r-scale=(field) : field
deutlich hervorheben (alle, Alter, Größe)
--color-scale-mode=(Modus) : Verwenden Sie Farbverläufe oder feste Farben in --color-scale. Gültige Optionen sind fixed
oder gradient
--icons=(when) : wann Symbole angezeigt werden sollen (immer, automatisch, nie)
--hyperlink : Einträge als Hyperlinks anzeigen
--absolute=(mode) : Einträge mit ihrem absoluten Pfad anzeigen (on, follow, off)
-w , --width=(columns) : Bildschirmbreite in Spalten festlegen
-a , --all : versteckte und „Punkt“-Dateien anzeigen
-d , --list-dirs : Verzeichnisse wie normale Dateien auflisten
-L , --level=(tiefe) : Begrenzt die Rekursionstiefe
-r , --reverse : Kehrt die Sortierreihenfolge um
-s , --sort=(field) : nach welchem Feld sortiert werden soll
--group-directories-first : Verzeichnisse vor anderen Dateien auflisten
--group-directories-last : Verzeichnisse nach anderen Dateien auflisten
-D , --only-dirs : Nur Verzeichnisse auflisten
-f , --only-files : Nur Dateien auflisten
--no-symlinks : Zeigt keine symbolischen Links an
--show-symlinks : Links explizit anzeigen (mit --only-dirs
, --only-files
, um symbolische Links anzuzeigen, die dem Filter entsprechen)
--git-ignore : In .gitignore
erwähnte Dateien ignorieren
-I , --ignore-glob=(globs) : Glob-Muster (durch Pipes getrennt) von Dateien, die ignoriert werden sollen
Übergeben Sie die Option --all
zweimal, um auch die .
und ..
Verzeichnisse.
Diese Optionen sind verfügbar, wenn mit --long
( -l
) ausgeführt wird:
-b , --binary : Dateigrößen mit binären Präfixen auflisten
-B , --bytes : Dateigrößen in Bytes auflisten, ohne Präfixe
-g , --group : Listet die Gruppen jeder Datei auf
-h , --header : Fügt jeder Spalte eine Kopfzeile hinzu
-H , --links : Listet die Anzahl der Hardlinks jeder Datei auf
-i , --inode : Listen Sie die Inode-Nummer jeder Datei auf
-m , --modified : Verwenden Sie das geänderte Zeitstempelfeld
-M , --mounts : Mount-Details anzeigen (nur Linux und MacOS).
-S , --blocksize : Zeigt die Größe der zugewiesenen Dateisystemblöcke an
-t , --time=(field) : welches Zeitstempelfeld verwendet werden soll
-u , --accessed : Verwenden Sie das Zeitstempelfeld, auf das zugegriffen wurde
-U , --created : Verwenden Sie das erstellte Zeitstempelfeld
-X , --deference : Symlinks für Dateiinformationen dereferenzieren
-Z , --context : Listen Sie den Sicherheitskontext jeder Datei auf
-@ , --extended : Listen Sie die erweiterten Attribute und Größen jeder Datei auf
--changed : Verwenden Sie das geänderte Zeitstempelfeld
--git : Listen Sie den Git-Status jeder Datei auf, wenn diese verfolgt oder ignoriert wird
--git-repos : Listet den Git-Status jedes Verzeichnisses auf, falls verfolgt
--git-repos-no-status : Listet auf, ob ein Verzeichnis ein Git-Repository ist, aber nicht seinen Status (schneller)
--no-git : Git-Status unterdrücken (überschreibt immer --git
, --git-repos
, --git-repos-no-status
)
--time-style : So formatieren Sie Zeitstempel. Gültige Zeitstempelstile sind „ default
“, „ iso
“, „ long-iso
“, „ full-iso
“, „ relative
“ oder ein benutzerdefinierter Stil „ +<FORMAT>
“ (z. B. „ +%Y-%m-%d %H:%M
' => ' 2023-09-30 13:00
' Weitere Spezifikationen zur Formatzeichenfolge finden Sie in der eza(1)
-Handbuchseite und in der Chrono-Dokumentation.
--total-size : rekursive Verzeichnisgröße anzeigen
--no-permissions : Unterdrückt das Berechtigungsfeld
-o , --octal-permissions : Listen Sie die Berechtigungen jeder Datei im Oktalformat auf
--no-filesize : Unterdrückt das Dateigrößenfeld
--no-user : Unterdrückt das Benutzerfeld
--no-time : Unterdrückt das Zeitfeld
--stdin : Dateinamen aus stdin lesen
Einige der Optionen akzeptieren Parameter:
Gültige --colo[u]r -Optionen sind Always , Automatic (oder kurz Auto ) und Never .
Gültige Sortierfelder sind „Zugegriffen “, „Geändert“ , „Erstellt “, „Erweiterung “, „Erweiterung “, „Inode“ , „Geändert“ , „Name“ , „Name“ , „Größe“ , „Typ “ und „Keine “. Felder, die mit einem Großbuchstaben beginnen, werden in Großbuchstaben und dann in Kleinbuchstaben sortiert. Das geänderte Feld hat die Aliase „Datum“ , „Uhrzeit“ und „Neueste“ , während seine Rückseite die Aliase „ Alter“ und „Älteste“ hat.
Gültige Zeitfelder werden geändert , geändert , aufgerufen und erstellt .
Gültige Zeitstile sind default , iso , long-iso , full-iso und relative .
Weitere Dokumentationen zur Verwendung finden Sie in den man
. Sie sind verfügbar
online im Repo
in Ihrem Terminal über man eza
, ab Version [0.18.13] - 2024-04-25
Eza hat kürzlich Unterstützung für eine theme.yml
Datei hinzugefügt, in der Sie alle vorhandenen Designoptionen angeben können, die für die Umgebungsvariablen LS_COLORS
und EXA_COLORS
verfügbar sind, sowie die Option, verschiedene Symbole für verschiedene Dateitypen und Erweiterungen anzugeben. Alle vorhandenen Umgebungsvariablen funktionieren weiterhin und haben aus Gründen der Abwärtskompatibilität Vorrang.
Schauen Sie sich die im offiziellen eza-themes-Repository verfügbaren Themen an oder tragen Sie Ihre eigenen bei.
Eine Beispiel-Themedatei ist in docs/theme.yml
verfügbar und muss entweder in einem durch die Umgebungsvariable EZA_CONFIG_DIR
angegebenen Verzeichnis abgelegt werden oder wird standardmäßig in $XDG_CONFIG_HOME/eza
gesucht.
Ausführliche Informationen finden Sie auf der Manpage. Eine Beispiel-Themedatei ist hier enthalten
Wenn Sie einen Beitrag zu eza leisten möchten, wird von Ihnen zunächst erwartet, dass Sie unseren Verhaltenskodex befolgen. Nachdem Sie den Verhaltenskodex verstanden haben, können Sie einen Blick auf unsere Seite CONTRIBUTING.md werfen, um weitere Informationen über tatsächliches Hacking zu erhalten.