Gotop 4.1.2
Systemauslastung im Auge behalten
Quelle: https://github.com/xxxserxxx/gotop
Lizenz: MIT
Alternativen: Htop, Iftop
Läuft etwas nicht wie erwartet oder gewünscht, ist eine Monitoring-Anwendung hilfreich bei der Fehlersuche. Kommandozeilenfans greifen gern zu Top und Co., um sich einen Überblick über laufende Prozesse und die Systemauslastung zu verschaffen. Das in Go implementierte Gotop bietet sich als Alternative mit einer grafischen Aufbereitung der Informationen an. In den Repositories der gängigen Linux-Distributionen ist das Tool noch nicht angekommen, daher greifen Anwender am besten auf die Pakete unter GitHub zurück. Gotop ist für Linux, Windows, macOS und FreeBSD erhältlich.
Nach dem Start zeichnet das Tool die aktuelle Prozessorauslastung als Graph, gibt den belegten Speicher und Plattenplatz aus und listet die wichtigsten Prozesse auf. Auch den Netzwerkdurchsatz erfasst Gotop und stellt ihn als Kurve dar. In der Voreinstellung beobachtet das Tool alle Netzwerkschnittstellen; mit dem Schalter »-i« gibt der Benutzer ein bestimmtes Interface vor. Eine Übersicht über alle verfügbaren Funktionen liefert »–list« in Kombination mit einem Funktionsbereich.
Als Funktionsbereiche stehen »devices«, »path«, »lang«, »layout«, »colorschemes« und »keys« zur Auswahl. Anwender können außerdem eigene Farbschemata erstellen und dazu die Datei »default.json« als Vorlage verwenden. Fertige Layouts gehören ins Verzeichnis »$HOME/.config/gotop«, wo auch die übrigen Konfigurationsdateien liegen. In der Dokumentation unter GitHub sind zudem Informationen zu möglichen Erweiterungen zu finden. Zur Zeit gibt es Add-ons zum Auslesen der Sensoren von Nvidia-Grafikkarten und zur Remote-Abfrage von Prometheus-Metriken.
Alles in allem hinterlässt Gotop einen guten Eindruck. Eine Manpage zusätzlich zum Verzeichnis »docs« unter GitHub wäre hilfreich.
Trackie 0.1.0
Zeiterfassung auf der Shell
Quelle: https://github.com/beatbrot/trackie
Lizenz: Apache 2.0
Alternativen: Taskspooler
Ob Freelancer, Festangestellte oder Studierende – viele Anwender möchten aufzeichnen, wie viel Zeit sie in welche Projekte stecken. Eine Zeiterfassung hilft bei der Auswertung oder beim Erstellen von Rechnungen. Wer auf ressourcenhungrige grafische Programme verzichten will, kann Trackie auf der Kommandozeile ausprobieren. Das in Rust geschriebene Werkzeug kommt ohne GUI oder Daemon aus. Fertige Pakete für Linux und Windows gibt’s unter GitHub.
Um die Zeiterfassung zu starten, ruft der Benutzer »trackie start« gefolgt von einer eindeutigen Bezeichnung für die Tätigkeit auf. Trackie notiert die Startzeit und legt diese zusammen mit dem Namen in der Datei »$HOME/.config/trackie.json« ab. Nach getaner Arbeit schreiben Anwender »trackie stop«. Wer sich vertan hat, kann mit »resume« die Aufzeichnung für das zuletzt erfasste Projekt wieder aufnehmen. Startet ein Benutzer während einer laufenden Erfassung ein neues Projekt, schließt Trackie die aktuelle Aufnahme ab, denn es kann nicht mehrere Projekte gleichzeitig verwalten.
Eine Auswertung der letzten fünf Tage schreibt »report« ins Terminal. Laufende Aufnahmen oder Tage ohne Aufzeichnungen ignoriert das Tool dabei. Wer alle Daten sehen möchte, ruft Trackie mit »-i« auf, und hinter »-d« kann ein selbst definiertes Zeitintervall stehen. Eine Dokumentation ist im Paket nicht enthalten, und auch die Beschreibungen unter GitHub sind manchmal ungenau. So funktionierte der Befehl »status« auf dem Testsystem nicht.
Trackie ist noch ein junges Projekt mit ein paar Kinderkrankheiten und begrenztem Funktionsumfang. So fehlt derzeit ein Befehl zum Löschen von Aufzeichnungen. Hier müssen Anwender selbst Hand anlegen und die Json-Datei im Editor bearbeiten.
Up 0.4
Pipes erstellen und verwalten
Quelle: https://github.com/akavel/up
Lizenz: Apache 2.0
Alternativen: keine
Wer unter Linux oder einem anderen Unix-Derivat arbeitet, ist mit dem Konzept von Pipelines vertraut. Sind komplexe Pipes mit ganzen Kaskaden von Befehlen beteiligt, braucht es manchmal mehrere Versuche, bis alles richtig läuft. Hier setzt Up, der Ultimate Plumber, an. Das Go-Tool hilft beim Erstellen komplexer Pipelines in einer terminalbasierten Oberfläche und bietet eine Live-Vorschau der Ergebnisse.
Up liest die Information über die Standardeingabe ein und stellt sie in einem Eingabepuffer bereit. Dieser ist in der Voreinstellung auf 40 MByte begrenzt. Wer mehr benötigt, kann beim Start über »–buf« den Wert anpassen. Sobald eine Eingabe im Puffer gelandet ist, zeigt Up sie im Terminal an. In der blau hinterlegten Kopfzeile kann der Benutzer sein Pipe-Konstrukt testen. Up passt die Ausgabe im Puffer-Fenster den verarbeiteten Befehlen an, sodass Anwender sofort erkennen können, ob ihre Kombination zum gewünschten Erfolg führt.
Beim Aufruf nimmt Up hinter »–pipeline« bereits fertige Pipe-Befehlsketten an und bietet dann an, diese interaktiv zu ändern und zu testen. Alternativ startet der Parameter »–noinput« das Tool mit einem leeren Puffer-Fenster. Jetzt geben Benutzer auch ein Kommando in die Pipe-Zeile ein, was die ersten Daten liefert. Das bietet flexiblere Testmöglichkeiten. Ist der Anwender mit seinem Konstrukt zufrieden, kann er Up beenden. Das Tool speichert die Befehlsfolge in einem Shellskript mit dem Präfix »up«, sofern kein anderer Name hinter »-o« definiert ist. Das Skript integrieren Nutzer dann in eigene Skripte oder starten es direkt.
Up ist äußerst praktisch, wenn es um komplexe Pipe-Konstrukte auf der Shell geht. Die Dokumentation unter GitHub ist ebenfalls gelungen, lediglich eine Manpage fehlt.
Angle-Grinder 0.17.0
Textanalyse auf der Shell
Quelle: https://github.com/rcoh/angle-grinder
Lizenz: MIT
Alternativen: Awk
Etliche Programme notieren Ergebnisse in Textdateien ganz unterschiedlicher Formate. Wer diese später auswerten oder an Drittprogramme weiterreichen möchte, freut sich, wenn die Ausgabe in einem strukturierten Format wie XML oder Json vorliegt. Ist das nicht der Fall, kann das Rust-Tool Angle-Grinder bei der Nachbearbeitung helfen. Das Werkzeug liest Dateien oder von der Standardeingabe, sortiert, ermittelt den Durchschnitt oder maximalen Wert für bestimmte Spalten und mehr. Angle-Grinder ist nicht in den Distributionen enthalten, daher greifen Benutzer zu einem der unter GitHub veröffentlichten Linux- oder macOS-Pakete.
Angle-Grinder hat eine Onlinehilfe im Gepäck, die Anwender über »–help« erreichen. Ausführlichere Beschreibungen des Tools und seiner Parameter sind im GitHub-Repository erreichbar. Soll Angle-Grinder seine Daten nicht von der Standardeingabe, sondern aus einer Datei einlesen, geben Benutzer diese hinter »-f« an. Auch die Verarbeitung steuern verschiedene Kommandozeilenparameter, die nach einem bestimmten Muster angeordnet sein müssen: Direkt hinter dem Befehl stehen die Filter, die festlegen, welche Daten das Tool verarbeitet. Mehrere Filter sind über »AND«, »OR« und »NOT« kombinierbar.
Über eine Pipe wird die gefilterte Datenmenge an die Operatoren weitergeleitet. Dabei können mehrere, durch Pipes verbundene Operatoren zum Einsatz kommen. Operatoren summieren Feldinhalte, ermitteln Minimal- und Maximalwerte oder sortieren die Daten. Je nach Datenfeld dürfen User auch mathematische Funktionen anwenden oder Daten verknüpfen. Eine Anweisung wie »limit« begrenzt abschließend die Anzahl der ausgegebenen Zeilen. Auch das Format können Nutzer festlegen. Die gesamte Kette der Parameter muss in Anführungszeichen stehen.
Angle-Grinder ist ein interessantes Werkzeug, das eine gewisse Einarbeitung voraussetzt. Die GitHub-Seite liefert Informationen und vor allem Beispiele, die beim Einstieg helfen.
Prs 0.3.0
Passwörter sicher abspeichern
Quelle: https://github.com/timvisee/prs
Lizenz: GPLv3
Alternativen: Pass, Gopass
Hier kommt ein Passwort-Safe für die Kommandozeile für alle, die sich ihre Passwörter nicht merken können. Das relativ junge Rust-basierte Tool Prs verschlüsselt den Tresor mit GnuPG und synchronisiert dank Git zwischen mehreren Rechnern. Wer Prs nicht aus den Quellen bauen möchte, findet unter GitHub Pakete für Linux, Windows und macOS.
Anwender steuern das Tool über Kommandos beim Aufruf. Beim ersten Start legen sie mit »init« einen neuen Safe an. Alternativ übernimmt der Befehl »clone« einen bestehenden aus einem Git-Repository. Als Speicherort dient das Verzeichnis »$HOME/.password-store«. Im zweiten Schritt legt Prs einen Eigentümer für die Kennwörter fest. Anwender können wahlweise einen bereits vorhandenen GnuPG-Schlüssel mit »recipients add« hinzufügen oder über »recipients generate« einen neuen erzeugen. Damit ist der Tresor fertig und kann Kennwörter aufnehmen.
Über den Befehl »add« gefolgt von einem eindeutigen Namen trägt der Benutzer ein Passwort ein. Fehlt die Kreativität, sich ein starkes Passwort auszudenken, unterstützt das Tool und erzeugt über »generate« selbst ein Kennwort. Jedes Passwort landet als verschlüsselte Datei im Safe. Was dort liegt, verrät »list«, und »show« hilft beim Auslesen. Nicht mehr benötigte Kennwörter entfernt »remove«.
Prs macht lokal und remote eine gute Figur. Die Zusammenarbeit mit GnuPG und Git überzeugt die Tester auf ganzer Linie.
LZ4 1.9.3
Dateien äußerst schnell komprimieren
Quelle: https://github.com/lz4/lz4
Lizenz: BSD 2-Clause, GPLv2
Alternativen: LZ, Gzip
Linux-Anwender können zwischen zahlreichen Kompressionsverfahren wählen. Mit LZ4 empfiehlt sich ein weiteres Tool, das seine Entwickler als besonders schnell beim Ein- und Auspacken bewerben. Eine ältere Programmversion ist in den Repositories gängiger Distributionen enthalten; wer die aktuelle Fassung nutzen möchte, baut sie selbst aus den unter GitHub angebotenen Quellen.
Nach erfolgreicher Installation stehen die Tools »lz4«, »unlz4« und »lz4cat« zur Verfügung. Dabei sind die beiden letztgenannten streng genommen symbolische Links auf »lz4«, die Benutzern das Entpacken und Anzeigen ohne weitere Parameter ermöglichen sollen. Der Anwender steuert LZ4 über Parameter beim Aufruf. Im einfachsten Fall übergibt er eine Datei, die LZ4 dann komprimiert und mit der Dateiendung ».lz4« versieht. Die Originaldatei verbleibt ebenfalls auf der Platte, sofern Benutzer nicht »–rm« beim Start angeben.
Ähnlich verhält sich das Werkzeug beim Entpacken. In der Voreinstellung bleibt das komprimierte Archiv erhalten. LZ4 achtet darauf, bereits vorhandene Dateien nicht zu überschreiben – das gilt für komprimierte und unkomprimierte Files gleichermaßen. Liegt eine Datei mit demselben Namen im Verzeichnis, fragt LZ4 nach. Alternativ erzwingt »-f« das Überschreiben. Standardmäßig komprimiert LZ4 schnell und braucht wenig Systemleistung. Wer kleinere Archive wünscht, kann mit »-1« bis »-9« den Kompressionsgrad beeinflussen. Um mehrere Dateien in einem Durchlauf zu komprimieren, gibt der Anwender zusätzlich den Parameter »-m« an. Einen Verzeichnisbaum erfasst der Schalter »-r«.
LZ4 ist tatsächlich schnell, und auch beim Entpacken lag das Tool im Vergleich mit anderen Werkzeugen vorne. Ein Blick lohnt sich. (Uwe**Vollbracht/hej)











