Linux-Kurs / Linux Terminal und Shell Grundlagen: Befehlssyntax und Hilfe finden

Um Befehle unter Linux auszuführen, öffnen Sie ein Terminal und geben Sie sie in eine Shell ein. Das Terminal ist die Schnittstelle, in der Sie tippen und Ausgaben sehen; die Shell interpretiert, was Sie eingeben, und führt Befehle aus. Diese Lektion zeigt Ihnen, wie Sie die grundlegende Befehlssyntax lesen, Ergebnisse von Fehlern unterscheiden und Hilfe finden, wenn ein Befehl unbekannt ist.

Wenn Sie noch keine Linux-Umgebung haben, schließen Sie zuerst die Lektion zur Einrichtung der virtuellen Maschine ab. Geben Sie diese Befehle im Terminal des Gasts ein.

Was ist der Unterschied zwischen einem Terminal und einer Shell?

Die Terminalanwendung ist das Fenster, das Texteingaben akzeptiert und Ergebnisse anzeigt. Eine Shell läuft darin und interpretiert Befehle. Die Shell kann einen eingebauten Befehl selbst ausführen oder ein anderes Programm starten und dann dessen Ausgabe im Terminal anzeigen. Terminalanwendungen können unterschiedlich aussehen, aber die Grundlagen des Schreibens von Befehlen bleiben ähnlich, wenn sie dieselbe Shell ausführen.

Die Beispiele hier verwenden Bash (Bourne Again Shell). Bash ist sowohl auf Ubuntu als auch auf Rocky Linux verfügbar, obwohl die aktuell laufende Shell und die installierten Befehle je nach System unterschiedlich sein können. Ein Remote-Server hat möglicherweise keine grafische Terminalanwendung, aber die Prinzipien der Nutzung einer Shell sind die gleichen.

Ein Terminal öffnen und die Eingabeaufforderung erkennen

In einer grafischen Desktop-Umgebung suchen Sie in der Anwendungsliste nach „Terminal“. Der Name des Menüs und die Startmethode hängen von Ihrer Desktop-Umgebung ab. Wenn das Terminal geöffnet wird, sehen Sie normalerweise einen blinkenden Cursor nach Texten wie Ihrem Benutzernamen oder dem aktuellen Verzeichnis. Dies ist das Prompt: die Shell wartet auf Eingaben.

Ihr Prompt kann ein $ oder # enthalten, aber dieses Zeichen ist kein Teil des Befehls. Die Codeblöcke in dieser Lektion enthalten nur das, was Sie eingeben sollen. Wenn eine Aufgabe Administratorrechte erfordert, erklären wir, wann Sie sudo verwenden sollten, anstatt sich auf das Erscheinen des Prompts zu verlassen.

Geben Sie den folgenden Befehl ein und drücken Sie Enter:

printf '%s\n' hello

Der Befehl gibt hello aus, und dann erscheint das Prompt erneut:

hello

printf druckt Text mit einem Format. Hier steht %s für eine Zeichenkette und \n fügt eine neue Zeile hinzu. Es ist normal, wenn Ihre tatsächliche Eingabeaufforderung anders aussieht als an anderer Stelle gezeigt.

Die Teile eines Befehls lesen

Viele Befehle folgen einem Befehl + Option + Argument-Muster. Der Befehl gibt an, was zu tun ist, eine Option ändert, wie es funktioniert, und ein Argument gibt an, worauf gearbeitet werden soll. Nicht jeder Befehl benötigt sowohl Optionen als auch Argumente.

ls -l /etc
Teil Beispiel Bedeutung
Befehl ls Listet Einträge auf.
Option -l Verwendet ein detailliertes Listenformat.
Argument /etc Gibt das aufzulistende Verzeichnis an.

Leerzeichen trennen diese Teile. In einer Zusammenfassung wie ls [OPTION] [FILE...] bedeuten eckige Klammern, dass ein Teil optional ist; die Klammern werden nicht eingegeben. Die Auslassungspunkte bedeuten, dass Sie mehr als ein Element angeben können. Jeder Befehl hat seine eigene Syntax, überprüfen Sie daher im Zweifelsfall die Hilfe.

Verwenden Sie Anführungszeichen, wenn ein Wert, der Leerzeichen enthält, als ein Argument übergeben werden soll. Vergleichen Sie diese Befehle:

printf '%s\n' hello world

printf '%s\n' 'hello world'

Der erste Befehl erhält hello und world als separate Argumente und gibt zwei Zeilen aus. Der zweite erhält ein Argument und gibt eine Zeile aus:

hello

world

hello world

