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 vonroot
das 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 Befehlcd
ohne 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 Befehlscd
besteht darin, ihm ein einzelnes Argument zu übergeben, das angibt, in welches Verzeichnis geändert werden soll. Um beispielsweise in das Verzeichnis/usr/bin
zu 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 Befehlenv
aus, 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 UmgebungsvariablePATH
ist 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 UmgebungsvariablenPATH
befindet.
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 VariableHOME
verwenden, 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 UmgebungsvariablenPATH
hinzufü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.