Skript-Tester Bats 1.11.1, HTTP-Sniffer Httptap 0.1.1, History-Manager Mcfly 0.9.3, Pager Ov 0.39.0, Dateimanager Yazi 25.3.2, Zombie-Sucher Zps 2.0.0.
Bats 1.11.1
Shell-Skripte automatisiert testen.
Quelle: https://github.com/bats-core/bats-core
Lizenz: MIT
Alternativen: ShellCheck
Shell-Skripte prüfen Sie mit Bats, dem Bash Automated Testing System, automatisiert auf Fehler. Das Tool stellt ein Framework bereit, mit dem Sie verschiedene Testszenarien konstruieren und beliebig wiederholen. Für jedes Szenario geben Sie das zu testende Programm und die erwarteten Rückgabewerte vor. Bats ruft das jeweilige Tool mit definierten Parametern auf und erkennt an den Rückgabewerten, ob das Szenario erfolgreich durchlaufen wurde. Die Konfiguration ähnelt einem Shell-Skript, wobei die Bats-Syntax von der der Shell an einigen Stellen abweicht. In der ersten Zeile steht ein Shebang-Eintrag, der den Interpreter benennt. Es folgen weitere Einstellungen wie nachzuladende Skripte, im Anschluss erfolgt die Beschreibung der Testfälle. Bats-Skripte können mehrere Szenarien enthalten, die das Tool sequenziell abarbeitet. Jeder Test erfolgt isoliert. Das Ergebnis schreibt Bats in die Standardausgabe, wobei es die Ergebnisse farblich aufbereitet. Fehlgeschlagene Tests erscheinen in Rot, erfolgreiche in Grün. Mit »-T« fügt das Tool den Tests Zeitstempel hinzu, mit »-x« zeigt es jeden ausgeführten Befehl mit an. Bei Bedarf gibt Bats mit dem Parameter »-t« seine Ergebnisse im TAP-Format aus. Für mehr Geschwindigkeit parallelisieren Sie mit »-j« die Ausführung über das GNU-Tool Parallel.
Als Ergänzung zu den mitgelieferten Manpages findet sich auf Github eine ausführliche Dokumentation.
Httptap 0.1.1
HTTP-Abfragen mitschneiden
Quelle: https://github.com/monasticacademy/httptap
Lizenz: MIT
Alternativen: Tcpdump
Viele Konsolenprogramme nutzen HTTP(S) zur Kommunikation mit externen Systemen oder Diensten. Um herauszufinden, wie die Zugriffe erfolgen und welche Befehle die Tools absetzen, nutzen Sie das Go-basierte Httptap. Das Git-Repo offeriert 32- und 64-Bit-Binaries für Linux. Mit »-h« erhalten Sie eine Onlinehilfe, Anwendungsbeispiele finden Sie im Github-Repo. Um die HTTP-Aktionen eines Programms einzusehen, geben Sie Httptap den Programmaufruf als Parameter mit. Geben Sie kein auszuführendes Programm an, startet das Tool im interaktiven Modus, in dem Sie Aufrufe direkt eingeben. Soll Httptap nicht mit den Rechten des Aufrufers laufen, geben Sie mit »–uid« und »–gid« einen anderen Nutzer an. Das Tool erwartet HTTP(S)-Verbindungen auf den Standardports 80 und 443. Um auch andere Ports zu überwachen, legen Sie mit »–https« die Liste der Ports für HTTPS fest. Für HTTP existiert analog die Option »–http«. Standardmäßig gibt Httptap alle HTTP-Requests sowie die Rückgabewerte der Anfragen in der Konsole aus. Um außerdem alle gesendeten TCP-Pakete mitzuschneiden, verwenden Sie »–tump-tcp«. Die zusätzliche Ausgabe von HTML-Code aus dem Head oder Body aktivieren Sie mit »–head« beziehungsweise »–body«. Zur Archivierung schreiben Sie die Daten mit »–dump-har« in eine HAR-Datei.
Alles in allem bietet Httptap eine interessante Möglichkeit, Probleme in HTTP-Verbindungen zu analysieren.
Mcfly 0.9.3
Shell-Befehlsverlauf bequem verwalten
Quelle: https://github.com/cantino/mcfly
Lizenz: MIT
Alternativen: Atuin
Das Rust-basierte Mcfly stellt eine besonders komfortable Shell-History für die Bash, Zsh, Fish und die Powershell bereit. Sie erhalten es als Binary auf Github. Als Dokumentation steht lediglich die Onlinehilfe (»-h«) zur Verfügung, bei Github gibt es immerhin einige Anwendungsbeispiele. Zur transparenten Nutzung binden Sie Mcfly in die jeweilige Shell ein, der Aufruf »mcfly init« erzeugt die notwendige Konfiguration. Dazu geben Sie dem Tool die verwendete Shell als Parameter mit. Das Resultat landet auf der Standardausgabe, Sie müssen die Zeilen selbst in die Shell-Konfiguration einpflegen. Die erstellten Funktionen lassen sich zur bequemen Bedienung mit Tastenkürzeln verknüpfen. Beim ersten Aufruf der Shell mit der neuen Konfiguration übernimmt Mcfly alle Einträge der bisherigen History. Das Tool pflegt nicht nur seinen eigenen Befehlsverlauf im Verzeichnis »/tmp«, sondern hält auch die Standard-History der jeweiligen Shell aktuell. Sie können Mcfly also jederzeit ohne Lücken im Befehlsverlauf deaktivieren. Im Suchmodus stellt Mcfly eine rudimentäre Oberfläche bereit, die alle History-Einträge enthält. Sie navigieren darin bequem mit den Pfeiltasten und können Einträge auswählen und bei Bedarf auch löschen. Das Kommando »mcfly stats« verrät, wie oft Sie bestimmte Befehle genutzt haben.
Arbeiten Sie viel mit der Shell-History, kann Mcfly dabei helfen. Ein Blick auf das Tool lohnt sich.
Ov 0.39.0
Pager-Alternative
Quelle: https://github.com/noborus/ov
Lizenz: MIT
Alternativen: More, Less, Tail
Das in Go geschriebene Tool Ov erleichtert das Blättern in Programmausgaben und hilft beim Umleiten in eine Datei. Sie müssen es nicht selbst kompilieren, sondern finden auf Github Binärpakete sowie eine ausführliche Beschreibung. Für das schnelle Nachlesen zwischendurch bietet das Tool eine rudimentäre Onlinehilfe. Als sogenannter Pager arbeitet Ov ähnlich wie Less oder More, bietet aber Möglichkeiten, die Ausgabe zu formatieren. Eine Konfigurationsdatei kennt es nicht, alle Einstellungen nehmen Sie über Aufrufparameter vor. Sie geben eine oder mehrere Dateien zur Ausgabe an oder reichen die Ausgabe von Drittprogrammen via Pipe über die Standardeingabe an Ov weiter. Die Navigation in der Ausgabe erfolgt wie gewohnt über die Pfeiltasten. Das Tastenkürzel [H]+ liefert eine Übersicht über alle verfügbaren Tastenkürzel und die zugehörigen Funktionen. So aktiviert [Umschalt]+[G] die Zeilennummerierung, [M]+ markiert die aktuelle Position. Mit [F4] wechseln Sie in den Beobachtungsmodus. Ov aktualisiert dann die Ausgabe, sobald sich etwas in der Datei ändert. Damit bietet das Tool eine Tail-ähnliche Funktion. Überlange Zeilen bricht Ov automatisch auf die richtige Länge um. Mit »-w« unterbinden Sie das bei Bedarf, individuelle Feldtrenner für tabellarische Inhalte legen Sie mit »-d« fest. Standardmäßig dient das Komma als Feldtrenner.
Ov bietet eine interessante Alternative zu den bekannten Pagern.
Yazi 25.3.2
Dateimanager für die Konsole
Quelle: https://github.com/sxyazi/yazi
Lizenz: MIT
Alternativen: Mc
Suchen Sie einen schnellen Dateimanager für die Konsole, sollten Sie sich das Rust-basierte Yazi ansehen. Im Github-Repo finden Sie Binärpakete des Tools, die aber auf Distributionen mit einer älteren Glibc-Version wie Debian 12 nicht laufen. Hier führt am Compiler kein Weg vorbei. Ohne Parameter aufgerufen, öffnet Yazi eine dreigeteilte Curses-Oberfläche. Ganz links sehen Sie die Verzeichnisstruktur, mittig den Inhalt des aktuellen Ordners. Am rechten Rand präsentiert Yazi eine Vorschau mit dem Inhalt der aktuellen Datei. Bei Binaries sehen Sie hier nur die Build-Informationen, bei komprimierten Archiven den Inhalt. Die Navigation erfolgt wie gewohnt mit den Pfeiltasten. Mit [D]+ löschen Sie das Dateiobjekt unter dem Cursor, mit [R]+ benennen Sie es um. Die Suche aktivieren Sie wie gewohnt mit [Umschalt]++<\[>7]. Um aus Yazi heraus Shell-Befehle auszuführen, verwenden Sie [Umschalt]+[,] oder [Umschalt]+[.]. Bei Letzterem pausiert Yazi bis zum Abschluss des Befehls, die Befehlsausgabe zeigt es aber nicht an. Eine Onlinehilfe gibt es nicht, dafür verlinkt die Github-Seite eine ausführliche Dokumentation.
Im Binärpaket finden Sie Konfigurationsdateien für die Integration von Yazi in gängige Shells und zur Autovervollständigung. Sie haben außerdem die Möglichkeit, den Funktionsumfang des Tools durch eigene Lua-Skripte zu erweitern. Entsprechende Beschreibungen finden sich auf der Github-Seite des Projekts.
Zps 2.0.0
Zombie-Prozesse aufspüren
Quelle: https://github.com/orhun/zps
Lizenz: GPLv3.0
Alternativen: Ps
Ein Programm startet für seine Aufgaben viele Unterprozesse, die man auch Child-Prozesse nennt. Brechen Sie die Ausführung ab oder beendet sich das Programm aufgrund eines Fehlers selbst, können diese Unterprogramme als sogenannte Zombies zurückbleiben. Das Werkzeug Zps entsorgt diese Untoten. Für ältere Distributionen wie Debian 12 müssen Sie das Tool selbst kompilieren, da die Binaries auf Github eine Glibc-Version größer 2.38 erwarten. Die Konfiguration erfolgt via Aufrufparameter. Ohne Parameter aufgerufen, listet Zps alle im System vorhandenen Zombie-Prozesse auf. Dabei gibt es die Prozess-IDs des Zombies sowie die ID und den Namen des Elternprozesses an. Soll Zps alle Zombies entsorgen, geben Sie ihm den Schalter »-r« mit. Standardmäßig meldet das Tool zurück, welche Prozesse es beendet hat. Gegebenenfalls deaktivieren Sie die Rückmeldung mit »-q«, für eine monochrome Ausgabe geben Sie »-n« an. Mit »-s« haben Sie außerdem die Möglichkeit, ein Signal festzulegen, das Zps an den Elternprozess sendet. Daneben bietet das Tool einen interaktiven Modus, den Sie beim Start mit dem Schalter »-p« aktivieren. Eine Übersicht aller Parameter liefert die Onlinehilfe (»-h«), Beispiele für die interaktive Anwendung finden Sie im Github-Repository.
Bei der aktuellen Major-Version handelt es sich um eine Überarbeitung des Vorgängers, die deutlich schneller agieren soll. (Uwe Vollbracht/jlu)












