Einführung in das Linux-Terminal

0 Aktien
0
0
0
0

Einführung

Dieses Tutorial, das erste einer Reihe zu den Linux-Grundlagen, behandelt den Einstieg in das Terminal, die Linux-Befehlszeile und die Ausführung von Befehlen. Wenn Sie Linux-Neuling sind, sollten Sie sich mit dem Terminal vertraut machen, da es die Standardmethode zur Interaktion mit einem Linux-Server darstellt.

Um dieses Tutorial optimal zu nutzen, benötigen Sie einen Linux-Server. Falls Sie noch keinen haben, können Sie schnell einen erstellen, indem Sie diesem Link folgen: So erstellen Sie ein DigitalOcean-Droplet. Dieses Tutorial wurde für Ubuntu 22.04 Server geschrieben, die allgemeinen Prinzipien gelten jedoch für jede andere Linux-Distribution.

Beginnen wir mit der Erklärung, was ein Terminalemulator ist.

Terminalemulator

Ein Terminalemulator ist ein Programm, das die Nutzung eines Terminals in einer grafischen Umgebung ermöglicht. Da die meisten Anwender für ihre täglichen Computeraufgaben ein Betriebssystem mit grafischer Benutzeroberfläche (GUI) verwenden, ist die Nutzung eines Terminalemulators für die meisten Linux-Server-Nutzer unerlässlich.

Hier sind einige der beliebtesten kostenlosen Terminalemulatoren nach Betriebssystem:

  • macOS: Terminal (Standard), iTerm2
  • Windows: ConEmu, Windows Terminal, PuTTy
  • Linux: Gnome Terminal, Konsole, XTerm

Jeder Terminalemulator verfügt über eigene Funktionen. Im Allgemeinen sollte ein moderner Terminalemulator Registerkarten und Texthervorhebung unterstützen.

Hülse

Auf einem Linux-System ist eine Shell eine Kommandozeilenschnittstelle, die Benutzerbefehle und Skriptdateien interpretiert und dem Serverbetriebssystem Anweisungen zur Verarbeitung gibt. Es gibt mehrere weit verbreitete Shells, wie beispielsweise die Bourne-Again-Shell (Bash) und die Z-Shell (Zsh). Jede Shell verfügt über eigene Merkmale und Komplexitäten hinsichtlich der Befehlsinterpretation, aber alle bieten Funktionen wie Ein- und Ausgabeumleitung, Variablen, Bedingungsprüfungen und vieles mehr.

Dieses Tutorial wurde unter Verwendung der Bourne-Again-Shell, allgemein als Bash bezeichnet, verfasst. Bash ist die Standard-Shell der meisten Linux-Distributionen, darunter Ubuntu, Fedora und RHEL.

Befehlszeile

Beim ersten Einloggen auf einem Server wird Ihnen üblicherweise eine Nachricht des Tages (MOTD) angezeigt. Diese enthält in der Regel Informationen wie beispielsweise die Version der verwendeten Linux-Distribution. Im Anschluss an die MOTD gelangen Sie zur Kommandozeile oder Shell, über die Sie Befehle an den Server senden können.

Die in der Befehlszeile angezeigten Informationen können vom Benutzer angepasst werden. Hier ist ein Beispiel für die Standard-Befehlszeile von Ubuntu 20.04:

sammy@webapp:~$

Hier eine Zusammenfassung der Befehlszeilensyntax:

  • sammy: Benutzername des aktuellen Benutzers
  • webapp: Server-Hostname
  • ~: Das aktuelle Verzeichnis. In Bash, der Standard-Shell, ist ~ (Tilde) ein Sonderzeichen, das zum Pfad des Home-Verzeichnisses des aktuellen Benutzers erweitert wird. In diesem Fall steht es für /home/sammy.
  • $: Benachrichtigungssymbol. Dieses Symbol signalisiert das Ende der Befehlszeile, woraufhin die Benutzereingabe über die Tastatur erfolgt.

Hier ist ein Beispiel dafür, wie die Befehlszeile aussehen könnte, wenn sie als Root im Ordner /var/log eingegeben wird:

root@webapp:/var/log#

