Diese Anleitung erklärt, was Bat ist, wie man Bat unter Linux installiert und wie man den Bat-Befehl in Linux- und Unix-Betriebssystemen verwendet.
Was ist Fledermaus?
In Linux- und Unix-ähnlichen Systemen ist die 'cat' Befehl wird verwendet, um Dateien zu drucken und zu verketten.
Mit dem Befehl cat können wir den Inhalt einer Datei auf der Standardausgabe ausgeben, mehrere Dateien in der Zieldatei verketten und mehrere Dateien an die Zieldatei anhängen.
Heute bin ich über ein ähnliches Dienstprogramm namens "Bat" gestolpert . Es ist nur ein Klon des cat-Befehls, mit einigen zusätzlichen coolen Funktionen wie Syntaxhervorhebung, Git-Integration und automatischem Paging usw.
Installieren Sie Bat unter Linux
Bat ist für gängige Linux-Betriebssysteme gepackt.
Alpines Linux:
Bat ist in den offiziellen Repositories von Alpine Linux verfügbar. Um bat unter Alpine Linux zu installieren, führen Sie Folgendes aus:
$ sudo apk add bat
Arch-Linux:
Bat ist in den Standard-Repositories von Arch Linux verfügbar. Sie können es also mit Pacman auf allen Arch-basierten Systemen installieren.
$ sudo pacman -S bat
Debian-basierte Systeme:
Auf Debian, Ubuntu, Linux Mint, Pop_OS! Systemen, laden Sie die Datei .deb
herunter Datei von der Releases-Seite und installieren Sie es wie unten gezeigt.
$ wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat_0.11.0_amd64.deb
$ sudo apt install gdebi
$ sudo gdebi bat_0.11.0_amd64.deb
SUSE/openSUSE:
Sie können bat wie folgt mit Zypper installieren:
$ sudo zypper install bat
Nix-Paketmanager verwenden:
In NixOS können Sie bat mit dem Nix-Paketmanager installieren:
$ nix-env -i bat
Fedora:
Bat kann aus dem offiziellen Fedora Modular Repository installiert werden.
$ sudo dnf install bat
Gentoo:
emerge sys-apps/bat
Ungültiges Linux:
Sie können bat
installieren über xbps-install:
$ sudo xbps-install -S bat
FreeBSD:
Sie können einen vorkompilierten bat
installieren Paket mit Paket:
# pkg install bat
Oder bauen Sie es aus den FreeBSD-Ports:
# cd /usr/ports/textproc/bat # make install
Verwendung des Cargo-Paketmanagers von Quelle:
Stellen Sie sicher, dass Sie Rust 1.26 oder höher installiert haben.
- Installieren Sie die Programmiersprache Rust unter Linux
Führen Sie dann den folgenden Befehl aus, um Bat zu installieren:
$ cargo install bat
Mit Linuxbrew:
Alternativ können Sie es mit Linuxbrew installieren Paketmanager.
$ brew install bat
Bat-Befehlsverwendung
Die Verwendung des Bat-Befehls ist der von cat
sehr ähnlich Befehl.
Um eine neue Datei mit bat zu erstellen, tun Sie:
$ bat > file.txt
Um den Inhalt einer Datei mit bat anzuzeigen, führen Sie Folgendes aus:
$ bat file.txt
Sie können auch mehrere Dateien gleichzeitig anzeigen:
$ bat file1.txt file2.txt
So hängen Sie den Inhalt mehrerer Dateien in einer einzigen Datei an:
$ bat file1.txt file2.txt file3.txt > document.txt
Wie ich bereits erwähnt habe, hat das Bat-Dienstprogramm neben dem Anzeigen und Bearbeiten von Dateien einige zusätzliche coole Funktionen.
Bat unterstützt Syntax-Highlighting für eine Vielzahl von Programmier- und Auszeichnungssprachen. Sehen Sie sich zum Beispiel das folgende Beispiel an.
Ich werde den Inhalt von reverse.py
anzeigen Datei mit cat- und bat-Befehlen.
Hast du den Unterschied bemerkt? Die cat
Der Befehl zeigt den Inhalt der Datei im Klartextformat an, während Bat die Ausgabe mit Syntaxhervorhebung und der Bestellnummer in einem übersichtlichen Tabellenspaltenformat anzeigt. Viel besser, nicht wahr?
Wenn Sie nur die Zeilennummern anzeigen möchten (nicht die Tabellenspalte), verwenden Sie -n
Flagge.
$ bat -n reverse.py
Beispielausgabe:
Ein weiteres bemerkenswertes Merkmal des Bat-Befehls ist, dass er automatisches Paging unterstützt . Das heißt, wenn die Ausgabe einer Datei zu groß für einen Bildschirm ist, leitet der bat-Befehl automatisch seine eigene Ausgabe an less
weiter Befehl, sodass Sie die Ausgabe Seite für Seite anzeigen können.
Lassen Sie mich Ihnen ein Beispiel zeigen.
Wenn Sie mit dem cat-Befehl den Inhalt einer Datei anzeigen, die sich über mehrere Seiten erstreckt, springt die Eingabeaufforderung schnell zur letzten Seite der Datei, und Sie sehen den Inhalt weder am Anfang noch in der Mitte.
Sehen Sie sich die folgende Ausgabe an:
Wie Sie sehen können, zeigt der cat-Befehl die letzte Seite der Datei an.
Daher müssen Sie möglicherweise die Ausgabe des cat-Befehls an less
weiterleiten Befehl, um den Inhalt Seite für Seite von Anfang an anzuzeigen.
$ cat reverse.py | less
Jetzt können Sie die Ausgabe Seite für Seite anzeigen, indem Sie die EINGABETASTE drücken. Es ist jedoch nicht erforderlich, wenn Sie den Befehl bat verwenden. Der bat-Befehl leitet automatisch die Ausgabe einer Datei weiter, die sich über mehrere Seiten erstreckt.
$ bat reverse.py
Beispielausgabe:
Drücken Sie nun die ENTER-Taste, um zur nächsten Seite zu gehen.
Der bat-Befehl unterstützt auch die GIT-Integration , sodass Sie die Dateien in Ihrem Git-Repository ohne großen Aufwand anzeigen/bearbeiten können. Es kommuniziert mit Git, um Änderungen in Bezug auf den Index anzuzeigen (siehe linke Seitenleiste).
Fledermaus anpassen Befehlsthema
Wenn Ihnen die Standarddesigns nicht gefallen, können Sie sie auch ändern. Bat hat auch dafür die Möglichkeit.
Um die verfügbaren Themen aufzulisten, führen Sie einfach Folgendes aus:
$ bat --list-themes 1337 DarkNeon Default GitHub Monokai Extended Monokai Extended Bright Monokai Extended Light Monokai Extended Origin TwoDark
Um ein anderes Design zu verwenden, zum Beispiel TwoDark, führen Sie Folgendes aus:
$ bat --theme=TwoDark file.txt
Wenn Sie das Design dauerhaft machen möchten, verwenden Sie export BAT_THEME="TwoDark"
in der Startdatei Ihrer Shell.
Bat haben auch die Möglichkeit, das Aussehen der Ausgabe zu steuern. Verwenden Sie dazu den --style
Möglichkeit. Um nur Git-Änderungen und Zeilennummern, aber kein Raster und keinen Dateiheader anzuzeigen, verwenden Sie --style=numbers,changes
.
Den Vergleich ähnlicher Tools können Sie dieser Tabelle entnehmen . Bitte beachten Sie, dass der Vergleich aus Bats Perspektive erfolgt.
Weitere Einzelheiten finden Sie auf der unten angegebenen GitHub-Seite des Bat-Befehlsprojekts.