Eine Einführung in das Linux-Terminal

Einführung

Dieses Tutorial, das das erste in einer Serie ist, die die Grundlagen von Linux vermittelt, behandelt den Einstieg in das Terminal, die Linux-Befehlszeile und die Ausführung von Befehlen. Wenn Sie neu in Linux sind, möchten Sie sich mit dem Terminal vertraut machen, da es die Standardmethode ist, um mit einem Linux-Server zu interagieren.

Wenn Sie das Beste aus diesem Tutorial herausholen möchten, benötigen Sie einen Linux-Server, mit dem Sie eine Verbindung herstellen und den Sie verwenden können. Wenn Sie noch keinen haben, können Sie schnell einen erstellen, indem Sie diesem Link folgen: So erstellen Sie einen DigitalOcean-Droplet. Dieses Tutorial ist für einen Ubuntu 22.04-Server geschrieben, aber die allgemeinen Prinzipien gelten für jede andere Linux-Distribution.

Lassen Sie uns beginnen, indem wir darüber sprechen, was ein Terminal-Emulator ist.

Terminal-Emulator

A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.

Hier sind einige kostenlose, häufig verwendete Terminal-Emulatoren nach Betriebssystem:

  • Mac OS X: Terminal (Standard), iTerm 2
  • Windows: ConEmu, Windows Terminal, PuTTy
  • Linux: Gnome Terminal, Konsole, XTerm

Jeder Terminal-Emulator hat seinen eigenen Satz von Funktionen. Im Allgemeinen sollten Sie von einem modernen Terminal-Emulator erwarten, dass er Registerkartenfenster und Text-Hervorhebung unterstützt.

Die Shell

In einem Linux-System ist die Shell eine Befehlszeilenschnittstelle, die die Befehle und Skriptdateien eines Benutzers interpretiert und dem Betriebssystem des Servers mitteilt, was damit zu tun ist. Es gibt mehrere Shells, die weit verbreitet sind, wie die Bourne-Again Shell (bash) und die Z-Shell (zsh). Jede Shell hat ihren eigenen Funktionsumfang und ihre eigenen Feinheiten bezüglich der Interpretation von Befehlen, aber sie alle bieten Eingabe- und Ausgaberichtungs, Variablen und Bedingungsprüfung, unter anderem.

Dieses Tutorial wurde unter Verwendung der Bourne-Again Shell verfasst, die in der Regel als bash bezeichnet wird und die Standardshell für die meisten Linux-Distributionen wie Ubuntu, Fedora und RHEL ist.

Die Befehlszeile

Wenn Sie sich zum ersten Mal auf einem Server anmelden, werden Sie in der Regel vom Nachricht des Tages (MOTD) begrüßt, das in der Regel eine Informationsnachricht ist, die verschiedene Informationen wie die Version der Linux-Distribution enthält, die auf dem Server ausgeführt wird. Nach dem MOTD werden Sie zum Befehls- oder Shell-Prompt weitergeleitet, wo Sie Befehle an den Server geben können.

Die Informationen, die am Befehlsprompt angezeigt werden, können vom Benutzer angepasst werden, aber hier ist ein Beispiel für den Standard-Befehlsprompt von Ubuntu 20.04:

sammy@webapp:~$

Hier ist eine Aufschlüsselung der Zusammensetzung des Befehlsprompt:

  • sammy: Der Benutzername des aktuellen Benutzers
  • webapp: Der Hostname des Servers
  • ~: Das aktuelle Verzeichnis. In bash, das die Standardshell ist, ist das ~ oder Tilde ein Sonderzeichen, das sich auf den Pfad des aktuellen Benutzerverzeichnisses erweitert; in diesem Fall repräsentiert es /home/sammy
  • $: Das Prompt-Symbol. Dies kennzeichnet das Ende des Befehlsprompt, nach dem die Tastatureingabe des Benutzers erscheinen wird

Hier ist ein Beispiel dafür, wie der Befehlsprompt aussehen könnte, wenn Sie als root angemeldet sind und sich im Verzeichnis /var/log befinden:

root@webapp:/var/log#

Bitte beachten Sie, dass das Symbol, das das Befehlszeilenende kennzeichnet, ein # ist, das das Standardpromptsymbol für root ist. In Linux ist der root-Benutzer das Superuser-Konto, das ein spezielles Benutzerkonto ist, das systemweite administrative Funktionen ausführen kann. Es handelt sich um einen uneingeschränkten Benutzer, der Berechtigungen hat, beliebige Aufgaben auf einem Server auszuführen.

Befehle ausführen

Befehle können am Befehlszeilenprompt durch Angabe des Namens einer ausführbaren Datei, die ein Binärprogramm oder ein Skript sein kann, ausgegeben werden. Es gibt viele Standard-Linux-Befehle und Dienstprogramme, die mit dem Betriebssystem installiert sind und es Ihnen ermöglichen, im Dateisystem zu navigieren, Softwarepakete zu installieren und zu konfigurieren.

