Wie man Farbe ins Terminal bringt – ccat und farbige man pages
By zefanja
Wer häufiger auf der Kommandozeile unterwegs ist, kennt mit Sicherheit die folgenden Befehle: cat
und man
. Diese beiden Werkzeuge sind äußerst hilfreich. Mit cat
kann man schnell (kleine) Dateien anschauen oder in Kombination mit Umleitungen (Pipes) nutzen. Ohne dem kleinen und feinen Programm man
ist man häufig aufgeschmissen. Es ist das Werkzeug um Hilfe zu Programmen und Befehlen zu bekommen, z.B. welche Parameter es gibt oder man das Programm oder den Befehl einsetzen kann. Manchmal findet man auch hilfreiche Tipps. Verwendet man z.B. dmesg
in Verbindung mit dem Parameter -T
, zeigt es einem die genauen Zeitpunkte an! Solche Infos findet man i.d.R. in den man Pages.
Das Problem: die Ausgaben von cat
und man
sind schwarz / weiß (oder welches Farbschema man auch immer verwendet) und man kann sich schnell in der Fülle der Informationen verlieren. Ich möchte deshalb zwei Lösungen für dieses Problem vorstellen.
ccat – cat mit Syntaxhervorhebungen
ccat
istcat
in Farbe. Es arbeitet ähnlich wiecat
, zeigt aber die Ausgabe mit Syntaxhervorhebungen an.
Um ccat
zu installieren, lädt man sich das Archiv von der [Github-Seite des Projekts][1] herunter. Das geht z.B. mit wget
:
wget https://github.com/jingweno/ccat/releases/download/v1.1.0/linux-amd64-1.1.0.tar.gz
Nachdem man nun das Archiv heruntergeladen hat, entpackt man es, wechselt in das entsprechende Verzeichnis und kopiert das Programm in das Programmverzeichnis (z.B. /usr/local/bin
). Folgende Befehle sind dafür nötig:
tar xfz linux-amd64-1.1.0.tar.gz sudo cp linux-amd64-1.1.0/ccat /usr/local/bin/ # optional, falls das Programm nicht ausführbar ist sudo chmod +x /usr/local/bin/ccat ``` Mit `ccat Dateiname` kann man seine Dateien in Farbe ausgeben. Hier z.B. die Ausgabe einer [USV / UPS Konfigurationsdatei][2]: Möchte man `ccat` immer verwenden, d.h. auch wenn man nur `cat` eingibt, kann man dazu einen Alias anlegen.echo "alias cat='/usr/local/bin/ccat'" > ~/.profile source ~/.profile ``` Nun bekommt man die farbige Ausgabe auch dann, wenn man nur `cat` verwendet. ### Man Pages in Farbe Man Pages sind eigentlich übersichtlich gestaltet, doch eine farbige Ausgabe verbessert die Orientierung noch mal deutlich. `man` verwendet als Pager entweder `less` oder `more`. Damit auch man Pages in Farbe erscheinen, sind folgende Anpassungen in der `~/.bashrc` notwendig: ``` nano ~/.bashrc ``` und dann den folgenden Inhalt einfügen: ``` export LESS_TERMCAP_mb=$'\e[1;32m' export LESS_TERMCAP_md=$'\e[1;32m' export LESS_TERMCAP_me=$'\e[0m' export LESS_TERMCAP_se=$'\e[0m' export LESS_TERMCAP_so=$'\e[01;33m' export LESS_TERMCAP_ue=$'\e[0m' export LESS_TERMCAP_us=$'\e[1;4;31m' #damit es auch im gnome-terminal klappt export GROFF_NO_SGR=1 ``` Die Zahlen, die in der obigen Konfiguration verwendet wurden, bedeuten Folgendes: * 31 – rot * 32 – grün * 33 – gelb Und hier sind die Bedeutungen der Escape-Codes, die in der obigen Konfiguration verwendet werden. * 0 – Reset/Normal * 1 – fett * 4 – unterstrichen Damit die Änderungen wirksam werden, kann man entweder einen neuen Terminal starten oder die `~/.bashrc` neu einlesen mit: ``` source ~/.bashrc ``` Nun sehen unsere man Pages viel hübscher aus! Alternativ kann man neben `less` oder `more` auch `most` als Pager installieren, der noch einige Features mehr unterstützt: ``` sudo apt install most ``` Damit `most` standardmäßig verwendet wird (z.B. von `man`), muss noch folgende Variable gesetzt werden (ebenfalls in der `~/.bashrc`)export PAGER="most" ``` ([via][3] [tecmint][4]) [1]: https://github.com/jingweno/ccat/releases [2]: https://zefanjas.de/server-bei-stromausfall-herunterfahren-ups-nut-co/ [3]: https://www.tecmint.com/cat-command-output-with-syntax-highlighting-or-color/ [4]: https://www.tecmint.com/view-colored-man-pages-in-linux/