Eine Einführung in das Linux-Terminal

Einführung

Dieses Tutorial ist das erste einer Reihe, in dem Linux-Grundlagen vermittelt werden, um neue Benutzer auf die Beine zu stellen. Es behandelt die ersten Schritte mit dem Terminal, der Linux-Befehlszeile und der Ausführung von Befehlen. Wenn Sie neu in Linux sind, sollten Sie sich mit dem Terminal vertraut machen, da dies die Standardmethode für die Interaktion mit einem Linux-Server ist. Das Verwenden der Befehlszeile mag entmutigend erscheinen, aber es ist eigentlich sehr einfach, wenn Sie mit den Grundlagen beginnen und Ihre Fähigkeiten von dort aus erweitern.

Wenn Sie dieses Tutorial optimal nutzen möchten, benötigen Sie einen Linux-Server, um eine Verbindung herzustellen und zu verwenden. Wenn Sie noch keinen haben, können Sie schnell einen hochfahren, indem Sie diesem Link folgen:How To Create A DigitalOcean Droplet. Dieses Tutorial basiert auf einem Ubuntu 14.04-Server, die allgemeinen Prinzipien gelten jedoch für alle anderen Linux-Distributionen.

Beginnen wir damit, was ein Terminal-Emulator ist.

Terminal-Emulator

Ein Terminal-Emulator ist ein Programm, das die Verwendung des Terminals in einer grafischen Umgebung ermöglicht. Da die meisten Benutzer ein Betriebssystem mit einer grafischen Benutzeroberfläche (GUI) für ihre täglichen Computeranforderungen verwenden, ist die Verwendung eines Terminalemulators für die meisten Linux-Serverbenutzer eine Notwendigkeit.

Hier sind einige kostenlose, häufig verwendete Terminalemulatoren nach Betriebssystem:

  • Mac OS X: Terminal (Standard), iTerm 2

  • Windows: PuTTY

  • Linux: Terminal, KDE-Konsole, XTerm

Jeder Terminal-Emulator hat seine eigenen Funktionen, aber alle aufgelisteten funktionieren hervorragend und sind einfach zu bedienen.

Die Muschel

In einem Linux-System istshell eine Befehlszeilenschnittstelle, die die Befehle und Skriptdateien eines Benutzers interpretiert und dem Betriebssystem des Servers mitteilt, was mit ihnen zu tun ist. Es gibt mehrere Schalen, die weit verbreitet sind, wieBourne shell (sh) undC shell (csh). Jede Shell hat ihre eigenen Funktionen und Besonderheiten in Bezug auf die Interpretation von Befehlen, aber alle Funktionen umfassen unter anderem Eingabe- und Ausgabeumleitung, Variablen und Bedingungstests.

Dieses Tutorial wurde mitBourne-Again shell geschrieben, normalerweise alsbash bezeichnet. Dies ist die Standard-Shell für die meisten Linux-Distributionen, einschließlich Ubuntu, CentOS und RedHat.

Die Eingabeaufforderung

Wenn Sie sich zum ersten Mal bei einem Server anmelden, werden Sie normalerweise vonMessage of the Day (MOTD) begrüßt. Dies ist normalerweise eine Informationsnachricht, die verschiedene Informationen enthält, z. B. die Version der Linux-Distribution, die der Server ausführt. Nach dem MOTD werden Sie zur Eingabeaufforderung oder Shell-Eingabeaufforderung weitergeleitet, in der Sie Befehle an den Server senden können.

Die Informationen, die an der Eingabeaufforderung angezeigt werden, können vom Benutzer angepasst werden. Hier ist ein Beispiel für die standardmäßige Ubuntu 14.04-Eingabeaufforderung:

sammy@webapp:~$

Hier ist eine Aufschlüsselung der Zusammensetzung der Eingabeaufforderung:

  • sammy: Dieusername des aktuellen Benutzers

  • webapp: Diehostname des Servers

  • ~: Diecurrent directory. Inbash, der Standard-Shell, ist~ oder Tilde ein Sonderzeichen, das sich auf den Pfad derhome directory des aktuellen Benutzers erweitert. in diesem Fall repräsentiert es/home/sammy

  • $: Das Aufforderungssymbol. Dies kennzeichnet das Ende der Eingabeaufforderung, nach der die Tastatureingabe des Benutzers angezeigt wird

Hier ist ein Beispiel dafür, wie die Eingabeaufforderung aussehen könnte, wenn sie alsroot und im Verzeichnis/var/log angemeldet ist:

root@webapp:/var/log#

Beachten Sie, dass das Symbol, das die Eingabeaufforderung beendet,# ist. Dies ist das Standard-Eingabeaufforderungssymbol fürroot. Unter Linux ist der Benutzer vonrootdas Konto vonsuperuser. Hierbei handelt es sich um ein spezielles Benutzerkonto, das systemweite Verwaltungsfunktionen ausführen kann. Es handelt sich um einen uneingeschränkten Benutzer, der die Berechtigung hat, eine Aufgabe auf einem Server auszuführen.

