Post

10 CLI-Tools die auf keinem Unix/Linux-System fehlen sollten

10 CLI-Tools die auf keinem Unix/Linux-System fehlen sollten

Jeder der sich mit DevOps auseinandersetzen möchte, kommt an einer Linux Konsole / Terminal nicht vorbei. Tatsächlich wird Linux know-how überall als eine der grundlegend benötigten Kernkompetenzen im zusammenhang mit DevOps aufgeführt. Wer jetzt aber auch noch mit den klassischen Kommandos wie top, cat und find arbeitet, sollte jetzt weiter lesen und sich meine smarteren Alternativen anschauen.

Das Terminal ist nach wie vor das mächtigste Werkzeug in der Toolbox eines jeden IT-Profis aber nur, wenn man es auch vernünftig ausstattet. Die gute Nachricht dabei ist, das die Open-Source-Community in den letzten Jahren eine beeindruckende Anzahl moderner CLI-Tools hervorgebracht hat, die alte Unix-Klassiker nicht nur ersetzen, sondern regelrecht alt aussehen lassen.

In diesem Artikel stelle ich mal meine persönliche Top 10 Tools vor. Tools, die ich auf jedem System installiere, bevor ich ernsthaft anfange zu arbeiten. Ob Entwickler, DevOps-Engineer oder Systemadministrator, diese Liste ist für alle relevant, die das Terminal (auch unter macOS) täglich nutzen und dabei effizienter sein wollen.

Kleiner Hinweis: Alle Tools funktionieren auch auf macOS und werden mit Homebrew installiert. Wer das noch nicht auf seinem Mac hat, sollte meinen Artikel dazu lesen.

Die Qual der Wahl - Warum gerade diese 10

Meine Kriterien für diese Liste waren einfach. Das Tool muss einen echten Mehrwert gegenüber dem Standard-Pendant bieten, stabil und aktiv gepflegt sein, auf Linux (in diesem Artikel speziell Ubuntu) und macOS funktionieren und sich in realen Produktionsumgebungen bewährt haben. Kein akademisches Gedöns, sondern echte Tools die das Leben erleichtern.

Los geht’s.

1. htop – Der Klassiker

Was macht das Tool?

htop ist ein interaktiver Prozess-Viewer und die modernere Alternative zum uralten top. Es zeigt CPU-, RAM- und Swap-Auslastung in Echtzeit, erlaubt das direkte Beenden von Prozessen per Tastendruck und bietet eine farbkodierte, übersichtliche Darstellung, alles direkt im Terminal. Wer mag, kann sich aber auch die etwas modernere Variante btop mal anschauen.

htop

Warum unverzichtbar?

Weil top aus einer Zeit stammt, in der Bildschirme noch in Zeichen gemessen wurden und UX ein Fremdwort war. htop ist das, was top immer hätte sein sollen, sofort verständlich, navigierbar und tatsächlich nützlich. Wer zum ersten Mal auf einem neuen Server landet, öffnet htop und schaut was alles läuft.

Installation

Ubuntu:

1
sudo apt update && sudo apt install htop -y

macOS (Homebrew):

1
2
3
brew install htop
# oder
brew install btop

Pro-Tipp

Mit F2 öffnest du das Setup-Menü und kannst die Anzeige individuell anpassen, zum Beispiel CPU-Kerne einzeln anzeigen lassen oder die Farbgebung ändern. Besonders praktisch, mit F4 kannst du Prozesse live filtern.

Website des Entwicklers

2. Glances – Das System-Monitoring-Schweizer-Taschenmesser

Was macht das Tool?

Glances ist ein systemübergreifendes Monitoring-Tool, das auf einen Blick alles zeigt, was auf einem System passiert: CPU, RAM, Netzwerk, Festplatten, Prozesse, Docker-Container und vieles mehr. Es läuft im Terminal, kann aber auch als Webserver oder REST-API betrieben werden.

glances

Warum unverzichtbar?

Weil du mit einem einzigen Befehl einen vollständigen Systemüberblick bekommst, inklusive Docker (was ich am nützlichsten finde). Glances lässt sich auch im Client-Server-Modus betreiben, um mehrere Systeme remote zu überwachen, ohne gleich ein vollständiges Monitoring-System aufsetzen zu müssen. Für schnelle Diagnosen auf Produktionssystemen Gold wert, braucht aber auch etwas mehr an Ressourcen.

Installation

Ubuntu:

1
2
3
pip3 install glances
# Oder mit Docker-Support:
pip3 install glances[docker]

macOS (Homebrew):

1
brew install glances

Pro-Tipp

1
glances -w

Startet Glances als Webserver auf Port 61208, perfekt für Remote-Monitoring über den Browser. Mit glances --export influxdb lässt es sich sogar direkt in eine InfluxDB + Grafana-Pipeline integrieren.

Website des Entwicklers

3. eza – ls war gestern

Was macht das Tool?

eza ist ein moderner Ersatz für den allbekannten ls Kommandos. Es bietet Farbhervorhebungen, Git-Integration (zeigt direkt den Status von Dateien im Repository), Icons, Baumansicht und eine deutlich lesbarere Ausgabe und das alles “out-of-the-box”.

eza

Warum unverzichtbar?

Weil ls -la funktioniert, aber nicht schön ist. eza zeigt auf einen Blick, welche Dateien neu, geändert oder nicht getrackt sind – direkt im Verzeichnislisting. Das spart täglich mehrere mentale Kontextwechsel.

Installation

Ubuntu:

1
2
3
sudo apt install eza
# Falls nicht im Repo:
cargo install eza

macOS (Homebrew):

1
brew install eza

Pro-Tipp

Aliases in die ~/.bashrc oder ~/.zshrc eintragen, damit ls jetzt in schön funktioniert:

1
2
3
alias ls='eza --icons'
alias ll='eza -la --icons --git'
alias lt='eza --tree --icons --level=2'

Nach einem source ~/.zshrc ist ls dauerhaft aufgewertet, ohne große Umgewöhnung.

Website des Entwicklers

4. ncdu – Festplattenanalyse ohne Schmerzen

Was macht das Tool?

ncdu (NCurses Disk Usage) ist eine interaktive Alternative zu du. Es analysiert den Speicherverbrauch eines Verzeichnisses und zeigt das Ergebnis in einer navigierbaren Listenansicht an, sortiert nach Größe und mit der Möglichkeit, Verzeichnisse direkt zu löschen.

ncdu

Warum unverzichtbar?

