Im Kurztest: Gtabview 0.8 , Axel 2.12, Crun 0.7.0, Httest 2.4.12, Mailsend 1.19, Smenu 0.9.9
Gtabview 0.8
Grafischer Aufsatz für Tabview
Quelle: https://github.com/wavexx/gtabview
Lizenz: MIT
Alternativen: Tabview, Column, Gnumeric
Das CSV-Format (Comma-separated Values) kommt oft zum Einsatz, um Inhalte aus Datenbanken oder Tabellen zu im- und exportieren. Die Inhalte der Felder sind in den CSV-Dateien meist durch ein Komma oder Semikolon voneinander getrennt. Anwender betrachten die Textdateien mit einem Pager oder Editor. Wer es grafisch mag, öffnet sie alternativ in einer Tabellenkalkulationen.
Das Python-Tool Gtabview empfiehlt sich als leichtgewichtige Alternative für ».csv«- und ».txt«-Dateien. Wer die Python-Module »xlrd« und »blaze« nachrüstet, kann mit Gtabview auch andere Formate öffnen, etwa XLSX, Json, HDF5 oder SQlite.
Das Tool erkennt selbstständig die Tabellenstruktur und wertet die CSV-Feldtrenner aus. Wer andere Begrenzer in der Datei verwendet, definiert diese beim Start hinter »-d«. Die erste Zeile der Datei interpretiert Gtabview immer als Kopfzeile. Die Option »-H« unterdrückt dies oder bestimmt andere Zeilen als Überschrift. Indexspalten geben Anwender hinter »-I« an, wer nur einen Ausschnitt der Tabellendaten betrachten möchte, legt über »-s« eine Startposition fest.
Gtabview hält sein Versprechen. Python-Entwickler können den Code auch als Modul in eigene Projekte integrieren. Hilfe dazu finden sie in der Dokumentation im Github-Repository.
Axel 2.12
Downloadmanager für die Shell
Quelle: https://github.com/eribertomota/axel
Lizenz: GPLv2
Alternativen: Aria 2, Wget
Dieser Downloadmanager sieht seine Stärken vor allem in der optimalen Ausnutzung der Bandbreite. Dazu startet er mehrere Threads, die jeweils eine Verbindung öffnen und einen Teil der Datei übertragen. Am Ende setzt Axel die Fragmente wieder zusammen. Das Tool unterstützt die Protokolle HTTP und FTP sowie deren verschlüsselte Varianten.
Existieren im Netz mehrere Quellen, können Benutzer die URLs beim Aufruf angeben. Die von Axel initiierten Threads nehmen dann Kontakt auf und laden die Teilstücke von allen Seiten herunter. Auch mit abgebrochenen Downloads kommt das Tool gut klar. Beim nächsten Start setzt es die Übertragung an der letzten bekannten Position fort.
Über »-f« legen Anwender die Anzahl der maximalen Threads fest; mit »-s« beschränken sie die Bandbreite. Wer auf der Suche nach zusätzlichen Quellen ist, kann Axel über »–search« anweisen, bei http://www.filesearching.com nach Mirror-Servern Ausschau zu halten. Damit das Tool bei selbst signierten SSL-Zertifikaten nicht aussteigt, haben die Entwickler den Schalter »–insecure« implementiert. Er sorgt dafür, dass es auf die Zertifikatsprüfung verzichtet.
Axel überzeugte im Test durch seine Geschwindigkeit. Auf den riesigen Funktionsumfang wie bei Wget und Aria 2 müssen Nutzer dafür verzichten.
Crun 0.7.0
C/C++-Code als Skripte
Quelle: https://github.com/GochoMugo/crun
Lizenz: MIT
Alternativen: Cling, Ch
Mit Crun starten Entwickler ihre C- und C++-Programme wie Shellskripte. Dazu setzt das Tool auf »cc« beziehungsweise »g++«, um den Quellcode im Hintergrund zu kompilieren. Die fertige Binärdatei legt es in »/tmp« ab und führt sie anschließend aus. Beim nächsten Start prüft das Tool, ob sich der Code verändert hat und kompiliert ihn gegebenenfalls neu. Wer ein anderes Verzeichnis als Ablage nutzen möchte, definiert dieses über die Umgebungsvariable »$CRUN_CACHE_DIR«.
Entwickler tragen »#!/usr/bin/env crun« in die erste Zeile ihres Quellcodes ein und machen ihn ausführbar. Wer möchte, hinterlegt Compiler-Optionen in der zweiten Zeile als Kommentar. Crun nimmt diverse Anweisungen als Parameter entgegen. Mit »–force-compile« etwa kompiliert das Tool den Code jedes Mal – egal ob er sich geändert hat oder nicht.
Wer das Programm nur kompilieren, aber nicht ausführen möchte, setzt »–just-compile«. In diesem Fall interpretiert Crun alle weiteren Parameter als Compiler-Optionen.
Dank Crun können C/C++-Programmierer nun kleine Skripte in ihrer favorisierten Sprache umsetzen. Ob das der lohnendere Weg ist oder ob sich eine echte Skriptsprache besser eignet, müssen sie selbst entscheiden.
Httest 2.4.12
HTTP-Anwendungen testen
Quelle: http://htt.sourceforge.net/cgi-bin/cwiki/bin/public
Lizenz: Apache
Alternativen: Curl, Siege
Beim Testen von HTTP-basierten Anwendungen, etwa Webservern, Proxys, Webapps oder Browsern, hilft diese Toolsammlung. Neben dem Hauptprogramm »httest« stehen nach dem Kompilieren die Tools »htnlm«, »htremote« und »htproxy« zur Verfügung. Besonders interessant fanden die Tester »htproxy«: Als Proxyserver eingetragen zeichnet das Werkzeug Verbindungen als Httest-Skriptdatei auf. So erzeugen Benutzer bequem mit dem Browser Testfälle, die sie später mit Httest reproduzieren können.
Die Aufrufparameter von Httest beschränken sich auf das Abfragen von Informationen, das Debugging und das Setzen von Zeitstempeln. Die Tests selbst definieren Anwender in den »CLIENT«-Blöcken der Einrichtungsdatei. Hier legt »_REQ« fest, auf welche Website das Tool zugreift. Es folgen HTTP-Kommandos wie »__GET«, »__Host« oder »__User-Agent«, die in der Httest-Konfiguration zwei führende Unterstriche erhalten. Die erwartete Ausgabe definiert »_EXPECT«; reguläre Ausdrücke sind erlaubt. Zuletzt bestimmen Nutzer über »_WAIT« in der Einrichtungsdatei, dass das Tool auf die Antwort des Servers wartet und das Ergebnis mit der »_EXPECT«-Vorgabe vergleicht.
Für umfangreichere Tests erlaubt das Tool mehrere »_REQ«-Einträge im »CLIENT«-Block, gefolgt von den jeweiligen HTTP-Befehlen. Httest interagiert mit externen Tools und mit den Skriptsprachen Lua und Javascript. Die Projektseite enthält eine umfassende Dokumentation sowie einen Workshop für Schnelleinsteiger.
Die Httest-Toolsammlung überzeugt auf ganzer Linie. Eine echte Bereicherung ist das gute Handbuch mit den anschaulichen Beispielen.
Mailsend 1.19
Mailprogramm für die Konsole
Quelle: https://github.com/muquit/mailsend
Lizenz: BSD
Alternativen: Msmtp, Mail
Dieses kleine Tool verschickt elektronische Post über das SMTP-Protokoll auf der Kommandozeile. Ursprünglich geschrieben, um Nachrichten aus Windows-Programmen heraus per Mail zu versenden, arbeitet Mailsend inzwischen auch unter Mac OS und Linux. Seit Version 1.17b1+ unterstützt das C-Programm auch IPv6 auf sämtlichen Plattformen.
Eine Konfigurationsdatei gibt es nicht. Anwender steuern Mailsend über Aufrufparameter. Hinter »-t« geben sie den Empfänger und hinter »-f« den Absender an; »-cc« beziehungsweise »-bc« nehmen weitere Adressen entgegen. Den SMTP-Server bestimmt »-smtp Hostname«. Mittels »-user« und »-pass« authentifizieren sich Benutzer bei diesem. Soll die Kommunikation verschlüsselt erfolgen, helfen die Optionen »-ssl« oder »-starttls« weiter. Als Nachrichtentext definieren Anwender hinter »-msg-body« eine Textdatei. Anhänge verschicken sie über »-attach«. Wer Bilder einbinden möchte, gibt diese hinter »-embed-image« an.
Alternativ bietet Mailsend einen interaktiven Modus und erfragt nach dem Start die benötigten Informationen. Anwender geben den SMTP-Server, den Empfänger, die Absenderadresse und den Betreff ein. CC- oder BCC-Einträge sind nicht möglich. Bevor Mailsend einen rudimentären Texteditor zum Verfassen der Nachricht öffnet, prüft es die Verbindung zum SMTP-Server. Ist dieser nicht erreichbar, quittiert das Tool den Dienst.
Mailsend macht vor allem in eigenen Skripten eine gute Figur. Abzüge gibt es für den eingeschränkten Funktionsumfang im interaktiven Modus.
Wer seine Shellskripte gerne mit einem kleinen Auswahlmenü aufpeppen möchte, der sollte sich Smenu anschauen. Das kleine C-Programm liest den Inhalt der Standardausgabe ein und bereitet ihn in Zusammenarbeit mit der Terminfo-Bibliothek grafisch auf. Mit den Pfeiltasten navigieren Anwender durch die Menü-Einträge und mit [Enter] wählen sie einen davon aus, der wiederum auf Stdout landet.
In der Voreinstellung erzeugt Smenu ein mehrspaltiges Auswahlmenü. Die Anzahl der maximal erlaubten Spalten legen Anwender beim Aufruf über »-t« fest. Auch die Menge der Zeilen können sie über »-n« begrenzen. Ist die tatsächliche Ausgabe länger, erscheint am rechten Rand ein Scrollbalken. Über Filter können Benutzer die Menü-Einträge einschränken, sie legen dazu über »-i« und »-e« fest, welche Daten Smenu aufnimmt beziehungsweise ausschließt. Das Verwenden regulärer Ausdrücke ist erlaubt.
Leerzeichen, Tabulatoren und Zeilenumbrüche im Eingabedatenstrom interpretiert Smenu als Trenner. Aus einem Satz mit sechs Wörtern werden so sechs Menü-Einträge. Über »-W« definieren Benutzer auf Wunsch einen alternativen Trenner. Enthält die Eingabe nicht darstellbare Zeichen, ersetzt Smenu diese durch Leerzeichen, wenn Benutzer den Parameter »-b« mitgeben.
Smenu veredelt Shellskripte, die eine Interaktion von Seiten der Anwender erfordern. Das Tool macht lokal und über SSH optisch etwas her, hat nur wenig Abhängigkeiten und belegt fast keine Ressourcen. Weitere Pluspunkte sammelt es wegen der Dokumentation samt Beispielen.