Eine laufende Instanz eines Befehls wird als Prozess bezeichnet. Wenn ein Befehl im Vordergrund ausgeführt wird, was die Standardmethode ist, wie Befehle ausgeführt werden, muss der Benutzer darauf warten, dass der Prozess beendet ist, bevor er zum Befehlszeilenprompt zurückkehrt, an dem er weitere Befehle ausgeben kann.

Es ist wichtig zu beachten, dass in Linux fast alles, einschließlich Datei- und Verzeichnisnamen, Befehle, Argumente und Optionen, Groß- und Kleinschreibung beachtet wird. Wenn etwas nicht wie erwartet funktioniert, überprüfen Sie die Rechtschreibung und Groß- und Kleinschreibung Ihrer Befehle!

Hier sind ein paar Beispiele, die die Grundlagen der Befehlsausführung abdecken.

Hinweis: Wenn Sie noch nicht mit einem Linux-Server verbunden sind, ist jetzt ein guter Zeitpunkt, sich anzumelden. Wenn Sie einen Linux-Server haben, aber Probleme beim Verbinden haben, folgen Sie diesem Link: So verbinden Sie sich mit Ihrem Droplet über SSH.

Ohne Argumente oder Optionen

Um ein Befehl ohne Argumente oder Optionen auszuführen, geben Sie den Namen des Befehls ein und drücken Sie die Eingabetaste.

Wenn Sie einen Befehl auf diese Weise ausführen, zeigt er sein Standardverhalten an, das je nach Befehl variiert. Wenn Sie beispielsweise den Befehl cd ohne Argumente ausführen, werden Sie in das Home-Verzeichnis Ihres aktuellen Benutzers zurückkehren. Der Befehl ls gibt eine Liste der Dateien und Verzeichnisse im aktuellen Verzeichnis aus. Der Befehl ip ohne Argumente gibt eine Meldung aus, die Ihnen zeigt, wie Sie den ip-Befehl verwenden können.

Versuchen Sie, den Befehl ls ohne Argumente auszuführen, um die Dateien und Verzeichnisse in Ihrem aktuellen Verzeichnis aufzulisten (es können keine vorhanden sein):

  1. ls

Mit Argumenten

Viele Befehle akzeptieren Argumente oder Parameter, die das Verhalten eines Befehls beeinflussen können. Zum Beispiel ist die häufigste Verwendung des Befehls cd, ihm ein einzelnes Argument zu übergeben, das angibt, in welches Verzeichnis gewechselt werden soll. Um beispielsweise in das Verzeichnis /usr/bin zu wechseln, in dem viele Standardbefehle installiert sind, würden Sie diesen Befehl ausführen:

cd /usr/bin

Das cd-Komponente ist der Befehl, und das erste Argument /usr/bin folgt dem Befehl. Beachten Sie, wie sich der Pfad Ihrer Befehlsaufforderung geändert hat.

Versuchen Sie, den Befehl ls auszuführen, um die Dateien anzuzeigen, die sich in Ihrem neuen aktuellen Verzeichnis befinden.

ls
Output
… grub-mkrescue sdiff zgrep grub-mkstandalone sed zipdetails grub-mount see zless grub-ntldr-img select-editor zmore grub-render-label semver znew grub-script-check sensible-browser

Mit Optionen

Die meisten Befehle akzeptieren Optionen, auch bekannt als Flags oder Schalter, die das Verhalten des Befehls ändern. Optionen folgen einem Befehl und werden durch ein einzelnes --Zeichen gefolgt von einem oder mehreren Optionen angezeigt, die durch einzelne Groß- oder Kleinbuchstaben dargestellt werden. Einige mehrwortige Optionen können mit -- beginnen, gefolgt vom Flag-Text.

Um zu sehen, wie Optionen funktionieren, schauen wir uns den Befehl ls an. Hier sind ein paar gängige Optionen, die nützlich sind, wenn Sie ls verwenden:

  • -l: drucke eine „lange Auflistung“, die zusätzliche Details wie Berechtigungen, Besitz, Dateigrößen und Zeitstempel enthält
  • -a: listet alle Dateien eines Verzeichnisses auf, einschließlich versteckter Dateien (die mit . beginnen)

Um das Flag -l mit ls zu verwenden, verwenden Sie diesen Befehl:

  1. ls -l

Beachten Sie, dass die Liste dieselben Dateien wie zuvor enthält, jedoch mit zusätzlichen Informationen zu jeder Datei.

Wie bereits erwähnt, können Optionen oft zusammengefasst werden. Wenn Sie das -l– und das -a-Flag zusammen verwenden möchten, könnten Sie ls -l -a ausführen oder sie einfach wie in diesem Befehl kombinieren:

  1. ls -la

Beachten Sie, dass die Liste die versteckten . und .. Verzeichnisse enthält, aufgrund der -a Option.

Mit Optionen und Argumenten

Optionen und Argumente können fast immer kombiniert werden, wenn Befehle ausgeführt werden.

Zum Beispiel könnten Sie den Inhalt von /home überprüfen, unabhängig von Ihrem aktuellen Verzeichnis, indem Sie diesen ls Befehl ausführen:

ls -la /home

ls ist der Befehl, -la sind die Optionen, und /home ist das Argument, das angibt, welche Datei oder welches Verzeichnis aufgelistet werden soll. Dies sollte eine detaillierte Liste des /home Verzeichnisses ausgeben, das die Home-Verzeichnisse aller normalen Benutzer auf dem Server enthalten sollte.

Umgebungsvariablen

Umgebungsvariablen sind benannte Werte, die verwendet werden, um zu ändern, wie Befehle und Prozesse ausgeführt werden. Wenn Sie sich zum ersten Mal bei einem Server anmelden, werden standardmäßig mehrere Umgebungsvariablen entsprechend einiger Konfigurationsdateien festgelegt.

Alle Umgebungsvariablen anzeigen

Um alle für eine bestimmte Terminalsession festgelegten Umgebungsvariablen anzuzeigen, führen Sie den Befehl env aus:

env

Es wird wahrscheinlich eine Menge Ausgabe geben. Suchen Sie nach dem Eintrag PATH:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Die Umgebungsvariable PATH ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen, in denen die Shell nach ausführbaren Programmen oder Skripten sucht, wenn ein Befehl ausgeführt wird. Zum Beispiel befindet sich der Befehl env in /usr/bin, und Sie können ihn ohne Angabe seines vollständigen Pfads ausführen, weil sein Pfad in der Umgebungsvariablen PATH enthalten ist.

Den Wert einer Variable anzeigen

Der Wert einer Umgebungsvariable kann abgerufen werden, indem der Variablenname mit einem $ vorangestellt wird. Dies wird die referenzierte Variable auf ihren Wert erweitern.

Zum Beispiel können Sie mit dem echo-Befehl den Wert der PATH-Variablen ausgeben:

echo $PATH

Oder Sie könnten die HOME-Variable verwenden, die standardmäßig auf das Benutzerverzeichnis Ihres Benutzers festgelegt ist, um in Ihr Benutzerverzeichnis zu wechseln, wie folgt:

cd $HOME

Wenn Sie versuchen, auf eine Umgebungsvariable zuzugreifen, die nicht festgelegt wurde, wird sie zu nichts erweitert; zu einem leeren String.

Umgebungsvariablen setzen

Jetzt, da Sie wissen, wie Sie Ihre Umgebungsvariablen anzeigen können, sollten Sie lernen, wie Sie sie setzen.

Um eine Umgebungsvariable festzulegen, müssen Sie lediglich mit einem Variablennamen beginnen, der sofort von einem =-Zeichen gefolgt wird, gefolgt von ihrem gewünschten Wert:

VAR=value

Beachten Sie, dass bei Festlegung einer vorhandenen Variable der ursprüngliche Wert überschrieben wird. Wenn die Variable nicht existierte, wird sie erstellt.

Bash enthält einen Befehl namens export, der eine Variable exportiert, sodass sie von Kindprozessen übernommen wird. Dies ermöglicht es Ihnen, Skripte zu verwenden, die eine exportierte Umgebungsvariable aus Ihrer aktuellen Sitzung referenzieren.

Sie können auch vorhandene Variablen referenzieren, wenn Sie eine Variable setzen. Wenn Sie beispielsweise eine Anwendung unter /opt/app/bin installiert haben, könnten Sie dieses Verzeichnis am Ende Ihrer PATH-Umgebungsvariable mit diesem Befehl hinzufügen:

export PATH=$PATH:/opt/app/bin

Überprüfen Sie nun mit echo, ob /opt/app/bin am Ende Ihrer PATH-Variable hinzugefügt wurde:

echo $PATH

Beachten Sie, dass das Setzen von Umgebungsvariablen auf diese Weise sie nur für Ihre aktuelle Sitzung setzt. Das bedeutet, dass die von Ihnen vorgenommenen Änderungen an der Umgebung nicht beibehalten werden, wenn Sie sich ausloggen oder anderweitig zu einer anderen Sitzung wechseln. Es gibt eine Möglichkeit, Umgebungsvariablen dauerhaft zu ändern, aber dies wird in einem späteren Tutorial behandelt.

Abschluss

Nun, da Sie begonnen haben, etwas über das Linux-Terminal (und ein paar Befehle) zu lernen, sollten Sie eine solide Grundlage haben, um Ihr Wissen über Linux-Befehle zu erweitern. Lesen Sie das nächste Tutorial in dieser Serie, um zu erfahren, wie Sie Dateien und deren Berechtigungen navigieren, anzeigen und bearbeiten können.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal