Hilfe zu Linux-Befehlen erhalten

LinuxBeginner
Jetzt üben

Einführung

Erfahrene Linux-Benutzer merken sich nicht jeden Befehl und jede Option. Sie wissen, wie sie das System fragen, was ein Name bedeutet, wie sie eine kurze Verwendungssummary finden, die vollständige Dokumentation öffnen und Manpages nach Themen durchsuchen.

Dieses Labor baut direkt auf den grundlegenden Dateioperationen auf. Sie untersuchen vertraute Befehle wie cd, ls und cp und speichern anschließend kleine Nachweisdaten unter /home/labex/project/command-help. Am Ende ist unbekannte Syntax keine Hürde mehr, sondern eine Frage der Dokumentation.

Die Bedeutung eines Befehlsnamens ermitteln

In diesem Schritt unterscheiden Sie Shell-Builtins, Aliase und ausführbare Dateien, bevor Sie die passende Hilfequelle auswählen.

Wechseln Sie in das Arbeitsverzeichnis des Labors:

cd /home/labex/project/command-help

Einige Befehle sind direkt in die Shell eingebaut, weil sie die Shell selbst ändern müssen. Fragen Sie die Shell, was cd ist:

type cd

Die Ausgabe sollte Folgendes enthalten:

cd is a shell builtin

Andere Namen können Aliase sein – kurze Ersetzungen, die von der Shell eingerichtet wurden – oder externe Programme, die als Dateien gespeichert sind. Untersuchen Sie ls:

type ls

Abhängig von der Shell-Konfiguration kann die Ausgabe einen Alias oder einen Pfad zu einer ausführbaren Datei nennen. Verwenden Sie type -a, um jede passende Form anzuzeigen, 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

Speichern Sie einen kurzen Klassifizierungsbericht. Das erste > erstellt den Bericht oder ersetzt ihn; 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 ls sowie cp beschreiben. Der Befehlstyp ist wichtig, weil Shell-Builtins eine shellspezifische Dokumentation verwenden, während externe Programme häufig --help und Manpages unterstützen.

Kurze Hilfe und Verwendungssyntax lesen

In diesem Schritt verwenden Sie die integrierte Hilfe und --help. Außerdem lernen Sie, wie die gängige Notation in einer Usage-Zeile zu lesen ist.

Da cd ein Shell-Builtin ist, fragen Sie Bash nach der Dokumentation. Das Laborterminal verwendet Zsh. help ist ein Bash-Builtin und kein eigenständiger Befehl. Rufen Sie Bash daher ausdrücklich auf:

bash -c 'help cd'

Die erste Zeile beginnt mit einem Verwendungsmuster, das etwa wie cd [-L|[-P ...]] [dir] aussieht. Sie müssen noch nicht jede Option verstehen. Konzentrieren Sie sich auf die Struktur: Der Befehlsname steht zuerst, und Elemente in eckigen Klammern sind optional.

Externe Programme unterstützen häufig --help. Die vollständige Hilfe von ls ist lang. Deshalb verwenden Sie hier zum ersten Mal bewusst eine Pipeline. Eine Pipe wird als | geschrieben. Der Befehl auf der linken Seite schreibt die 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; geben Sie sie nicht wörtlich ein.

Prüfen Sie die Kurzhilfe zum Kopieren:

cp --help | head -n 8

Speichern Sie die ersten Zeilen beider Befehle mit Abschnittsbezeichnungen. > 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 zeigt, dass Sie Usage-Zeilen finden und erkennen können.

Eine Manpage durchsuchen

In diesem Schritt verwenden Sie den interaktiven man-Viewer und lernen, was die Abschnitte der Manpages bedeuten.

Öffnen Sie die Manpage für ls:

man ls

Die Manpage wird in einem Pager geöffnet, normalerweise in less. Üben Sie im Viewer die folgenden Tasten:

  • Pfeil nach unten: eine Zeile nach unten bewegen;
  • Leertaste (Space): einen Bildschirm weitergehen;
  • b: einen Bildschirm zurückgehen;
  • geben Sie /sort ein und drücken Sie die Eingabetaste (Enter): vorwärts nach sort suchen;
  • n: zum nächsten Treffer wechseln;
  • q: den Viewer beenden und zur Shell-Eingabeaufforderung zurückkehren.

Die Überschrift zeigt normalerweise LS(1). Die Zahl bezeichnet einen Manpage-Abschnitt. Abschnitt 1 enthält gewöhnliche Benutzerbefehle. Andere Abschnitte behandeln Systemaufrufe, Bibliotheksfunktionen, Konfigurationsformate und Administrationsbefehle.

Verwenden Sie man -f für eine einzeilige Beschreibung, auch als „whatis“-Suche bezeichnet:

man -f ls

Speichern Sie einen nicht interaktiven Auszug derselben Manpage. Lesen Sie diese Pipeline von links nach rechts: -P cat sorgt dafür, dass man die Ausgabe 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

Sie sollten die Überschrift der Manpage, den Namen, die Synopsis und den Anfang 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 verwenden Sie apropos, wenn Sie die Aufgabe kennen, aber nicht den Namen des passenden Befehls.

apropos durchsucht die Kurzbeschreibungen in der Manpage-Datenbank. Suchen Sie nach Dokumentation zum Thema Passwörter:

apropos password | head -n 15

Jedes Ergebnis enthält einen Manpage-Namen, den Abschnitt in Klammern und eine Kurzbeschreibung. Ein Ergebnis sollte passwd beschreiben.

Suchen Sie nach Themen rund um Dateien:

apropos file | head -n 20

Allgemeine Suchbegriffe liefern viele Ergebnisse. Eine spezifischere Wortgruppe kann hilfreicher sein:

apropos "copy files"

Sie können ein umfangreiches Ergebnis außerdem filtern. Die Option -i weist grep an, die Groß- und Kleinschreibung zu ignorieren. -m 5 beendet die Suche nach fünf passenden Zeilen:

apropos file | grep -i -m 5 'copy'

Speichern Sie die vollständige Passwortsuche, damit Sie sie später untersuchen können:

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 Manpage-Datenbank möglicherweise mit sudo mandb erstellt oder aktualisiert werden. In diesem Labor wurde die Datenbank automatisch vorbereitet. Wenn Sie diesen Zusammenhang kennen, können Sie das Werkzeug an anderen Orten leichter untersuchen und Fehler beheben.

Zusammenfassung

Sie haben eine wiederverwendbare Hilfestrategie kennengelernt: Verwenden Sie type oder command -V, um einen Namen zu identifizieren, shellspezifische Hilfe wie Bashs help oder die Option --help eines Programms, um schnell die Syntax zu prüfen, man für die vollständige Dokumentation und apropos, wenn Sie das Thema, aber nicht den Befehl kennen. Diese Werkzeuge machen es überflüssig, sich jede Option zu merken, und helfen Ihnen dabei, im weiteren Kurs unbekannte Befehle zu untersuchen.