9 Kommandozeilen-Tools, die jeder Dev braucht
Selbst wenn Sie dieser Anblick nicht in Verzückung versetzt – ein Blick auf diese obligatorischen Kommandozeilen-Tools lohnt sich.
Foto: SkillUp | shutterstock.com
Manche Devs arbeiten mit der Kommandozeile (auch Command Line Interface; CLI), weil sie sie lieben – andere, weil ihnen nichts anderes übrig bleibt. Egal zu welcher Kategorie Sie sich zählen: Diese neun CLI-Tools helfen Ihrer Produktivität und Effizienz (zusätzlich) auf die Sprünge.
tldr
Keine Angst, wir ersparen Ihnen an dieser Stelle eine langwierige, faszinative Abhandlung über die ganz eigene Magie, die die Unix-Shell entfaltet. Fakt ist: Wenn man mit ihr arbeiten will, ist es manchmal erforderlich, vorher ein Handbuch zu lesen. Unix Docs (auch man- oder manual pages) sind diesbezüglich allerdings ein zweischneidiges Schwert: Die benötigte Information ist vorhanden – es ist nur die Frage, wo. Den Teil der Dokumentation aufzuspüren, den Sie gerade benötigen, kann ein entmutigender Task sein. Zwar kann die gute alte Befehlszeile dabei helfen – um ein offizielles Handbuch aufzurufen, genügt:
$ man
Allerdings zeichnen sich man-pages vor allem durch ihre Informationsdichte aus – und die Tatsache, dass sie manchmal aktuelle Informationen für neuere Tools vermissen lassen. Das CLI-Tool tldr versetzt Sie in die Lage, zielgerichteter zu suchen:
$ tldr
tldr in Aktion.
Foto: Matthew Tyson | IDG
Falls Sie npm installiert haben, ist die tldr-Installation nur einen kurzen Befehl entfernt:
npm install -g tldr
Mehr Infos zu tldr
ngrok
Sobald Sie tldr installiert haben, können Sie damit viele weitere Befehle erkunden. Zum Beispiel:
$ tldr ngrok
Reverse proxy that creates a secure tunnel from a public endpoint to a locally running web service.
Mit ngrok eröffnet sich Ihnen eine stressfreie Möglichkeit, von einem Remote-Browser auf eine Entwicklungsmaschine zuzugreifen. Aber das Tool kann noch weit mehr. Sie können damit beispielsweise in der Cloud entwickeln und die Ergebnisse im Browser in Augenschein nehmen. Zudem können Sie mit ngrok auch schnell und einfach laufende Services über HTTPS veröffentlichen – ohne sich mit der Security-Infrastruktur herumschlagen zu müssen. Angenommen, Sie bauen einen Service Worker auf, der HTTPS benötigt, dann ist alles, was Sie für einen sicheren Kontext tun müssen, ngrok zu starten.
Das CLI-Tool ngrok macht Devs das Leben auf verschiedenen Ebenen leichter.
Foto: Matthew Tyson | IDG
Ein Beispiel, bei dem der HTTP-Port 8080 freigegeben wird:
$ ngrok http 8080
Der ngrok-Output sieht wie folgt aus:
https://f951-34-67-117-59.ngrok-free.app -> http://localhost:8080
Anschließend kann jedermann die zugewiesene URL aufrufen (machen Sie sich keine Mühe).
Mehr Infos zu ngrok
screen
Mit diesem Befehlszeilen-Tool können Sie eine Shell-Sitzung mit oder ohne laufenden Prozess “beiseite legen” und sie anschließend zu einem beliebigen Zeitpunkt fortsetzen – auch wenn Sie die ursprüngliche Session beenden.
$ tldr screen
Hold a session open on a remote server. Manage multiple windows with a single SSH connection.
Nehmen wir an, Sie starten ngrok, um remote auf eine Webanwendung zuzugreifen: Sie starten den Prozess, lassen diesen dann in screen laufen und programmieren so lange etwas. Währenddessen läuft ngrok die ganze Zeit weiter – Sie können über screen jederzeit wieder darauf zugreifen. Veranschaulicht in Code würde das wie folgt aussehen:
$ screen
// Now we are in a new session
$ ngrok http 8080
// Now ngrok is running, exposing http port 8080
Type ctrl-a
// Now we are in screen's command mode
Type the "d" key, to "detach".
// Now you are back in the shell that you started in, while screen is running your ngrok command in the background:
$ screen -list
There is a screen on:
128861.pts-0.dev3 (04/25/24 14:36:58) (Detached)
Tipp
Wenn Sie eine laufende Sitzung, in der Sie sich gerade befinden, benennen wollen, nutzen Sie die Tastenkombination Strg + A und geben :sessionname ein. Das ist besonders nützlich, wenn Sie mit mehreren Screen-Instanzen arbeiten wollen.
Screen ist ein umfangreiches und potentes CLI-Tool.
Foto: Matthew Tyson | IDG
Wenn wie im Beispiel nur eine screen-Instanz läuft, führt der Befehl $ screen -r (für “re-attach”) Sie zurück zu Ihrer ngrok-Sitzung. Im Fall mehrerer Screens können Sie diese mit Hilfe ihrer ID wieder aufrufen:
$ screen -r
Wenn Sie Ihre Session endgültig beenden wollen, beenden Sie ngrok mit Strg + C und geben anschließend exit in die Kommandozeile ein.
Mehr Infos zu screen
sdkman und nvm
Wenn Sie Java oder JavaScript auf einem Server verwenden, sollten Sie sich mit sdkman (für Java) und nvm (für Node) vertraut machen. Beide Kommandozeilen-Tools sind nützlich, wenn es darum geht, mit mehreren Programmiersprachenversionen auf dem selben Rechner zu jonglieren – und dabei sowohl Path Adjustment als auch Umgebungsvariablen überflüssig machen.
Mit sdkman können Sie beispielsweise neuere Java-Versionen erkunden und anschließend wieder zum aktuellen LTS-Release springen. Dieser Prozess wird durch das sdk-Kommando abstrahiert.
sdkman zeigt alle verfügbaren Java-Installationen auf einem lokalen Rechner an – inklusive derjenigen, die gerade in Benutzung ist.
Foto: Matthew Tyson | IDG
Zwischen den Versionen zu wechseln, gestaltet sich denkbar einfach – $ sdk use java 19-open führt Sie direkt zu JDK Version 19.
$ tldr sdk
Manage parallel versions of multiple Software Development Kits.
Supports Java, Groovy, Scala, Kotlin, Gradle, Maven, Vert.x and many others.
Die nvm-Utility funktioniert ganz ähnlich:
$ tldr nvm
Install, uninstall or switch between Node.js versions.
Supports version numbers like "12.8" or "v16.13.1", and labels like "stable", "system", etc.
Ein Blick auf nvm.
Foto: Matthew Tyson | IDG
Mehr Infos zu sdkman
Mehr Infos zu nvm
fzf
Sowohl grep als auch find sind Standardbestandteile der Kommandozeilen-Befehlspalette. Allerdings sind beide Tools nicht so funktional, wie sie sein sollten. Das ruft fzf auf den Plan – einen “Fuzzy File Finder”. Mit “Fuzzy” ist dabei gemeint, dass die Details zu dem, was Sie suchen, nicht unbedingt klar definiert sein müssen. Ein Beispiel:
$ tldr fzf
Command-line fuzzy finder.
Similar to sk.
Sobald Sie fzf starten, indiziert das CLI-Tool umgehend das Dateisystem, um Ergebnisvorschläge für Ihre Suchen zu unterbreiten.
In diesem Beispiel suchen wir nach einem Projekt, an dem wir zuletzt gearbeitet haben.
Foto: Matthew Tyson | IDG
Aus 878.937 Möglichkeiten hat fzf die 25 Dateien und Verzeichnisse ausgewählt, die unseren Anforderungen entsprechen könnten – und das völlig ohne Umwege.
Mehr Infos zu fzf
exa
Mit exa werden langweilige alte ls-Listings schöner und nützlicher:
$ tldr
A modern replacement for ls (List directory contents).
Für eine bessere Developer Experience ohne mentalen Overhead statten Sie ls einfach mit einem exa-Alias aus. Das Tool respektiert die meisten ls-Standardoptionen – exa -l funktioniert also (beispielsweise) genau so, wie Sie es erwarten würden.
Exa ist das neue ls.
Foto: Matthew Tyson | IDG
Mehr Infos zu exa
bat
Die bat-Utility ähnelt dem cat-Tool – ist aber besser:
$ tldr bat
Print and concatenate files.
A cat clone with syntax highlighting and Git integration.
Es handelt sich hierbei im Wesentlichen um eine Komfort- beziehungsweise Developer-Experience-Optimierung – ähnlich wie im Fall von exa. Wenn Sie bat verwenden, erwartet Sie ein vollwertiger File Viewer – inklusive Title, Borders, Line Numbers und insbesondere einer hilfreichen Syntax-Highlighting-Funktion für Programmiersprachen oder Konfigurationsdateien. Dabei reagiert bat auf less/more-Befehle – und wird mit “q” beendet. Die Navigation erfolgt über die Pfeiltasten.
Bat ist ein simples Dienstprogramm, das es zu einem echten Erlebnis macht, Dateien auf der Konsole zu durchsuchen.
Foto: Matthew Tyson | IDG
Mehr Infos zu bat
nethack
Ein absoluter Kommandozeilen-Klassiker ist nethack – der ursprüngliche, Konsolen-basierte ASCII Dungeon Crawler. Das CLI-Tool wird Ihre Produktivität zwar nicht direkt ankurbeln – kann aber durchaus dabei helfen, ein paar Minuten zur Ruhe zu kommen, um komplexe Dev-Probleme zu durchdringen.
Es gibt neuere Versionen des Nethack-Konzepts – manchmal fährt man jedoch mit dem Original am besten.
Foto: Matthew Tyson | IDG
Mehr Info zu nethack
Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!
Hier finden Sie den kompletten Artikel: