Skip to content
tutorials

Der Befehl 'ls' ist veraltet.

Der Standardbefehl 'ls' hat sich seit Jahrzehnten nicht weiterentwickelt, was modernen Entwicklern ein veraltetes Werkzeug hinterlässt. Eine Rust-basierte Alternative namens eza revolutioniert das Terminal mit integrierter Git-Unterstützung, Dateisymbolen und überlegener Leistung.

Dani Roth
Der Befehl 'ls' ist veraltet.

Warum Ihr Terminal in der Vergangenheit feststeckt

Geben Sie heute im Terminal ls ein und Sie reisen effektiv zurück in die 1970er Jahre. Der Befehl macht immer noch das, was er immer getan hat – er gibt eine Verzeichnisauflistung aus – aber moderne Entwicklungs-Workflows verlangen weit mehr als eine monochrome Spalte von Dateinamen. Ihr Editor, Browser und IDE haben sich weiterentwickelt; Ihr Dateilister hingegen größtenteils nicht.

Traditionelles ls weiß nichts über Git, obwohl praktisch jedes ernsthafte Projekt in einem Repository lebt. Sie können nicht einfach in ein Verzeichnis schauen und sehen, welche Dateien modifiziert, ignoriert oder nicht verfolgt sind, ohne separate git status-Befehle auszuführen. Das bedeutet ständiges mentales Umschalten: ls, um Dateien zu sehen, git, um den Status zu prüfen, und Ihr Gehirn, um alles zusammenzufügen.

Visuelles Feedback ist ebenso primitiv. GNU ls kann Ausgaben farblich kennzeichnen, beschränkt sich jedoch auf grundlegende Dateitypen und Berechtigungen, ohne Konzepte für Icons, klickbare Pfade oder Farbverläufe, die große oder aktuelle Dateien hervorheben. Sie erhalten keine:

  • Git-bewussten Indikatoren
  • Dateispezifische Icons
  • Hyperlinks, die Sie in modernen Terminals anklicken können

Die Informationsdichte ist ein weiteres Problem. Ein langer ls -l-Dump presst Berechtigungen, Eigentümer, Größen und Zeitstempel in eine Textwand, die schlecht skaliert, sobald ein Verzeichnis Hunderte von Einträgen enthält. Entweder sieht man zu wenig (ls) oder viel zu viel (ls -l), ohne eine differenzierte Zwischenlösung wie „nur Verzeichnisse“, „Git-ignorierte Dateien ausblenden“ oder „Verzeichnisse zuerst anzeigen“.

Inzwischen ist Ihr Terminal zu Ihrer primären Benutzeroberfläche geworden, da Tools wie Git, Docker und Kubernetes mehr Arbeitsabläufe in die Befehlszeile verlagern. Sie wechseln zwischen Linux und macOS, jonglieren mit Dutzenden von Repositories und sind immer noch auf einen Dateilister angewiesen, der vor der Zeit des verbreiteten Versionsmanagements entwickelt wurde. Warum versteht Ihre Verzeichnisansicht nicht Ihr VCS, Ihre Schriftarten oder Ihr Farbschema?

Wie würde ein Dateiliste-Tool aussehen, wenn es für 2025 und nicht für 1975 entworfen wäre? Was wäre, wenn ls den Git-Status direkt anzeigen, automatisch Icons hinzufügen und intelligente Sortier- und Filterflags verwenden könnte, die dem entsprechen, wie Sie tatsächlich arbeiten? Diese Lücke – zwischen dem, was ls bietet, und den Erwartungen der Entwickler von heute – ist genau der Bereich, in den eza hineinschreitet.

Treffen Sie Eza: Der Nachfolger einer Legende

Illustration: Lernen Sie Eza kennen: Der Nachfolger einer Legende
Illustration: Lernen Sie Eza kennen: Der Nachfolger einer Legende

Befehlszeilen-Traditionalisten mögen es nicht gerne hören, aber eza ist das Tool, das sich im Jahr 2025 so verhält, wie es die Menschen von ls erwarten. Es kommt mit sinnvollen Voreinstellungen, farbiger Ausgabe und einem Layout, das tatsächlich relevante Informationen präsentiert: Dateitypen, Git-Status und menschenlesbare Metadaten, anstatt einer monochromen Textwand. In Rust geschrieben, setzt es auf Speichersicherheit und aggressive Parallelität, um auch in großen Repositories schnell zu bleiben.

