Eza
exa 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
exa
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Konfiguration
Die Grundkonfiguration von exa erfolgt über Umgebungsvariablen, die Ausgabe von exa kann mittels Befehlszeilenoptionen angepasst werden (siehe Beispiele).
Variable | Auswirkung |
---|---|
EXA_STRICT=true
|
Kann verwendet werden, um sich gegenseitig ausschließende Optionen abzufangen, wenn zwei gegensätzliche Optionen angegeben werden, bricht exa mit einer Fehlermeldung ab, anstatt stillschweigend die erste Option zu verwenden. |
EXA_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.
|
EXA_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.
|
EXA_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
exa 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 exa.
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 EXA_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 exa 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. Die exa-Autoren empfehlen die gepatchten Schriften aus dem Nerd-Fonts-Projekt, 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 exa auch einfach wie ls
benutzen, um zum Beispiel die Anzahl der Dateien anzeigen zu lassen.
exa ist nicht zu 100 Prozent kompatibel mit ls
, aber die Autoren haben dies auf der offiziellen Website in den Abschnitten zu den Entsprechenden Funktionen dokumentiert.