Eine Auffrischung Ihrer Linux-Terminalbefehle für 2026
Gleiche Philosophie, weniger Reibung. Upgrades, die Sie noch heute Nachmittag einbauen können
tl;dr
Die ersten vier Zeilen der Tabelle enthalten klassische Unix-Befehle sowie ihre modernen, direkt einsetzbaren Ersatzprogramme. Die neuen Tools sind schneller, effizienter und optisch ansprechender. Besonders hervorzuheben sind jedoch die letzten beiden Zeilen, in denen fzf und zoxide aufgeführt sind. Sie schließen Lücken, um die sich das ursprüngliche Toolkit nie kümmern musste.
Als Unix 1970 zum ersten Mal auf den Markt kam, musste sich noch niemand durch Megabytes an Befehlsverlauf kämpfen oder durch ein Home-Verzeichnis mit zehn Unterverzeichnissen navigieren.
Sowohl fzf als auch zoxide verändern die beiden Dinge, die man am Terminal am häufigsten tut: das Durchsuchen des Verlaufs und das Wechseln zwischen Verzeichnissen. Sobald man sie so oft genutzt hat, dass sie in den Reflexen verankert sind, erscheint einem die alte Vorgehensweise plötzlich unpraktisch.
„
: Schreibe Programme, die eine einzige Aufgabe erfüllen und diese gut ausführen.
: Schreibe Programme, die zusammenarbeiten.
: Schreibe Programme, die mit Textströmen umgehen können, denn das ist eine universelle Schnittstelle.“
zoxide – smarter cd
Bei cd zeigen sich die ersten Schwächen, sobald man sich in einer umfangreichen Verzeichnisstruktur bewegt. Am Ende hat man einen riesigen, unübersichtlichen Baum, von dem man in der Regel immer nur einige Teile gleichzeitig nutzt. Tatsächlich verfügen wir über komplexe Dateistrukturen, in denen wir uns auf einfache Weise bewegen. Um dem gerecht zu werden, nutzt das Tool das Konzept von „Frecency“ – eine Wortschöpfung aus „Frequency“ (Häufigkeit) und „Recency“ (Aktualität). Das heißt: Wie oft greifen Sie auf ein Verzeichnis zu und wann haben Sie es zuletzt aufgerufen? Gute Beispiele für die Anwendung finden Sie im GitHub-Repository von zoxide.
Falls Sie eine interaktivere Lösung wünschen (z. B. bei mehreren Verzeichnissen mit demselben Namen), gibt es den interaktiven Befehl „zi“, der alle Optionen in einem fzf- Fenster auflistet,
fzf – ein Fuzzy-Finder
Dieses Tool ist meine Standardantwort auf die oft gestellte Frage: „„Auf welches Terminal-Tool könntest du nicht verzichten?“. Es macht nichts besonders Bahnbrechendes, sondern nimmt lediglich Daten als Eingabe entgegen und lässt dich daraus bestimmte Elemente auswählen. Eine schnelle und effiziente Möglichkeit, große Datenmengen zu durchforsten, ist immer nützlich.
Der häufigste Anwendungsfall ist einfach, schnell an bestimmte Dateien heranzukommen. Wenn Sie sich beispielsweise denken: „… da gibt es eine FreeCAD-Datei, an der ich, wenn ich mich recht erinnere, mal gearbeitet habe und die irgendwoin diesem Verzeichnis liegt“, dann verwenden Sie einfach den Befehl:
> fd -e FCStd | fzf
Das Programm sucht einfach alle Dateien im aktuellen Verzeichnis (und den Unterverzeichnissen) mit der Erweiterung „FCStd“ und stellt Ihnen dann eine Fuzzy-Suche zur Verfügung, mit deren Hilfe Sie die gesuchte Datei eingrenzen können.
Sobald man sich an den Gedanken gewöhnt hat, dass man zunächst eine große Textmenge eingeben muss, um anschließend einen Teil davon auswählen zu können, ergeben sich immer neue Anwendungsmöglichkeiten. Als extremes Beispiel sei hier die folgende einzelne Zeile genannt (zur besseren Übersichtlichkeit aufgeteilt), mit der ich alle Titel aus meiner Musikbibliothek abrufen und dann die Alben auswählen kann, die ich in einer Wiedergabeliste haben möchte, zu der ich beim Tippen (mit ncmpcpp) im Takt mit dem Kopf nicken kann.
alias newmusic=' fd . "/data/nfs/shared/music/" \ -t d \ --min-depth 2 -d 2 |
rg -v "@" | sed "s|/data/nfs/shared/music/||" |
fzf --multi --bind „Strg-A: Alles auswählen“ |
while IFS= read -r dir; do fd -t f -e mp3 -e flac -e m4a . "/data/nfs/shared/music/$dir" done |
sort > $HOME/.mpd/playlists/newmusic.m3u '
Hier ist ein Video, das diesen Befehl in Aktion zeigt und wie die Musikdatei in nmpcpp geöffnet wird. Ein Problem, das mit einem einzigen Befehl und einer Reihe bereits vorhandener, effizienter Bausteine gelöst wurde – ganz ohne den unangenehmen Beigeschmack von „Vibe-Coding“.
Post-it-Zettel
Wenn es dir so geht wie mir, liegt oft eine gewisse Lücke zwischen dem Gedanken „Ich muss dieses nützliche Befehlszeilentool verwenden“ und der Erinnerung an die „Zauberformel“, mit der es funktioniert (mir fallen da spontan die Optionen für „tar“ ein). Hier findest du also kurze Zusammenfassungen einiger nützlicher Befehle für beide Tools (die du mit dem Befehl „tldr“ abrufen kannst):
zoxide – smarter cd
# Jump to highest ranked directory matching "foo"
z foo
# Match multiple keywords
z foo bar
# Interactive selection (requires fzf)
zi foo
# cd to a subdirectory starting with foo
z foo/
# cd one level up
z ..
# cd to previous directory
z -
# Tab completion for interactive selection
z foo<SPACE><TAB>
fzf – Fuzzy-Finder
# Find files in a directory
find path/to/dir -type f | fzf
# Search running processes
ps aux | fzf
# Select multiple files (<Shift Tab>)
find path/to/dir -type f | fzf --multi > file
# Start with a query
fzf --query "query"
# Pattern: start with core, end with go|rb|py
fzf --query "^core go$ | rb$ | py$"
# Exclude pyc and require travis
fzf --query '!pyc travis'