Eza erschien nicht aus dem Nichts. Es begann als ein von der Community geführter Fork von exa, dem beliebten Rust ls-Ersatz, der von Benjamin Sago (bekannt als „ogham“) erstellt wurde und jahrelang nicht mehr gewartet wurde. Als exa ins Stocken geriet, verlagerten die Mitwirkenden den Code in das eza-community/eza Repository, behebten langanhaltende Probleme und begannen, regelmäßige Releases für Linux und macOS zu veröffentlichen.

Abgesehen von der Herkunft ist die Botschaft von eza einfach: bessere Voreinstellungen, reichhaltigere Informationen und eine Entwickler-zuerst-Erfahrung. Führen Sie eza -l --git aus, und Sie sehen sofort git-bewusste Marker wie M für geändert, N für neu und I für ignorierte Dateien im selben Listing wie Berechtigungen und Größen. Fügen Sie --git-repos hinzu, und Verzeichnisse verwandeln sich in ein Dashboard von Branches und dem Status „dirty/clean“ über mehrere Repos hinweg.

Die visuelle Signalstärke ist der Punkt, an dem eza sich von ls abhebt. Farben sind in der interaktiven Nutzung immer aktiviert, und Flags wie --colour=always bewahren sie durch Pipes, während --colour-scale Farbverläufe verwendet, um große oder aktuelle Dateien hervorzuheben. Mit einem installierten Nerd Font dekoriert --icons jeden Eintrag mit Symbolen für den Dateityp, und --hyperlink verwandelt Pfade in klickbare Links in Terminals, die dies unterstützen.

Die Entwicklerergonomie zeigt sich im Sortierungs- und Filtermodell. Anstelle von komplizierten Kombinationen der ls-Flags bekommst du klare Optionen wie:

  • --sort=size, --sort=time oder --sort=extension
  • --reverse für umgekehrte Reihenfolge
  • --group-directories-first, --only-dirs oder --only-files

Alternativen gibt es, aber eza zielt direkt darauf ab. Das Projekt behauptet ausdrücklich, schneller zu sein als lsd, ein weiterer Rust ls Klon, und bietet eine tiefere Git-Integration, Themen über Konfigurationsdateien, Baumansichten mit --tree und Kompatibilitätsschichten, sodass Sie ls oder sogar exa auf eza aliasieren und den Wechsel einfach vergessen können.

Installation und Ihr erster Alias

Moderne macOS-Maschinen machen die Installation von eza nahezu trivial. Mit eingerichtetem Homebrew führen Sie aus:

  • brew install eza

Dieser einzelne Befehl zieht ein bereits kompiliertes Rust-Binary, fügt es Ihrem PATH hinzu und gibt Ihnen Updates über brew upgrade eza, wann immer das Projekt eine neue Version veröffentlicht.

Linux-Nutzer erhalten eine ähnliche Behandlung. Auf Debian/Ubuntu führen Sie sudo apt install eza aus (bei älteren Versionen benötigen Sie möglicherweise die GitHub .deb). Auf Arch und Abkömmlingen installiert sudo pacman -S eza aus den Community-Repositories. Andere Distributionen verpacken es entweder unter eza oder dokumentieren Anweisungen auf eza – Eine moderne Alternative zu ls (Offizielles GitHub).

Um eza unsichtbar, aber allgegenwärtig zu machen, aliasiere es zu ls. Füge diese Zeile zu deiner Shell-Konfiguration hinzu:

  • Bash: füge alias ls='eza' zu ~/.bashrc hinzu
  • Zsh: füge alias ls='eza' zu ~/.zshrc hinzu

Nachdem du die Änderungen vorgenommen hast, lade mit source ~/.bashrc oder source ~/.zshrc neu, oder öffne einfach einen neuen Terminal-Tab.

Zuerst führen Sie eza ohne Flags aus. Sie erhalten sofort farbcodierte, spaltenausgerichtete Ausgaben, die die Terminalbreite besser respektieren als ls. Verborgene Dateien bleiben standardmäßig verborgen, was die Projektwurzeln lesbarer hält.

