Einleitung
Erfahrene Linux-Benutzer merken sich nicht jeden Befehl und jede Option. Sie wissen, wie sie das System fragen, was ein Name bedeutet, eine kurze Nutzungserklärung finden, die vollständige Dokumentation öffnen und Handbücher nach Themen durchsuchen können.
Dieses Labor baut direkt auf den grundlegenden Dateioperationen auf. Du untersuchst vertraute Befehle wie cd, ls und cp und speicherst anschließend kleine Nachweisdaten unter /home/labex/project/command-help. Am Ende ist unbekannte Syntax kein Hindernis mehr, sondern einfach eine Frage der passenden Dokumentation.
Die Bedeutung eines Befehlsnamens bestimmen
In diesem Schritt unterscheidest du Shell-Builtin-Befehle, Aliase und ausführbare Dateien, bevor du die passende Hilfequelle auswählst.
Wechsle in das Arbeitsverzeichnis des Labors:
cd /home/labex/project/command-help
Einige Befehle sind direkt in die Shell eingebaut, weil sie die Shell selbst verändern müssen. Frage die Shell, was cd ist:
type cd
Die Ausgabe sollte Folgendes enthalten:
cd is a shell builtin
Andere Namen können Aliase sein – kurze, von der Shell konfigurierte Ersetzungen – oder externe Programme, die als Dateien gespeichert sind. Untersuche ls:
type ls
Je nach Shell-Konfiguration kann die Ausgabe einen Alias oder den Pfad zu einer ausführbaren Datei nennen. Mit type -a lässt du dir jede passende Form anzeigen, die die Shell finden kann:
type -a ls
command -V liefert eine weitere gut lesbare Beschreibung:
command -V cp
command -v gibt den Befehl oder Pfad aus, den die Shell tatsächlich auswählen würde:
command -v cp
Speichere einen kurzen Klassifizierungsbericht. Das erste > erstellt den Bericht oder ersetzt eine vorhandene Datei; jedes folgende >> hängt die Ausgabe eines weiteren Befehls an, ohne die bisherigen Zeilen zu löschen:
type cd > command-types.txt
type ls >> command-types.txt
command -V cp >> command-types.txt
cat command-types.txt
Der Bericht sollte cd als Builtin identifizieren und sowohl ls als auch cp beschreiben. Die Kenntnis des Befehlstyps ist hilfreich, weil Shell-Builtins häufig help verwenden, während externe Programme meist --help und Manpages unterstützen.
Kurzhilfe und Nutzungssyntax lesen
In diesem Schritt verwendest du die integrierte Hilfe und --help. Außerdem lernst du, wie die übliche Notation in einer Nutzungzeile zu verstehen ist.
Da cd ein Shell-Builtin ist, kannst du mit help die Bash-Dokumentation dazu anzeigen:
help cd
Die erste Zeile beginnt mit einem Nutzungsmuster ähnlich wie cd [-L|[-P ...]] [dir]. Du musst noch nicht jede Option verstehen. Achte zunächst auf die Struktur: Der Befehlsname steht am Anfang, und Elemente in eckigen Klammern sind optional.
Externe Programme unterstützen häufig --help. Die vollständige Hilfe von ls ist lang, daher verwendest du hier zum ersten Mal bewusst eine Pipeline. Eine Pipeline wird mit | geschrieben. Der Befehl auf der linken Seite schreibt seine normale Ausgabe, und der Befehl auf der rechten Seite empfängt diese Ausgabe als Eingabe. Hier behält head -n 8 nur die ersten acht Zeilen:
ls --help | head -n 8
Die erste Zeile hat allgemein folgende Form:
Usage: ls [OPTION]... [FILE]...
[OPTION]... bedeutet null oder mehr Optionen. [FILE]... bedeutet null oder mehr Datei- oder Verzeichnisargumente. Die Klammern beschreiben die Syntax; du gibst sie nicht wörtlich ein.
Rufe die Kurzhilfe zum Kopieren auf:
cp --help | head -n 8
Speichere die ersten Zeilen beider Befehle mit Abschnittsüberschriften. > beginnt eine neue Datei, während >> jeden folgenden Abschnitt anhängt:
echo "=== ls ===" > quick-help.txt
ls --help | head -n 3 >> quick-help.txt
echo "=== cp ===" >> quick-help.txt
cp --help | head -n 3 >> quick-help.txt
cat quick-help.txt
Diese kleine Datei ersetzt nicht den vollständigen Hilfetext. Sie belegt lediglich, dass du Nutzungshinweise von Befehlen finden und erkennen kannst.
Eine Manpage navigieren
In diesem Schritt verwendest du den interaktiven Betrachter man und lernst die Bedeutung der verschiedenen Handbuchabschnitte kennen.
Öffne die Manpage von ls:
man ls
Das Handbuch wird in einem Pager geöffnet, normalerweise in less. Übe innerhalb des Betrachters die folgenden Tasten:
- Pfeil nach unten: eine Zeile nach unten;
- Leertaste: einen Bildschirm weiter;
- b: einen Bildschirm zurück;
/sorteingeben und Enter drücken: vorwärts nachsortsuchen;- n: zum nächsten Treffer wechseln;
- q: beenden und zur Shell-Eingabeaufforderung zurückkehren.
Die Überschrift lautet normalerweise LS(1). Die Zahl bezeichnet den Handbuchabschnitt. Abschnitt 1 enthält gewöhnliche Benutzerbefehle; andere Abschnitte behandeln Systemaufrufe, Bibliotheksfunktionen, Konfigurationsformate und Administrationsbefehle.
Mit man -f erhältst du eine einzeilige Beschreibung, auch als „whatis“-Suche bezeichnet:
man -f ls
Speichere einen nicht interaktiven Auszug derselben Manpage. Lies diese Pipeline von links nach rechts: -P cat sorgt dafür, dass man die Ausgabe direkt ausgibt, statt einen Pager zu öffnen; col -b entfernt Steuerzeichen zur Terminalformatierung; head -n 20 behält zwanzig Zeilen; und > speichert den endgültigen Datenstrom:
man -P cat ls | col -b | head -n 20 > ls-man-excerpt.txt
cat ls-man-excerpt.txt
Du solltest die Überschrift des Handbuchs, den Namen, die Synopsis und den Beginn der Beschreibung sehen. Damit ist bestätigt, dass die interaktive und die nicht interaktive Ansicht aus derselben Dokumentation stammen.
Befehle nach Themen finden
In diesem Schritt verwendest du apropos, wenn du die Aufgabe kennst, aber nicht den Namen des passenden Befehls.
apropos durchsucht die Kurzbeschreibungen in der Handbuchdatenbank. Suche nach Dokumentation zum Thema Passwörter:
apropos password | head -n 15
Jedes Ergebnis enthält einen Handbuchnamen, den Abschnitt in Klammern und eine kurze Beschreibung. Eines der Ergebnisse sollte passwd beschreiben.
Suche nach Themen rund um Dateien:
apropos file | head -n 20
Allgemeine Suchbegriffe liefern viele Ergebnisse. Eine spezifischere Wortgruppe kann hilfreicher sein:
apropos "copy files"
Du kannst ein umfangreiches Ergebnis zusätzlich filtern. Die Option -i weist grep an, Groß- und Kleinschreibung zu ignorieren, während -m 5 nach fünf passenden Zeilen abbricht:
apropos file | grep -i -m 5 'copy'
Speichere die vollständige Suche zum Thema Passwörter, damit du sie später untersuchen kannst:
apropos password > password-topics.txt
grep -E '^passwd|change.*password' password-topics.txt | head
Wenn apropos auf einem neu installierten System nichts findet, muss die Handbuchdatenbank möglicherweise mit sudo mandb erstellt oder aktualisiert werden. In diesem Labor wurde die Datenbank automatisch vorbereitet. Wenn du diesen Zusammenhang kennst, kannst du das Werkzeug auch in anderen Umgebungen leichter bei der Fehlersuche unterstützen.
Zusammenfassung
Du hast eine wiederverwendbare Strategie zur Suche nach Hilfe kennengelernt: Verwende type oder command -V, um einen Namen zu identifizieren, help oder --help für eine schnelle Syntaxübersicht, man für die vollständige Dokumentation und apropos, wenn du das Thema, aber nicht den passenden Befehl kennst. Diese Werkzeuge machen es überflüssig, sich jede Option zu merken, und helfen dir dabei, im weiteren Verlauf des Kurses unbekannte Befehle selbstständig zu untersuchen.



