Skip to content

Nie wieder unleserliche Textwüsten: Den cat-Befehl durch bat ersetzen

Wer im Linux-Terminal Skripte, Konfigurationsdateien oder Logs inspizieren möchte, greift reflexartig zum Standardbefehl cat datei.txt. Das Problem: cat wirft den Inhalt als monotone, einfarbige Textwand auf den Bildschirm. Bei verschachtelten YAML-Dateien, JSON-Strukturen, Python-Code oder 500 Zeilen langen Server-Logs verliert man schnell die Orientierung.

Das quelloffene Werkzeug bat ist ein moderner Ersatz für cat, der das Lesen von Code und Konfigurationen auf der Kommandozeile revolutioniert.

Was bat so viel besser macht

bat erkennt automatisch das Dateiformat und bietet mehrere entscheidende Vorteile:

  • Syntax-Highlighting: Über 100 Programmier- und Auszeichnungssprachen werden automatisch farblich hervorgehoben (wie in einem modernen Code-Editor).
  • Zeilennummern: Jede Zeile wird nummeriert dargestellt, was das Auffinden von Fehlermeldungen drastisch erleichtert.
  • Git-Integration: Befindet sich die Datei in einem Git-Repository, zeigt bat am Rand mit farbigen Markierungen an, welche Zeilen verändert, hinzugefügt oder gelöscht wurden.
  • Automatisches Paging: Ist eine Datei länger als dein Terminal-Fenster, schaltet bat wie der Befehl less in eine scrollbare Ansicht um, sodass dein Terminal nicht mit tausenden Zeilen geflutet wird.

Installation & Einrichtung

Auf den meisten Linux-Distributionen ist bat in den Standard-Paketquellen verfügbar:

Ubuntu / Debian:

sudo apt install bat

(Hinweis: Wegen eines Namenskonflikts heißt der Befehl unter Ubuntu/Debian zunächst batcat. Mit einem kleinen Alias machst du daraus das gewohnte bat:)

echo 'alias bat="batcat"' >> ~/.bashrc && source ~/.bashrc

Fedora:

sudo dnf install bat

Arch Linux:

sudo pacman -S bat

Der Einsatz im Terminal-Alltag

Statt wie bisher cat /etc/netplan/01-netcfg.yaml oder cat server.py einzutippen, schreibst du ab sofort:

bat server.py

Möchtest du nur bestimmte Zeilenbereiche herausgreifen, beherrscht bat das von Haus aus – ganz ohne umständliche Verknüpfungen mit head oder tail:

bat --line-range 30:60 server.py

Das macht die schnelle Inspektion von Skripten und Server-Dateien im Terminal wesentlich übersichtlicher und schont die Augen bei längeren Sitzungen.