Versuche als Nächstes eza -l. Die langsame Ansicht fügt Berechtigungen, Eigentümer, Größen und Zeitstempel in einem übersichtlicheren Layout hinzu, wobei Farben Metadaten von Dateinamen trennen. Führe dann eza -a aus, um Dotfiles einzuschließen; du erhältst immer noch eine saubere, farblich sortierte Liste anstelle der visuellen Suppe, die ls -a normalerweise erzeugt.

Wenn Ihr Alias nichts bewirkt, haben Sie wahrscheinlich die falsche Datei bearbeitet oder Ihre Shell lädt eine andere Konfiguration. Überprüfen Sie $SHELL, um zwischen Bash und Zsh zu unterscheiden, stellen Sie sicher, dass die Alias-Zeile keine überflüssigen Leerzeichen oder Anführungszeichen enthält, und führen Sie type ls aus, um zu überprüfen, ob es jetzt auf eza verweist. Bei Zweifeln starten Sie das Terminal neu, um eine saubere Umgebung zu erzwingen.

Entfesseln Sie Git direkt in Ihren Dateilisten

Git-bewusste Dateianzeigen verhindern, dass Sie alle 30 Sekunden zu git status wechseln müssen. Mit eza ist Git kein separater Schritt; es ist direkt in die Verzeichnisansicht integriert, sodass der Zustand Ihres Arbeitsbaums neben Dateinamen, Größen und Zeitstempeln angezeigt wird.

Führen Sie eza -l --git in jedem Repository aus, und Sie erhalten eine zusätzliche Statusspalte direkt von Git. Jede Datei zeigt ein prägnantes Zeichen, das aus git status --short entnommen wurde, sodass Sie auf Probleme achten können, ohne einen Textblock durchforsten zu müssen.

Diese kleinen Buchstaben tragen viel Bedeutung. Im Langformat verwendet eza:

  • M auf der linken Seite: modifiziert und vorbereitet
  • M auf der rechten Seite: modifiziert, aber nicht bereitgestellt
  • N: neue, nicht verfolgte Datei
  • I: von .gitignore oder .git/info/exclude ignoriert

Da diese Marker pro Zeile angezeigt werden, sehen Sie sofort, welche Dateien sicher sind, welche halb eingecheckt sind und welche noch wild sind. Kein Rätselraten mehr, welche src/-Änderung Sie vor Ihrem letzten Commit vergessen haben hinzuzufügen.

Große Monorepos vervielfachen diesen Wert. Mit eza --git --tree --level=2 können Sie einer Projektstruktur folgen und den Git-Status in jeder Tiefe im Blick behalten. Diese Kombination verwandelt eine einfache Baumansicht in eine lebendige Karte unbehandelter Arbeiten.

Repository-Sprawl schafft ein anderes Problem: zu wissen, welches Projekt sauber ist, bevor Sie Ihren Push durchführen. Das --git-repos-Flag begegnet genau diesem Problem. Weisen Sie eza auf ein Verzeichnis voller Projekte hin, und es fasst jedes Git-Repo in einer einzigen Zeile zusammen.

Für jedes Unterverzeichnis, das einen .git-Ordner enthält, zeigt eza --git-repos den aktuellen Branch sowie einen „sauber“ oder „unschuldig“ Indikator an. Sie können gleichzeitig 10 oder 50 Repos überblicken und sofort dasjenige mit ungeschobenen oder uncommitteten Änderungen erkennen.

Geräusche von generierten Assets und Protokollen können das Signal in großen Codebasen überlagern. Fügen Sie --git-ignore hinzu und eza blendet alles aus, was Git bereits ignoriert, wodurch Ihre .gitignore-Regeln effektiv auf die Dateiansicht selbst angewendet werden. Node dist/, Python .venv/, coverage/-Berichte und Build-Artefakte verschwinden aus der Sicht.

Kombinieren Sie diese Flags und das Terminal wird zu einem Git-Dashboard: eza -l --git --git-ignore --group-directories-first für gezieltes Bearbeiten oder eza --git-repos ~/code für eine portfolioweite Statusüberprüfung. Das alte ls zeigt Dateien; eza zeigt den tatsächlichen Zustand Ihrer Arbeit.

Jenseits von Schwarz und Weiß: Eine Welt der Farben

Illustration: Jenseits von Schwarz und Weiß: Eine Welt der Farben
Illustration: Jenseits von Schwarz und Weiß: Eine Welt der Farben