Verschiedene Arten von Anführungszeichen beeinflussen auch die Shell-Erweiterung auf unterschiedliche Weise. Konzentrieren Sie sich vorerst auf ihre grundlegende Verwendung, um einen Wert mit Leerzeichen zusammenzuhalten; Variablen und Erweiterungen gehören in eine spätere Lektion.

Eingaben, Ausgaben und Fehler behandeln

Nachdem Sie einen Befehl eingegeben und die Eingabetaste gedrückt haben, führt die Shell ihn aus. Text auf dem Bildschirm kann das normale Ergebnis oder eine Fehlermeldung über etwas wie eine nicht unterstützte Option oder eine fehlende Datei sein. Keine Ausgabe bedeutet nicht unbedingt einen Fehler. Lesen Sie die Nachricht im Hinblick darauf, was Sie vom Befehl erwartet haben.

Sie können in der Terminalausgabe bei langen Ergebnissen zurückscrollen. Drücken Sie die Pfeiltaste nach oben, um einen vorherigen Befehl erneut aufzurufen. Da Befehle in der Shell-Historie gespeichert werden können, vermeiden Sie es, Passwörter oder Tokens direkt in Befehlsargumente einzugeben.

Um einen laufenden Befehl zu unterbrechen, können Sie normalerweise Ctrl+C drücken. In einem Terminal sendet dies ein Unterbrechungssignal an den laufenden Befehl; es ist nicht die übliche Kopierverknüpfung. Um die Shell zu verlassen, geben Sie exit ein. Ctrl+D kann auch von einer leeren Eingabezeile beenden, aber es kann eine andere Wirkung haben, wenn ein anderes Programm auf Eingaben wartet.

Hilfe für einen unbekannten Befehl finden

Überprüfen Sie die Dokumentation, bevor Sie eine Option raten. Externe Programme und Shell-Built-ins können Hilfe auf unterschiedliche Weise bereitstellen.

Methode Wann man es verwendet
command --help Überprüfen Sie schnell die Optionen, wenn das Programm dieses Flag unterstützt. Nicht jeder Befehl tut dies.
man command Lesen Sie die installierte Handbuchseite für detaillierte Syntax und Optionen.
help command Lesen Sie die Hilfe von Bash für ein Shell-Builtin.
type command Finden Sie heraus, ob Bash einen Namen als Built-in, Alias, Funktion oder externes Programm auflöst.

Zum Beispiel gibt Ihnen ls --help einen schnellen Überblick über seine Optionen, während man ls mehr Details liefert. Innerhalb einer Man-Seite, geben Sie / gefolgt von einem Suchbegriff ein, um Text zu finden, und drücken Sie q, um zu beenden. Einige minimale Installationen beinhalten nicht die gewünschte Man-Seite.

ls --help

man ls

cd ist ein Beispiel für ein Bash-Builtin. Verwenden Sie type cd, um es zu identifizieren, und dann help cd, um seine Verwendung zu lesen. Die Formulierung des Ergebnisses kann je nach Shell und Anzeigesprache variieren.

type cd

help cd

Für weitere Beispiele siehe die separaten Anleitungen zu dem man-Befehl, dem help-Befehl und dem type-Befehl.

Eine kurze Übung durchführen

  1. Führen Sie type printf aus, um zu sehen, wie Ihre aktuelle Bash-Shell printf interpretiert.
  2. Führen Sie help printf aus und finden Sie die Erklärung seines Format-Strings und seiner Argumente.
  3. Führen Sie printf '%s\n' 'Linux practice' aus und überprüfen Sie, dass Linux practice in einer Zeile erscheint.
type printf

help printf

printf '%s\n' 'Linux practice'

Der letzte Befehl erzeugt die folgende Ausgabe. Die Formulierung der ersten beiden Befehle kann je nach Bash-Version und Anzeigesprache variieren.

Linux practice

Wenn Sie command not found sehen, überprüfen Sie zuerst die Rechtschreibung. Bei einem Fehler wie invalid option prüfen Sie die Hilfe des Befehls auf unterstützte Optionen und die Syntax. Fügen Sie sudo nicht zu jedem Befehl hinzu, der einen Berechtigungsfehler meldet; finden Sie zuerst heraus, welche Datei oder Operation die Berechtigung erfordert.

Offizielle Dokumentation

Die Erklärung der Shell und der eingebauten Befehle basiert auf dem GNU Bash Referenzhandbuch: Grundlegende Shell-Funktionen und seinem Abschnitt Bash Builtins. Siehe die man(1)-Handbuchseite für Konventionen und Verwendung von Handbuchseiten.