Befehle ausführen

Befehle können an der Eingabeaufforderung ausgegeben werden, indem der Name einer ausführbaren Datei angegeben wird, bei der es sich um ein Binärprogramm oder ein Skript handeln kann. Mit dem Betriebssystem werden viele Standard-Linux-Befehle und -Dienstprogramme installiert, mit denen Sie im Dateisystem navigieren, Softwarepakete installieren und konfigurieren sowie das System und die Anwendungen konfigurieren können.

Eine Instanz eines laufenden Befehls wird alsprocess bezeichnet. Wenn ein Befehl inforeground ausgeführt wird. Dies ist die Standardmethode, mit der Befehle ausgeführt werden. Der Benutzer muss warten, bis der Vorgang abgeschlossen ist, bevor er zur Eingabeaufforderung zurückkehrt. An diesem Punkt können weitere Befehle ausgegeben werden.

Es ist wichtig zu beachten, dass in Linux fast alles zwischen Groß- und Kleinschreibung unterscheidet, einschließlich Datei- und Verzeichnisnamen, Befehlen, Argumenten und Optionen. Wenn etwas nicht wie erwartet funktioniert, überprüfen Sie die Schreibweise und Groß- / Kleinschreibung Ihrer Befehle!

Wir werden einige Beispiele durchgehen, die die Grundlagen der Ausführung von Befehlen behandeln.

Note: 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 Herstellen einer Verbindung haben, folgen Sie diesem Link:How to Connect to Your Droplet with SSH.

Ohne Argumente oder Optionen

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

Wenn Sie einen Befehl wie diesen ausführen, zeigt dieser das von Befehl zu Befehl unterschiedliche Standardverhalten. Wenn Sie beispielsweise den Befehlcdohne Argumente ausführen, werden Sie zum Ausgangsverzeichnis Ihres aktuellen Benutzers zurückgeführt. Der Befehlls druckt eine Liste der Dateien und Verzeichnisse des aktuellen Verzeichnisses. Der Befehlip ohne Argumente gibt eine Nachricht aus, die Ihnen zeigt, wie Sie den Befehlip verwenden.

Führen Sie den Befehlls ohne Argumente aus, um die Dateien und Verzeichnisse in Ihrem aktuellen Verzeichnis aufzulisten (möglicherweise gibt es keine):

ls

Mit Argumenten

Viele Befehle akzeptierenarguments oderparameters, was das Verhalten eines Befehls beeinflussen kann. Die häufigste Methode zur Verwendung des Befehlscdbesteht darin, ihm ein einzelnes Argument zu übergeben, das angibt, in welches Verzeichnis geändert werden soll. Um beispielsweise in das Verzeichnis/usr/binzu wechseln, in dem viele Standardbefehle installiert sind, geben Sie diesen Befehl aus:

cd /usr/bin

Die Komponentecd ist der Befehl, und das erste Argument/usr/bin folgt dem Befehl. Beachten Sie, wie der aktuelle Pfad Ihrer Eingabeaufforderung aktualisiert wurde.

Wenn Sie möchten, führen Sie den Befehlls aus, um die Dateien in Ihrem neuen aktuellen Verzeichnis anzuzeigen.

ls

Mit Optionen

Die meisten Befehle akzeptierenoptions, auchflags oderswitches genannt, die das Verhalten des Befehls ändern. Da es sich um spezielle Argumente handelt, folgen Optionen einem Befehl und werden durch ein einzelnes--Zeichen gefolgt von einem oder mehrerenoptions angezeigt, die durch einzelne Groß- oder Kleinbuchstaben dargestellt werden. Darüber hinaus beginnen einige Optionen mit--, gefolgt von einer einzelnen Option mit mehreren Zeichen (normalerweise ein beschreibendes Wort).

Ein grundlegendes Beispiel für die Funktionsweise von Optionen finden Sie im Befehlls. Hier sind einige allgemeine Optionen, die bei der Verwendung vonls nützlich sind:

  • -l: Drucken Sie eine „lange Liste“, die zusätzliche Details wie Berechtigungen, Besitz, Dateigröße und Zeitstempel enthält

  • -a: Listetall der Dateien eines Verzeichnisses auf, einschließlich versteckter Dateien (die mit. beginnen).

Verwenden Sie diesen Befehl, um das Flag-l mitls zu verwenden:

ls -l

Beachten Sie, dass die Auflistung dieselben Dateien wie zuvor enthält, jedoch zusätzliche Informationen zu jeder Datei.