Beachten Sie, dass das Symbol am Ende der Befehlszeile # ist, das Standard-Zeilensymbol für Root. In Linux ist der Root-Benutzer ein Superuser-Konto, ein spezielles Benutzerkonto mit systemweiten administrativen Funktionen. Er ist ein uneingeschränkter Benutzer mit der Berechtigung, alles auf dem Server zu tun.

Befehle ausführen

Befehle können über die Kommandozeile durch Angabe des Namens einer ausführbaren Datei, beispielsweise eines Binärprogramms oder eines Skripts, ausgeführt werden. Zahlreiche Standardbefehle und -tools von Linux sind bereits im Betriebssystem enthalten und ermöglichen die Navigation im Dateisystem, die Installation von Softwarepaketen sowie die Konfiguration des Systems und von Anwendungen.

Eine Instanz eines laufenden Befehls wird als Prozess bezeichnet. Wenn ein Befehl im Vordergrund ausgeführt wird, was die Standardmethode zur Befehlsausführung ist, muss der Benutzer warten, bis der Prozess abgeschlossen ist, bevor er zur Eingabeaufforderung zurückkehren und weitere Befehle ausführen kann.

Wichtig zu wissen: In Linux wird fast alles zwischen Groß- und Kleinschreibung unterschieden, einschließlich Datei- und Verzeichnisnamen, Befehlen, Argumenten und Optionen. Falls etwas nicht wie erwartet funktioniert, überprüfen Sie die Schreibweise und Groß-/Kleinschreibung Ihrer Befehle!

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

Ohne Argumente oder Alternativen.

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

Wenn Sie einen solchen Befehl ausführen, wird sein Standardverhalten angezeigt, das je nach Befehl variiert. Wenn Sie beispielsweise den Befehl `cd` ohne Argumente ausführen, gelangen Sie zurück in Ihr Benutzerverzeichnis. Der Befehl `ls` gibt eine Liste der Dateien und Verzeichnisse im aktuellen Verzeichnis aus. Der Befehl `ip` ohne Argumente gibt eine Meldung aus, die die Verwendung des Befehls `ip` erklärt.

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

ls
Durch Argumentation

Viele Befehle akzeptieren Argumente oder Parameter, die das Verhalten des Befehls beeinflussen können. Beispielsweise wird der Befehl `cd` üblicherweise mit einem einzelnen Argument verwendet, das das Zielverzeichnis angibt. Um beispielsweise in das Verzeichnis `/usr/bin` zu wechseln, in dem viele Standardbefehle installiert sind, geben Sie folgenden Befehl ein:

cd /usr/bin

Der Befehl `cd` wird mit dem ersten Argument `/usr/bin` ausgeführt. Beachten Sie, wie der Pfad in Ihrer Befehlszeile aktualisiert wurde.

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

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 Flags oder Schalter genannt, die das Verhalten des Befehls verändern. Optionen folgen einem Befehl und bestehen aus einem einzelnen Zeichen, gefolgt von einer oder mehreren Optionen in Groß- oder Kleinbuchstaben. Einige mehrteilige Optionen beginnen mit einem Minuszeichen (—), gefolgt vom Flag-Text.

Um zu veranschaulichen, wie Optionen funktionieren, betrachten wir den Befehl `ls`. Hier sind einige gängige Optionen, die bei der Verwendung von `ls` nützlich sind:

  • -l: Gibt eine “lange Liste” aus, die zusätzliche Details wie Berechtigungen, Eigentümer, Dateigröße und Zeitstempel enthält.
  • -a: Listet alle Dateien im Verzeichnis auf, einschließlich versteckter Dateien (solche, die mit . beginnen).

Um den Parameter -l bei ls zu verwenden, nutzen Sie folgenden Befehl:

ls -l

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

Wie bereits erwähnt, lassen sich Optionen oft gruppieren. Wenn Sie die Optionen `-l` und `-a` zusammen verwenden möchten, können Sie `ls -l -a` ausführen oder sie einfach so kombinieren:

ls -la

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

Mit Optionen und Argumenten

Bei der Ausführung von Befehlen ist es fast immer möglich, Optionen und Argumente zu kombinieren.

Beispielsweise können Sie den Inhalt von /home untersuchen, ohne auf Ihr aktuelles Verzeichnis achten zu müssen, indem Sie den Befehl ls ausführen:

ls -la /home

