Linux-Terminal-Basics 11: Hilfe aufrufen
Mehr Erfahrung, mehr Tools, mehr Fragen - drei Wege zu Antworten
Auf der Kommandozeile gibt es hervorragende Hilfen! Von den Programmen selbst, der Handbuchsammlung oder auch Dritten - so auch von uns. Die Standardhilfe zeigt Euch stichpunktartig die wichtigsten Optionen, die Manuals erläutern bisweilen sehr ausführlich und wir steuern Praxisbeispiele bei. Und zwar auf Deutsch, im Terminal eher ein seltener Gast.
In unserer Serie zu Linux-Terminal-Basics zeigen wir Euch, wie Ihr einige der wichtigsten Aufgaben auf der Kommandozeile erledigen könnt - vom Navigieren, über Dateioperationen, bis hin zu komplexen Suchaufträgen. Als Terminal verwenden wir Bash und auch wenn Linux im Vordergrund steht, funktioniert fast alles auch unter Windows. Und nun noch die Links zur Einleitung und zur Übersicht aller Artikel.
Basis-Hilfe
Standardmäßig liefert so ziemlich jedes Programm eine Kurzbeschreibung und die (wichtigsten) Optionen über die Option --help:
ls --help
mkdir --help
cd --help
Oben steht dann meist etwas in der Art wie hier beim Verzeichnis-anlegen-Tool mkdir:
Usage: mkdir [OPTION]... DIRECTORY...
Gemeint ist, dass - natürlich nur bei Bedarf, daher der Name und die eckigen Klammern - Ihr zunächst einige der weiter unten erläuterten Optionen und letztlich das gewünschte Verzeichnis angeben müsst. Die Optionen beginnen dann zum Beispiel so:
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE set file mode (as in chmod), not a=rwx - umask
-p, --parents no error if existing, make parent directories as needed
...
Häufig findet Ihr hier long options (--mode=MODE) und short options (-m MODE), die völlig austauschbar sind. Leider ist die Hilfe für Einsteiger oft wenig erleuchtend.
Handbücher
Handbücher für zumindest fast alle Standardprogramme stehen Euch bereits zur Verfügung - ebenso wie das zugehörige Programm man (für Manual). Und so funktioniert meist:
man ls
man mkdir
man cd
Und schon landet man in bisweilen ziemlich umfangreichen Handbüchern, mkdir liefert zum Beispiel 710 Zeilen zurück. Hier die wichtigsten Tasten zum Navigieren in Handbüchern:
- Enter: Zeile runter
- Leertaste: Seite runter
- Pfeiltasten: Zeile rauf/runter
- PgUp/PgDn: Seite rauf/runter
- /: Suche starten
- n: Nächsten Suchtreffer anzeigen
- N: Vorigen Suchtreffer anzeigen
- h: Hilfe anzeigen
- q: Beenden
Manchmal bekommt Ihr Hinweise zum Nachschlagen von Handbuchseiten in dieser Art printf(3) und fragt Euch vermutlich, was das soll. Die Manuals sind in Sektionen/Sections eingeteilt. Standardmäßig wird freilich Sektion 1 aufgerufen - man kann sie aber auch manuell eingeben:
man 1 mkdir
man mkdir
Beide Aufrufe zeigen die erste Handbuchsektion - und oben links ist auch MKDIR(1) zu lesen. Die Sektionen sind dabei standardisiert, nachzulesen im man-Handbuch, also:
man man
Direkt auf der zweiten Seite sind die Sektionen aufgelistet, darunter zum Beispiel für Dateiformate, Spiele oder System-Calls.
Ihr könnt auch alle verfügbaren Sektionen aufrufen:
man -a printf
Natürlich landet Ihr wieder in Sektion 1 - und sobald Ihr diese mit q beendet, folgt:
--Man-- next: printf(3) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
Von hier lässt sich dann bequem navigieren. Die Handbücher sind oft sehr gut, Einsteigern könnten aber echte praktische Beispiele fehlen. Mal ein Beispiel: Ihr wollt mit ls nur die Ordner anzeigen lassen - Hilfe und Handbuch sagen dazu nur -d und Ihr versucht es vermutlich mit
ls -d
Das zeigt aber nur mit ./ das aktuelle Verzeichnis an. Und jetzt kommen Spickzettel ins Spiel.
Spickzettel
Spickzettel/Cheat-Sheets sollte sich eigentlich jeder für den Terminal zurecht legen, gerade Anfänger. Das machen Profis aber auch nicht anders, manche Funktionen und Tools nutzt man ja auch nur alle Jubeljahre mal.
Mit unserer hauseigenen Terminal-Hilfe cli.help könnt Ihr solche Spickzettel mit konkreten Beispielen direkt im Terminal aufrufen. Dazu benötigt Ihr das Programm curl - falls nicht schon vorhanden:
sudo apt install curl
... beziehungsweise entsprechend Eurer Distribution, im Paketmanagement sollte es aber immer sein. Das Tool crawlt urls, sprich es ruft sie ab - genau wie ein Browser, nur dass die Inhalte eben nicht hübsch gerendert werden. Der Aufruf:
curl cli.help/ls
curl cli.help/df
Und hier mal der Teil der Ausgabe, der beim Anzeigen von Verzeichnissen helfen soll:
## Nur Ordner anzeigen:
ls -d */
Eigentlich logisch, Ordner hören mit / auf und es ist egal, was davor steht - kommt man aber vielleicht trotzdem nicht sofort drauf ;) Bisweilen sind die Beispiele aber auch deutlich komplexer, versprochen.
Auf die Weise bekommt Ihr zusätzliche Hilfe zu rund 170 Befehlen. Außerdem gibt es noch ein paar thematische Seiten, versucht es doch mal mit:
curl cli.help/befehle
curl cli.help/nutzer
curl cli.help/dirstack
curl cli.help/regex
Die Erfinder der In-Terminal-Hilfe sind wir freilich nicht, da gibt es allerlei Anbieter - natürlich auf Englisch und mit generischen Programmaufrufen:
curl cheat.sh/ls
Generisch soll heißen, dass abstrahierte Aufrufe mit Platzfreihaltern gezeigt werden, eigene Werte müsst Ihr selbst einsetzen. Bei cli.help sind es Aufrufe mit echten Werten und teils regelrecht willkürlich speziell - hier ein Auszug aus dem ls-Spickzettel:
## Folgen 2 - 4 aus 09 Staffeln einer Serie anzeigen, benannt nach dem Muster: "irgendwas_s01_e02_irgendwas":
ls *s0?_e0[2-4]*
Das nennt sich dann Extended Globbing, quasi der kleine Bruder von regulären Ausdrücken. Egal, genug Basics für heute.