Weil du -sh /* zwar gut funktioniert, aber beim Output weiß trotzdem nicht sofort, wo der Speicherplatz geblieben ist. ncdu zeigt es auf Anhieb, lässt sich durch die Verzeichnisstruktur navigieren und spart Zeit bei der Fehlersuche (z.B. “Wer hat /var/log vollgeschrieben?”).

Installation

Ubuntu:

1
sudo apt install ncdu -y

macOS (Homebrew):

1
brew install ncdu

Pro-Tipp

ncdu / Analysiert das gesamte Dateisystem. Mit d kann man Verzeichnisse oder Dateien direkt aus ncdu heraus löschen, natürlich mit Bestätigungsdialog. Auf Produktionssystemen bitte mit Bedacht einsetzen.

Website des Entwicklers

5. bat – cat mit Superkräften

Was macht das Tool?

bat ist ein cat-Ersatz mit Syntax-Highlighting, Zeilennummern, Git-Integration, automatischer Paginierung und mein absolutes “must-have” auf jedem System (gibt es übrigens auch für Windows). Es unterstützt hunderte von Programmiersprachen und Konfigurationsformaten direkt out of the box.

bat

Warum unverzichtbar?

Weil cat datei.yaml in einer langen Konfigurationsdatei schlicht unlesbar ist. bat färbt Syntax korrekt ein, zeigt sofort welche Zeilen geändert wurden (Git-Diff-Integration) und macht das Lesen von Dateien im Terminal zu einem angenehmen Erlebnis. Klingt nach Kleinigkeit, ist aber ein echter Produktivitätsgewinn.

Installation

Ubuntu:

1
sudo apt install bat -y

Achtung: Auf Ubuntu heißt der Befehl “batcat”. Einfach als alias bat='batcat' in ~/.bashrc eintragen.

macOS (Homebrew):

1
brew install bat

Pro-Tipp

bat lässt sich hervorragend mit anderen Tools kombinieren:

1
2
3
4
5
# Als Pager für man-Pages:
export MANPAGER="sh -c 'col -bx | bat -l man -p'"

# Mit ripgrep kombinieren:
rg "suchbegriff" --pretty | bat

Themes können mit bat --list-themes angezeigt und mit --theme=TwoDark gesetzt werden.

Website des Entwicklers

6. gping – Ping trifft Visualisierung

Was macht das Tool?

gping ist ein Ping-Tool mit integrierter Echtzeit-Graphendarstellung direkt im Terminal. Man kann mehrere Hosts gleichzeitig pingen und deren Latenz als ASCII-Graph visualisieren, farblich getrennt und in Echtzeit.

gping

Warum unverzichtbar?

Weil ein einfaches ping google.com zwar sagt, ob ein Host erreichbar ist, aber nichts über Latenz-Schwankungen oder Paketverluste über Zeit verrät. gping macht Netzwerkprobleme sichtbar, bevor sie jemand am Helpdesk meldet. Besonders nützlich beim Vergleich von mehreren Endpunkten oder beim Testen nach Netzwerkänderungen.

Installation

Ubuntu:

1
2
3
4
5
# Via Cargo (Rust):
cargo install gping

# Oder via apt (neuere Ubuntu-Versionen):
sudo apt install gping

macOS (Homebrew):

1
brew install gping

Pro-Tipp

1
gping google.com cloudflare.com 1.1.1.1 8.8.8.8

Vergleicht vier Hosts gleichzeitig in Echtzeit. Perfekt um zu sehen, ob ein Latenzproblem providerintern oder beim Zielhost liegt.

Website des Entwicklers

7. jq / yq – JSON und YAML endlich lesbar

Was macht das Tool?

jq ist ein mächtiger Kommandozeilen-Prozessor für JSON-Daten. yq ist das funktionale Äquivalent für YAML (und XML, TOML). Beide erlauben das Filtern, Transformieren und Formatieren von strukturierten Daten direkt in der Shell.

Warum unverzichtbar?

Weil die Welt heute aus JSON und YAML besteht (API-Antworten, Kubernetes-Manifeste, CI/CD-Pipelines, Docker Compose Files). Wer diese Daten noch mit grep und sed bearbeitet, hat entweder sehr viel Geduld oder sehr wenig Selbstachtung. jq und yq machen strukturierte Datenverarbeitung in der Shell zu einem Vergnügen.

Installation

Ubuntu:

1
2
3
4
5
6
7
8
sudo apt install jq -y

# yq via snap:
sudo snap install yq

# Oder via GitHub Releases:
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
  -O /usr/local/bin/yq && chmod +x /usr/local/bin/yq

macOS (Homebrew):

1
brew install jq yq

Pro-Tipp

1
2
3
4
5
6
7
8
9
# API-Antwort parsen:
curl -s https://api.github.com/repos/sharkdp/bat/releases/latest | jq '.tag_name'

# Kubernetes Pods nach Namespace filtern:
kubectl get pods -A -o json | \
  jq '.items[] | select(.metadata.namespace=="kube-system") | .metadata.name'

# YAML-Wert setzen:
yq e '.spec.replicas = 3' deployment.yaml

Website des Entwicklers

8. lazydocker – Docker-Management für Menschen

Was macht das Tool?

lazydocker ist eine Terminal-UI für Docker und Docker Compose. Es zeigt Container, Images, Volumes und Netzwerke in einer übersichtlichen, navigierbaren Oberfläche an – inklusive Logs, Stats und der Möglichkeit, Container zu starten, stoppen oder neu zu starten.

lazydocker

Warum unverzichtbar?

Weil docker ps -a | grep ... irgendwann aufhört, Spaß zu machen. lazydocker gibt einen sofortigen Überblick über den gesamten Docker-Zustand eines Systems, ohne dass man sich durch zehn verschiedene Befehle arbeiten muss. Besonders auf Systemen mit vielen Containern ist das ein echter Zeitsparer. Wer Docker nutzt, weiß was ich meine.

Installation

Ubuntu:

1
2
3
4
5
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash

# lazydocker liegt standardmäßig in $HOME/.local/bin und muss 
# noch Global verfügbar gemacht werden
sudo ln -s $HOME/.local/bin/lazydocker /usr/local/bin/

macOS (Homebrew):

1
brew install lazydocker

Pro-Tipp

1
2
# Alias für schnellen Zugriff:
alias lzd='lazydocker'

Mit e auf einem Container öffnet man direkt eine Shell-Session, kein docker exec -it container_name /bin/bash mehr nötig. Die Log-Ansicht mit Echtzeit-Updates ersetzt docker logs -f komplett.

Website des Entwicklers

9. ripgrep – grep auf Steroiden

Was macht das Tool?

ripgrep (kurz: rg) ist ein extrem schnelles Such-Tool, das rekursiv in Dateien nach Mustern sucht. Es ist deutlich schneller als grep, respektiert .gitignore-Dateien automatisch, unterstützt reguläre Ausdrücke und zeigt Ergebnisse farblich hervorgehoben an.

Warum unverzichtbar?

Weil grep -r "suchbegriff" . langsam und die Ausgabe schwer lesbar ist. ripgrep macht das gleiche in einem Bruchteil der Zeit, ignoriert automatisch irrelevante Verzeichnisse und liefert sofort verwertbare Ergebnisse. In großen Codebasen ist der Unterschied dramatisch.

Installation

Ubuntu:

1
sudo apt install ripgrep -y

macOS (Homebrew):

1
brew install ripgrep

Pro-Tipp

1
2
3
4
5
6
7
8
9
10
11
# Nur in bestimmten Dateitypen suchen:
rg "TODO" --type py

# Mit Kontext-Zeilen:
rg "error" -C 3 /var/log/

# Dateien ohne Match anzeigen:
rg --files-without-match "Copyright"

# Kombiniert mit bat für schöne Ausgabe:
rg "config" --pretty | bat

ripgrep ist auch die Standard-Such-Engine für viele VS-Code-Extensions, es lohnt sich also doppelt.

Website des Entwicklers

10. duf – df, aber verständlich

Was macht das Tool?

duf ist ein moderner Ersatz für df (Disk Free). Es zeigt den freien und verwendeten Speicherplatz aller eingebundenen Datenträger in einer übersichtlichen, farbkodierten Tabelle an – inklusive Netzwerklaufwerke, Loop-Devices (optional ausblendbar) und einer Fortschrittsbalken-Darstellung.

duf

Warum unverzichtbar?

Weil df -h zwar funktioniert, aber die Ausgabe inklusive aller /snap-Loop-Devices und tmpfs-Einträge unleserlich ist. duf filtert automatisch sinnvoll, zeigt relevante Informationen sofort und sieht dabei noch gut aus. Kleines Tool, aber großer Effekt.

Installation

Ubuntu:

1
sudo apt install duf -y

macOS (Homebrew):

1
brew install duf

Pro-Tipp

1
2
3
4
5
# Nur lokale Datenträger anzeigen:
duf --only local

# Als JSON ausgeben (z.B. für Monitoring-Skripte):
duf --json | jq '.[] | select(.mount_point=="/") | .free'

Website des Entwicklers

Alles auf einmal installieren

Weil niemand zehn Befehle einzeln tippen möchte, hier das komplette Setup als einzeiliges Skript:

Ubuntu/Debian:

1
2
3
4
5
sudo apt update && sudo apt install -y htop ncdu bat eza ripgrep duf jq && \
pip3 install glances && \
sudo snap install yq && \
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash && \
cargo install gping

macOS:

1
brew install htop glances eza ncdu bat gping jq yq ripgrep duf lazydocker

Da ich ja in der Einleitung bereits DevOps erwähnt habe, geht die Installation natürlich auch mit Ansible in einem Playbook:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
tasks:
    - name: Update and upgrade apt packages
      apt:
        update_cache: yes
        cache_valid_time: 3600
        upgrade: dist
    - name: Install awesome utilities
      apt:
        name:
          - htop
          - eza
          - ncdu
          - bat
          - gping
          - jq
          - yq
          - ripgrep
          - duf        
        state: present
        update_cache: yes

Fazit

Das Terminal verdient bessere Werkzeuge

Diese zehn Tools sind kein Luxus, sie sind professionelle Grundausstattung für jeden, der ernsthaft mit dem Terminal auf Linux oder macOS arbeitet. Die Zeit, die man durch effizientere Werkzeuge gewinnt, summiert sich schnell auf Stunden pro Woche. Und mal ehrlich, wenn ein modernes Terminal-Tool kostenlos ist, in 30 Sekunden installiert werden kann und die tägliche Arbeit spürbar angenehmer macht, gibt es keinen vernünftigen Grund, beim alten Status quo zu bleiben.

Meine Empfehlung, anfangen mit htop, bat und ripgrep, wenn noch keine CLI-Tool-Erfahrung vorhanden ist. Diese drei Tols haben die steilste Lernkurve nach oben, also den sofortigen Mehrwert ohne große Einarbeitung. Der Rest kommt mit der Zeit und dem Bedürfniss.

Was fehlt auf dieser Liste? Habt ihr noch weitere Tools, die absolut unverzichtbar sind und hier nicht auftauchen? Schreibt es in die Kommentare, ich bin gespannt, was die Community noch so im Gepäck hat.

This post is licensed under CC BY 4.0 by the author.