Der Befehl lautet `ls`, die Option `-la` und das Argument `/home` gibt an, welche Datei oder welches Verzeichnis aufgelistet werden soll. Die Ausgabe sollte eine detaillierte Auflistung des Verzeichnisses `/home` enthalten, einschließlich der Home-Verzeichnisse aller regulären Benutzer des Servers.

Umweltvariablen

Umgebungsvariablen sind benannte Werte, die die Ausführung von Befehlen und Prozessen steuern. Beim erstmaligen Anmelden an einem Server werden anhand verschiedener Konfigurationsdateien standardmäßig mehrere Umgebungsvariablen festgelegt.

Alle Umgebungsvariablen anzeigen

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

env

Es wird wahrscheinlich eine umfangreiche Ausgabe erzeugen. Suchen Sie nach dem PATH-Eintrag:

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 beim Ausführen eines Befehls nach ausführbaren Programmen oder Skripten sucht. Beispielsweise befindet sich der Befehl `env` im Verzeichnis `/usr/bin` und kann ausgeführt werden, ohne den vollständigen Pfad anzugeben, da dieser in der Umgebungsvariablen PATH enthalten ist.

Den Wert einer Variablen anzeigen

Der Wert einer Umgebungsvariablen kann abgerufen werden, indem dem Variablennamen ein $ vorangestellt wird. Dadurch wird die referenzierte Variable zu ihrem Wert erweitert.

Um beispielsweise den Wert der PATH-Variablen auszugeben, können Sie den Befehl echo verwenden:

echo $PATH

Alternativ können Sie die Variable HOME verwenden, die standardmäßig auf das Home-Verzeichnis des Benutzers gesetzt ist, um in Ihr Home-Verzeichnis zu wechseln:

cd $HOME

Wenn Sie versuchen, auf eine Umgebungsvariable zuzugreifen, die nicht gesetzt ist, wird sie zu nichts erweitert. Zu einer leeren Zeichenkette.

Umgebungsvariablen festlegen

Nachdem Sie nun wissen, wie Sie Ihre Umgebungsvariablen anzeigen können, müssen Sie lernen, wie Sie diese festlegen.

Um eine Umgebungsvariable festzulegen, müssen Sie lediglich mit dem Variablennamen beginnen, unmittelbar gefolgt von einem Gleichheitszeichen (=) und dann dem gewünschten Wert:

VAR=value

Beachten Sie, dass beim Festlegen eines Werts für eine bereits vorhandene Variable der ursprüngliche Wert überschrieben wird. Falls die Variable zuvor nicht existierte, wird sie erstellt.

Bash enthält den Befehl `export`, der eine Variable exportiert, die von Kindprozessen übernommen wird. Dadurch können Sie Skripte verwenden, die auf eine Umgebungsvariable Ihrer aktuellen Sitzung zugreifen.

Sie können beim Festlegen einer Variablen auch auf bereits vorhandene Variablen verweisen. Wenn Sie beispielsweise eine Anwendung in /opt/app/bin installiert haben, können Sie dieses Verzeichnis mit folgendem Befehl am Ende Ihrer PATH-Umgebungsvariablen hinzufügen:

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

Überprüfen Sie nun mit dem Befehl `echo:`, ob `/opt/app/bin` am Ende Ihrer PATH-Variablen hinzugefügt wurde.

echo $PATH

Beachten Sie, dass Umgebungsvariablen auf diese Weise nur für Ihre aktuelle Sitzung gelten. Das bedeutet, dass die Änderungen, die Sie an der Umgebung vorgenommen haben, nicht erhalten bleiben, wenn Sie sich abmelden oder zu einer anderen Sitzung wechseln. Es gibt eine Möglichkeit, Umgebungsvariablen dauerhaft zu ändern; dies wird jedoch in einem späteren Tutorial behandelt.

Ergebnis

Nachdem Sie nun erste Erfahrungen mit dem Linux-Terminal (und einigen Befehlen) gesammelt haben, verfügen Sie über eine gute Grundlage, um Ihr Wissen über Linux-Befehle zu erweitern. Lesen Sie das nächste Tutorial dieser Reihe, um zu erfahren, wie Sie Dateien und deren Berechtigungen verwalten, anzeigen und bearbeiten.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte Ihnen auch gefallen