bat ist ein in Rust (nein, es ist nicht die Gemeinde mit dem Freizeitpark gemeint) geschriebenes, plattformunabhängiges Open-Source (Apache V2) Programm, welches an den Start gegangen ist, um mit Syntax Highlighting, automatischem Paging, Zeilennummerierungsanzeige, Theme- und Git-Support den alten und eingestaubten cat-Befehl in die Rente zu schicken.
bat auf Debian-basierten Systemen installieren:
# Ab Ubuntu 19.10 apt install bat # Per Deb-Paket - https://github.com/sharkdp/bat/releases Momentan 0.18 wget https://github.com/sharkdp/bat/releases/download/v0.18.0/bat_0.18.0_amd64.deb dpkg -i bat_0.18.0_amd64.deb # Per Rust-Installer (Rustup) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cargo install bat
bat per Kommandozeilen-Installer Scoop auf Windows installieren:
# Über den Kommandozeilen-Installer Scoop scoop install bat
Screenshot bat-Ansicht Linux-Skript:
Einige scharfe bat-Beispiele:
# Anzeige ohne Tabellenansicht bat -n # Zeigt auch nicht druckbare Zeichen an bat -A # Anzeige ohne Tabellenansicht & Zeilennummer bat -p # Anzeige aller unterstützen Themes bat --list-themes # Anzeige GitHub-Syntax Theme bat --theme=GitHub sec-ufw-firewall.sh # Anzeige aller möglichen Syntax-Sprachen bat --list-languages # Zeigt die Zeilen 10 bis 20 in einem knusprigen Skript an bat -l bash --line-range 10:20 sec-ufw-firewall.sh # Zeigt das angegebene Logfile durchgehend/live an tail -f /var/log/fail2ban.log | bat --paging=never -l log # Zeigt alle out-Vorkommnisse in einem Skript an grep out /root/scripts/sec-ufw-firewall.sh | bat -l bash # Findet alle Shell-Skripte in einem Ordner und zeigt diese ungeniert an find /root/scripts/ -iname *.sh -exec bat {} + # Setzt MANPAGER Umgebungsvariable damit Manpage-Aufrufe bunt dagestellt werden export MANPAGER="sh -c 'col -bx | bat -l man -p'" man find