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.
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.
Grid-Ansicht von /
Das Grid passt sich automatisch an die Breite des Terminal-Fensters an.
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.
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
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.
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.
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 ist nicht zu 100 Prozent kompatibel mit ls
, aber dies ist entsprechend dokumentiert.