Wie bereits erwähnt, können Optionen häufig zu Gruppen zusammengefasst werden. Wenn Sie die Optionen-l und-a zusammen verwenden möchten, können Siels -l -a ausführen oder sie einfach wie in diesem Befehl kombiniert kombinieren:

ls -la

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

Mit Optionen und Argumenten

Optionen und Argumente können beim Ausführen von Befehlen fast immer kombiniert werden.

Sie können beispielsweise den Inhalt von/home unabhängig von Ihrem aktuellen Verzeichnis überprüfen, indem Sie den Befehlls 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 drucken, das die Home-Verzeichnisse aller normalen Benutzer auf dem Server enthalten sollte.

Umgebungsvariablen

Umgebungsvariablen sind benannte Werte, mit denen die Ausführung von Befehlen und Prozessen geändert wird. Wenn Sie sich zum ersten Mal bei einem Server anmelden, werden standardmäßig mehrere Umgebungsvariablen entsprechend einiger Konfigurationsdateien festgelegt.

Alle Umgebungsvariablen anzeigen

Führen Sie den Befehlenvaus, um alle Umgebungsvariablen anzuzeigen, die für eine bestimmte Terminalsitzung festgelegt wurden:

env

Es wird wahrscheinlich viel Ausgabe geben, aber versuchen Sie, nachPATH Eintrag zu suchen:

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

Die UmgebungsvariablePATHist eine durch Doppelpunkte getrennte Liste von Verzeichnissen, in denen die Shell bei der Ausgabe eines Befehls nach ausführbaren Programmen oder Skripten sucht. Beispielsweise befindet sich der Befehlenv in/usr/bin, und wir können ihn ausführen, ohne seinen vollständig qualifizierten Speicherort anzugeben, da sich sein Pfad in der UmgebungsvariablenPATHbefindet.

Zeigen Sie den Wert einer Variablen an

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

Um beispielsweise den Wert der VariablenPATH auszudrucken, können Sie den Befehlecho verwenden:

echo $PATH

Sie können auch die VariableHOMEverwenden, die standardmäßig auf das Ausgangsverzeichnis Ihres Benutzers festgelegt ist, um wie folgt in Ihr Ausgangsverzeichnis zu wechseln:

cd $HOME

Wenn Sie versuchen, auf eine Umgebungsvariable zuzugreifen, die nicht festgelegt wurde, wird sie zu nichts erweitert. eine leere Zeichenfolge.

Umgebungsvariablen setzen

Nachdem Sie nun wissen, wie Sie Ihre Umgebungsvariablen anzeigen, sollten Sie lernen, wie Sie sie festlegen.

Um eine Umgebungsvariable festzulegen, müssen Sie lediglich mit einem Variablennamen beginnen, unmittelbar gefolgt von einem=-Zeichen, gefolgt von dem gewünschten Wert:

VAR=value

Beachten Sie, dass der ursprüngliche Wert überschrieben wird, wenn Sie eine vorhandene Variable festlegen. Wenn die Variable überhaupt nicht existiert hat, wird sie erstellt.

Bash enthält einen Befehl namensexport, der eine Variable exportiert, damit sie von untergeordneten Prozessen geerbt wird. In einfachen Worten können Sie damit Skripts verwenden, die auf eine exportierte Umgebungsvariable aus Ihrer aktuellen Sitzung verweisen. Wenn Sie sich noch nicht sicher sind, was dies bedeutet, machen Sie sich vorerst keine Sorgen.

Sie können beim Festlegen einer Variablen auch auf vorhandene Variablen verweisen. Wenn Sie beispielsweise eine Anwendung auf/opt/app/bin installiert haben, können Sie dieses Verzeichnis mit dem folgenden Befehl am Ende der UmgebungsvariablenPATHhinzufügen:

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

Stellen Sie nun sicher, dass/opt/app/bin am Ende Ihrer VariablenPATH mitecho hinzugefügt wurde:

echo $PATH

Beachten Sie, dass beim Festlegen von Umgebungsvariablen auf diese Weise nur diese für Ihre aktuelle Sitzung festgelegt werden. Das heißt, wenn Sie sich abmelden oder auf andere Weise zu einer anderen Sitzung wechseln, werden die Änderungen, die Sie an der Umgebung vorgenommen haben, nicht beibehalten. Es gibt eine Möglichkeit, Umgebungsvariablen dauerhaft zu ändern. Dies wird jedoch in einem späteren Lernprogramm behandelt.

Fazit

Nachdem Sie sich mit den Grundlagen des Linux-Terminals (und einigen Befehlen) vertraut gemacht haben, sollten Sie eine gute Grundlage haben, um Ihre Kenntnisse über Linux-Befehle zu erweitern. Lesen Sie dienext tutorial in this series, um zu erfahren, wie Sie Dateien und ihre Berechtigungen navigieren, anzeigen und bearbeiten.