Farbe ist der Punkt, an dem eza aufhört, so zu tun, als wäre es ein einfacher Ersatz, und stattdessen wie eine moderne Benutzeroberfläche wirkt, die in ein Terminal gepresst wurde. Im Lieferumfang ist eine intelligente Standardpalette enthalten, die Dateitypen, Berechtigungen und Metadaten auf einen Blick darstellt: Verzeichnisse in einem Farbton, ausführbare Dateien in einem anderen, Symlinks in einem dritten, mit zusätzlichen Akzenten für Dinge wie Sticky Bits und überall schreibbare Pfade. Du musst nichts konfigurieren; du führst einfach eza aus und dein Dateisystem hat plötzlich eine Legende.

Das traditionelle ls --color wirkt im Vergleich grob. Die Voreinstellungen von Eza unterscheiden nicht nur, um welche Art von Datei es sich handelt, sondern auch, wie sicher es ist, sie zu berühren. Verdächtige Berechtigungskombinationen, wie gruppenschreibbare Binärdateien, fallen sofort ins Auge und fungieren jedes Mal, wenn Sie ein Verzeichnis auflisten, als eine unkomplizierte Sicherheitsüberprüfung.

Farbe wird noch wichtiger, sobald Sie mit dem Piping beginnen. Viele Tools entfernen ANSI-Codes, es sei denn, Sie sagen ihnen ausdrücklich, dass sie dies nicht tun sollen. Daher bietet eza die Option --colour=always, um eine persistente Farbgebung zu erzwingen. Dieses eine Flag sorgt dafür, dass Ihre Farbtöne durch grep, less -R, fzf oder sogar in Protokolldateien, die Sie später verfolgen, lebendig bleiben.

Zusammen verwendet sieht das Muster so aus:

  • eza --colour=always | less -R
  • eza --colour=always | grep Muster
  • eza -l --git --colour=always | fzf

Wo eza sich wirklich von ls abhebt, ist bei --colour-scale, einer Funktion, die Rohmetadaten in einen visuellen Gradienten umwandelt. Mit --colour-scale=size leuchten große Artefakte – denken Sie an Multi-Gigabyte-VM-Images oder aufgeblähte node_modules – anders als kleine Konfigurationsdateien. Wechseln Sie zu --colour-scale=age, und die Änderungen von gestern strahlen vor dem Hintergrund unberührter, veralteter Daten.

Diese Verläufe skalieren besonders gut bei großen Bäumen. Führen Sie eza --tree --colour-scale=size für ein Projekt aus und Sie können die 3–4 Dateien, die Speicherplatz beanspruchen, erkennen, ohne eine einzige Zahl zu lesen. Es fühlt sich eher wie eine Heatmap als wie eine einfache Auflistung an.

Wenn Ihnen die Voreinstellungen nicht gefallen, fängt eza Sie nicht ein. Es unterstützt benutzerdefinierte Farbschemata, die aus Konfigurationsdateien geladen werden, die semantische Rollen (Verzeichnis, Symlink, Socket, git-modifiziert) spezifischen Stilen zuordnen. Sie können ein Community-Theme von eza-community/eza herunterladen, in Ihre Konfiguration einfügen oder Ihr eigenes erstellen, damit jedes Terminal, das Sie nutzen, unmissverständlich Ihnen gehört.

Meistere die Ansicht: Von Gittern zu Bäumen

Die Rasteransicht ist der Ausgangspunkt von eza. Standardmäßig packt sie Dateinamen in ein mehrspaltiges Raster, das deine Terminalbreite nutzt, um das unordentliche, einspaltige Durcheinander zu vermeiden, das man oft von ls erhält. In dieser Ansicht erhältst du weiterhin Farben, Icons und Git-Markierungen, sodass ein einfaches eza bereits informativer ist als ls -F.

Wenn Sie Details benötigen, ist der lange Überblick das Arbeitspferd. eza -l wechselt zu einer langen Auflistung mit Berechtigungen, Eigentümern, Gruppen, Größen, Zeitstempeln und optionalem Git-Status in einer sauberen, ausgerichteten Tabelle. Kombinieren Sie -l mit -a, um versteckte Dateien anzuzeigen, oder mit --group-directories-first, um Ordner ganz oben in der Liste zu halten.

Manchmal braucht man Dichte, nicht Dekoration. eza --oneline druckt einen Eintrag pro Zeile, ideal für Skripting, das Pipen in fzf oder das Überfliegen großer Verzeichnisse ohne horizontales Scrollen. Fügen Sie --sort=size oder --sort=modified hinzu, um dies in einen schnellen visuellen Bericht über Ihre größten oder neuesten Dateien zu verwandeln.

Entwickler neigen zu eza --tree. Die Baumansicht durchläuft rekursiv Verzeichnisse und zeigt eine vollständige Hierarchie mit Zeichen für Kästchen, Symbolen und Farben an, sodass geschachtelte Verzeichnisse wie src, tests und migrations sofort verständlich werden. Führen Sie eza --tree src in einem JavaScript- oder Rust-Repo aus, und Sie erhalten eine Projektkarte, die jede ls -R-Textwand übertrifft.

Der Baum-Ausgabe kann in realen Monorepos explodieren, daher bringt eza eine scharfe Bremse mit: --level. Verwenden Sie eza --tree --level=2, um nur die obersten zwei Ebenen eines Node-Arbeitsbereichs zu sehen, oder --level=4, um tiefer in packages/ zu schauen, ohne in node_modules zu ertrinken. Diese Tiefenbegrenzung verwandelt --tree von einer Spielerei in ein tägliches Werkzeug zum Navigieren durch komplexe Strukturen.

Für mehr Kontrolle bietet eza eine Handvoll gezielter Anzeige-Schalter. --header fügt langen Listen eine Kopfzeile hinzu, die Spalten wie Berechtigungen, Größe und Änderungszeit beschriftet, was perfekt ist, wenn Sie Ausgaben für Dokumentationen oder Fehlermeldungen screenshots. --inode zeigt Inode-Nummern an, die beim Debuggen von harten Links oder seltsamem Dateisystemverhalten von unschätzbarem Wert sind.

Power-User können diese Flags stapeln. Ein Befehl wie eza -la --header --inode --tree --level=2 bietet Ihnen in einem Rutsch eine reichhaltig annotierte, zweistufige Projektübersicht. Für tiefere Einblicke in diese Modi und weitere Beispiele erläutert eza: Vereinfachte Dateiansicht mit verbesserter 'ls'-Funktionalität – Linuxiac zusätzliche Kombinationen und Randfälle.

Gefällt Ihnen der Artikel? Erhalten Sie jeden Morgen einen wie diesen per E-Mail.

eine E-Mail pro Tag · Abmeldung mit zwei Klicks · kein Tracking durch Dritte

Befehle Deine Daten: Sortieren und Filtern wie ein Profi

Befehlszeilen-Power-User leben und sterben nach Sortierreihenfolgen. Eza behandelt das Sortieren als ein erstklassiges Feature mit einem einzigen, konsistenten --sort-Flag anstelle der Mischmasch-Optionen von ls. Sie können nach Größe (--sort=size), Änderungszeit (--sort=modified oder --sort=mtime), Erstellungszeit (--sort=created oder --sort=ctime), Name (--sort=name) oder Erweiterung (--sort=extension) sortieren.

