eza

Aus wiki.archlinux.de
Version vom 5. Oktober 2023, 02:27 Uhr von Dirk (Diskussion | Beiträge) (Anpassungen exa -> eza)

Hinweis: eza ist ein Community-Fork des eingestellten exa. Bestehende Installationen werden automatisch durch eza ersetzt. Das Paket stellt exa als alternativen Programmnamen bereit, so dass bestehende Aliase weiterhin funktionieren.

eza ist eine zum großen Teil zu ls kompatible Konsolenanwendung zur Anzeige von Dateien und Verzeichnisinhalten, bietet dabei aber gleichzeitig standardmäßig viele moderne Funktionen, die mit ls nicht oder nur mit Aufwand umsetzbar sind.

Dazu gehören unter anderem standardmäßig farbige Darstellung zur Unterscheidung der Dateitypen, Git-Integration, Baumansicht mit Dateidetails, Erweiterte Dateiattribute (xattrs), vielfältig kombinierbare Dateifilter und Sortieroptionen, und nicht zuletzt das parallele erfassen von Dateien, das es schneller macht als ls, das die Dateien nur nacheinander erfassen kann.

Installation

Das Programm ist als eza in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S eza

Aus kompatibilitätsgründen zu exa lässt sich eza nicht nur per eza start, sondern auch per exa.

Konfiguration

Die Grundkonfiguration von eza erfolgt über Umgebungsvariablen, die Ausgabe von eza kann mittels Befehlszeilenoptionen angepasst werden (siehe Beispiele).

Variable Auswirkung
EZA_STRICT=true Kann verwendet werden, um sich gegenseitig ausschließende Optionen abzufangen, wenn zwei gegensätzliche Optionen angegeben werden, bricht eza mit einer Fehlermeldung ab, anstatt stillschweigend die erste Option zu verwenden.
EZA_GRID_ROWS=N Wenn man --grid --long (siehe Beispiele) verwendet, und das Konsolenfenster sehr breit ist, kann es sein, dass man nur eine Zeile erhält, mittels dieser Option wird sichergestellt, dass die Grid-Ansicht nur dann verwendet wird, wenn mehr als N Zeilen Pro Spalte generiert werden würden.
EZA_COLORS='…' Zu LS_COLORS kompatible Liste an Farbdefinitionen, die allerdings wesentlich mehr mögliche Farben zulässt. Dies wird nur benötigt, wenn man das Stnadardmäßige Farbschema nicht verwenden möchte.
EZA_ICON_SPACING=N Abstand von N Zeichen zum Namen, wenn man Datei-Icons verwendet (siehe Beispiele), da Terminals unterschiedlich weite Abstände generieren, wenn sie Icons darstellen sollen.
COLUMNS=N Benutzt für die Ausgabe N Zeichen anstatt die Anzahl an Zeichen die das Terminal breit ist. Wenn das Terminal schmaler als N ist, wird ganz normal am Rand des Terminals umgebrochen.

Beispiele

eza lässt sich vielfältig über Befehlszeilenoptionen konfigurieren, die sich fast beliebig miteinander konfigurieren lassen. Eine gute Anlaufstelle sind die Offizielle Seite, sowie die Manpage von eza. Die Beispielscreenshots verwenden den alternativen Programmaufruf exa (siehe Hinweis am Artikelanfang), zu den Screenshots wird auch immer der Aufruf mit eza gezeigt.

Baumansicht

Eine ausführliche Ansicht mit Dateieigenschften sowie der Baumstruktur der Dateien und Verzeichnisse.

eza --long --tree

Grid-Ansicht von /

Das Grid passt sich automatisch an die Breite des Terminal-Fensters an.

eza --long --grid /

Das kann dazu führen, dass pro Spalte im Grid nur eine Datei angezeigt wird, was eventuell nicht gewollt ist, hier kann man mittels Umgebungsvariable EZA_GRID_ROWS=N definieren, dass mindestens N Zeilen pro Spalte benutzt werden sollen. Wenn weniger Zeilen möglich sind, wird das Grid nicht benutzt.

Header für die Spalten und Git-Information

Für etwas mehr Übersicht kann man sich für die einzelnen Spalten der langen Ansicht die entsprechenden Header anzeigen lassen. Wenn man in einem Git-Repository ist, kann man sich zusätzlich Git-Statusinformationen anzeigen lassen.

eza --long --header --git

Aktuell werden für die Git-Informationen lediglich erfasst, ob es eine „neue Datei“ ist die bisher nicht versioniert wurde, oder ob an einer bestehenden Datei Änderungen vorgenommen werden.

Rekursion mit Limit

Standardmäßig wird von eza bei der rekursiven Anzeige von Dateien und Verzeichnissen alles angezeigt, wenn man diese Informationen nicht benötigt, kann man den Level der Rekursion begrenzen

eza --recurse --long --level=2

Baumansicht mit Icons

Es besteht die Möglichkeit, sich Unicode-Icons für die gängigsten Dateitypen anzeigen zu lassen, hierbei wird die Dateiendung benutzt, und nicht der eigentliche Dateityp.

eza --icons --tree

Damit Icons angezeigt werden, muss der Terminalemulator Unicode-Fähig sein, und es muss eine Schriftart verwendet werden, die für die Code-Points aus der Private Use Area (U+E000 bis U+F8FF) entsprechende Zeichen bereitstellt. Hierzu werden empfehlen die gepatchten Schriften aus dem Nerd-Fonts-Projekt empfohlen, diese sind im AUR verfügbar: [1].

Komplexer Aufruf mit Dateizeiten

Man kann sich zum Beispiel auch alle Dateizeiten (erstellt, geändert, letzter Zugriff) anzeigen lassen, und mittels weiterer Optionen entsprechend so gestalten, dass man nur die Zeiten und den Dateinamen erhält.

eza --long --header --changed --modified --created --accessed --no-permissions --no-user --no-filesize --sort created --reverse --time-style=long-iso --ignore-glob=directory?

Damit die Zugriffszeit angezeigt werden kann, muss ein Dateisystem verwendet werden, dass dies Unterstützt, und diese Funktion auch aktiv hat.

Einfacher Aufruf mit Pipe

… selbstverständlich kann man eza auch einfach wie ls benutzen, um zum Beispiel die Anzahl der Dateien anzeigen zu lassen.

eza | wc -l

eza ist nicht zu 100 Prozent kompatibel mit ls, aber dies ist entsprechend dokumentiert.

Weblinks