Während ls das Verhalten über Flags wie -t, -S und -X verteilt, fasst eza es in lesbare, skriptfreundliche Argumente zusammen. Benötigen Sie die größten Artefakte ganz oben in Ihrem Build-Verzeichnis? eza --sort=size --reverse target` zeigt die größten Übeltäter sofort an.

Das Umkehren einer Sortierung offenbart einen der wichtigsten Unterschiede zu ls. Anstatt separate Umkehr-Varianten wie -tr oder -Sr zu verwenden, nutzt eza immer dasselbe --reverse-Flag. Sie geben an, wonach sortiert werden soll, und kehren es dann um: eza --sort=modified --reverse bedeutet „älteste zuerst“, ohne geistige Verrenkungen erforderlich.

Diese Designentscheidung zahlt sich aus, wenn Sie Optionen verketten. Eine lange Git-Ansicht Ihres Repos, mit den neuesten Änderungen oben, wird zu eza -l --git --sort=modified. Möchten Sie die gleiche Liste, aber mit dem ältesten überflüssigen Daten, die Sie wahrscheinlich löschen sollten? Fügen Sie --reverse hinzu und sonst ändert sich nichts.

Sortierung allein bringt dich nur halbwegs ans Ziel; ernsthafte Projekte benötigen Filterung. Eza liefert --group-directories-first, das Ordner an den Anfang der Liste schiebt, ohne seltsame Locale-Tricks oder Shell-Hacks. Kombiniere es mit --sort=name für ein sauberes, vorhersehbares Layout in jeder Sprache.

Wenn Sie den Lärm reduzieren müssen, fungieren --only-dirs und --only-files wie chirurgische Filter. Durchsuchen Sie einfach Ihre Verzeichnisstruktur mit eza --only-dirs --group-directories-first --tree, oder inspizieren Sie nur kompilierte Binärdateien und Assets mit eza --only-files --sort=size. Keine find-Beschwörungen erforderlich.

Diese Flags beginnen, sich wie Abfrageoperatoren anzufühlen, wenn man sie stapelt. Häufige Kombinationen aus der realen Welt sind:

  • eza --group-directories-first --sort=extension --only-files src
  • eza -l --sort=created --reverse --only-files dist
  • eza --sort=modified --only-dirs --git

Dieser letzte Befehl zeigt nur Verzeichnisse an, sortiert nach aktueller Aktivität, mit integriertem Git-Status – eine Live-Hitzekarte, wo Ihre Arbeit tatsächlich stattfindet.

Illustration: Ihr Terminal, jetzt mit Symbolen und Hyperlinks
Illustration: Ihr Terminal, jetzt mit Symbolen und Hyperlinks

Ikonen verwandeln eza von einem intelligenten ls in etwas, das tatsächlich modern wirkt. Fügen Sie --icons zu einem beliebigen Befehl hinzu, und die Dateilisten erhalten plötzlich winzige, aussagekräftige Glyphen: ein Python-Logo für .py, ein Dokumentensymbol für .md, ein Zahnrad für ausführbare Dateien, unterschiedliche Symbole für Symlinks und versteckte Dateien. Verzeichnisse erhalten Ordnersymbole, und Git-Repos stechen sofort hervor, wenn sie mit --git und --git-repos kombiniert werden.

Diese Icons hängen von Nerd Fonts ab, einem beliebten Projekt, das entwicklerfreundliche Schriftarten mit Tausenden von zusätzlichen Glyphen modifiziert. Nerd Fonts bündelt Symbole aus Projekten wie Font Awesome, Devicons und Octicons in über 50 Basis-Schriftarten. Sie installieren kein Plugin für eza; Sie installieren eine Schriftart, die Ihr Terminal rendern kann.

Auf macOS umfasst eine typische Einrichtung drei Schritte. Laden Sie eine Nerd Font wie FiraCode Nerd Font oder JetBrainsMono Nerd Font von nerdfonts.com herunter, installieren Sie sie durch Doppelklicken und Klicken auf „Font installieren“ und richten Sie dann Ihr Terminal darauf ein. Linux-Nutzer können oft über Paketmanager installieren (zum Beispiel sudo pacman -S nerd-fonts-jetbrains-mono) und es dann in den Einstellungen ihres Emulators auswählen.

Die Konfiguration von iTerm2 ist unkompliziert. Öffnen Sie die Einstellungen → Profile → Text, klicken Sie auf den Schriftartenwähler und wählen Sie Ihre installierte Nerd Font (sowohl die reguläre als auch die nicht-ligierten Varianten funktionieren). Danach zeigt eza --icons sofort Sprachlogos, Archivsymbole für .zip und .tar.gz, Datenbanksymbole für .sql und mehr an.

Kitty-Nutzer bearbeiten kitty.conf direkt. Setzen Sie eine Zeile wie font_family JetBrainsMono Nerd Font und starten Sie Kitty neu oder laden Sie die Konfiguration neu. Da Kitty modernes Unicode klar unterstützt, werden Icons scharf dargestellt, ohne fehlerhaft ausgerichtete Spalten oder beschädigte Boxzeichen.

Die visuelle Dichte steigt, aber die kognitive Belastung sinkt. Wenn Sie etwas wie eza -l --git --icons ausführen, kann Ihr Auge nach Folgendem scannen:

  • Ordnersymbole, um die Verzeichnisstruktur nachzuvollziehen
  • Repo-Symbole, um Git-Wurzeln zu erkennen
  • Sprachsymbole, um .ts, .rs, .go auf einen Blick zu finden

Hyperlinks bringen eza noch weiter in das Gebiet der grafischen Benutzeroberflächen. Mit --hyperlink gibt eza OSC 8 Escape-Sequenzen aus, die viele moderne Terminals als anklickbare Links erkennen. Dateinamen werden zu URLs, die auf file://-Pfade verweisen, sodass ein Klick darauf den Finder auf macOS, Ihren Dateimanager auf Linux oder einen Editor, der sich als Handler registriert, öffnen kann.

Die Unterstützung variiert je nach Emulator, aber iTerm2, Kitty und aktuelle Builds des GNOME Terminals verarbeiten diese Links zuverlässig. Kombinieren Sie --hyperlink mit --icons --long --git, und Sie erhalten ein kompaktes, klickbares, visuell codiertes Dashboard Ihres Arbeitsverzeichnisses – alles mit einem einzigen Befehl.

Eza vs. Die Alte Wache: ls, exa und LSD

Der altehrwürdige ls ist nach wie vor auf jedem Unix-ähnlichen System verfügbar, aber sein Funktionsumfang stagniert seit Jahrzehnten. Keine Farben standardmäßig, keine Git-Unterstützung, keine Icons und keine Hyperlinks. Auch wenn Sie Aliase und LS_COLORS hinzufügen können, jonglieren Sie dennoch mit Flags, die zwischen GNU Coreutils, BSD und macOS variieren.

Moderne Ersatzlösungen lassen sich in drei Gruppen unterteilen: exa, lsd und eza. Alle drei streben nach ansprechenderen Voreinstellungen, Farben und besserer Metadaten. Nur eine von ihnen wird jedoch im Jahr 2024 intensiv weiterentwickelt.

Kurzer Überblick über die Funktionen:

  • ls: C, allgegenwärtig, minimale Funktionen, kein Git, keine Icons
  • exa: Rust, auf GitHub archiviert, Farbe, grundlegendes Git, einige Baumunterstützung
  • lsd: Rost, meinungsstarke Symbole und Farben, kein tiefes Git, langsamere Funktionsgeschwindigkeit
  • eza: Rust, aktive Gemeinschaft, Git-lastig, Icons, Hyperlinks, Bäume, Themen

Kernunterscheidungsmerkmal: exa ist effektiv eingefroren. Das GitHub-Repository ist archiviert, mit offenen Problemen und unmerged PRs, die sich ansammeln. Eza begann als Fork, aber die Maintainer der eza-Community haben es in ein dynamisches Projekt umgebaut, das häufige Releases, moderne Flags und schnell verfügbare Distro-Pakete bietet.

Die Leistung bleibt bei dem Rust-Trio konstant hoch. Benutzerbenchmarks zeigen, dass eza und lsd Verzeichnislisten in wenigen Millisekunden auf mittleren Bäumen durchführen und in der Regel GNU ls übertreffen, sobald vergleichbare Farb- und Klassifizierungsflaggen aktiviert werden. Eza nutzt das asynchron-freundliche Ökosystem von Rust und enge Systemaufrufe, um die Latenz niedrig zu halten, selbst wenn --git oder --tree ganze Repositories durchlaufen.

Die Funktionstiefe ist der Bereich, in dem eza überlegen ist. Sie erhalten --git, --git-repos, --git-ignore, --colour-scale, --icons, --hyperlink, --only-dirs und --sort mit Feldern wie size, modified, created und extension. Lsd konzentriert sich auf ansprechende Standardeinstellungen und Symbole, überspringt jedoch erweiterte Git-Metadaten; exa bietet einige Git-Informationen, versäumt jedoch neuere Flags und Bugfixes, die eza hinzugefügt hat.

Ecosystem und Dokumentation besiegeln den Deal. Eza ist in Homebrew, großen Linux-Repos verfügbar und bietet ausführliche Man-Seiten sowie Community-Themen und Konfigurationssnippets. Für eine ausführlichere Analyse führt Transform Your Terminal with eza: The Upgrade ls Deserved – DEV Community durch praktische Setups und Aliase.

Insgesamt machen die aktive Entwicklung, die Rust-Leistung und ein Git-erstes Funktionsset eza zur leistungsfähigsten ls-Alternative, die Sie 2024 installieren können.

Gestaltung Ihres ultimativen Eza-Workflows

Beginnen Sie mit Aliasen. Die meisten Menschen gewöhnen sich eza mit ein paar effektiven Abkürzungen in ~/.zshrc oder ~/.bashrc an:

  • alias ll="eza -l --gruppenverzeichnisse-zuerst --git --symbole"
  • alias la="eza -la --Gruppendirektorien-zuerst --git --Symbole"
  • alias lt="eza --baum --stufe=2 --lang --git --symbole"
  • alias l1="eza --einzeilig --sort=name"
  • alias lg='eza -l --git --git-ignore --group-directories-first'

Diese fünf decken 90 % der täglichen Auflistung ab: detaillierte, alle Dateien, Baumansicht, einspaltige Ansicht und Git-bewusste Ansichten.

Als Nächstes erstellen Sie eine persönliche Standardeinstellung und binden Sie diese an ls selbst. Viele Entwickler tun dies:

alias ls="eza --verzeichnisse-zuerst --icons --git --kopfzeile"

Von dort aus fügen Sie Flags hinzu, die zu Ihrem Arbeitsablauf passen: --all, wenn Sie in Dotfiles leben, --binary, wenn Ihnen menschenlesbare Größen wichtig sind, oder --colour-scale=size, wenn Sie ständig große Artefakte in dist/ oder node_modules/ suchen.

Power-User stapeln mehrere Verhaltensweisen in spezialisierten Ansichten. Beispiele:

  • alias lcode='eza -l --git --git-ignore --sort=modifiziert --verzeichnisgruppen-zuerst src tests'
  • alias lbig="eza -l --sort=size --reverse --colour-scale=size"
  • alias lrecent='eza -l --sort=modified --reverse --colour-scale=age'
  • alias ldirs="eza --nur-verzeichnisse --gruppenverzeichnisse-zuerst --baum --stufe=3"

Diese fassen komplexe Absichten wie "zeige mir die aktuellen Codeänderungen" oder "zeige die größten Dateien" in 5–6 Zeichen zusammen.

Die Anpassung endet nicht bei Flaggen. Eza unterstützt Themen, sodass Sie ein Community-Thema in das Konfigurationsverzeichnis einfügen (siehe GitHub) und sofort wechseln können, oder Farben für Berechtigungen, Symlinks und Git-Zustände mithilfe des Themenleitfadens manuell anpassen. Kombinieren Sie das mit Nerd Fonts, --hyperlink und --icons, um Ihr Terminal in ein kompaktes, navigierbares Dashboard zu verwandeln.

Jetzt bist du dran: Poste deine besten eza-Aliase, Themen-Setups und verrückten Einzeiler in die Kommentare. Der Drei-Flaggen-Trick von jemand anderem könnte dein neues Standard-Setup werden.

Häufig gestellte Fragen

Was ist Eza?

Eza ist ein modernes, funktionsreiches Kommandozeilenwerkzeug, das den traditionellen 'ls'-Befehl ersetzt. Geschrieben in Rust, bietet es eine bessere Leistung, farbcodierte Ausgaben, Git-Integration, Dateisymbole, eine Baumansicht und mehr.

Ist eza ein direkter, sofort einsatzbereiter Ersatz für 'ls'?

Hauptsächlich, aber nicht vollständig. Während du 'ls' für den täglichen Gebrauch in 'eza' umwandeln kannst, unterscheiden sich einige Flags und Sortierverhalten. Zum Beispiel erfordert das Umkehren einer Liste nach Zeit eine andere Flag-Kombination in eza im Vergleich zu ls.

Wie installiere ich eza?

Sie können eza mit Paketmanagern wie Homebrew für macOS (brew install eza) oder dem Paketmanager Ihrer Distribution für Linux installieren (z. B. sudo apt install eza).

Warum benötige ich eine Nerd Font, um Icons mit eza zu verwenden?

Nerd Fonts sind spezielle Schriftarten, die mit einer großen Anzahl von Glyphen und Symbolen versehen sind. Eza verwendet diese Symbole, um verschiedene Dateitypen und Ordner darzustellen. Daher muss eine Nerd Font in Ihrem Terminal installiert und konfiguriert werden, um sie korrekt anzuzeigen.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only