Logo Wissenstransfer Gerhard at CichnaDotCom

>> Wissensdatenbank / Linux

Erste Schritte

Bewegen in der Shell

In der grafischen Oberfläche kann man eine Shell bspw. über Programme wie "iTerm" oder "Terminal" starten.

Der Prompt

Die Eingabeaufforderung der Shell besteht nicht nur aus einem blinkenden Cursor für die Eingabe, sondern auch noch aus dem Prompt. Dieser gibt meist den Kontext der Arbeit durch die Anzeige des Rechner- und Benutzernamens sowie des Arbeitsverzeichnisses wieder. Der Prompt kann von jedem Benutzer auch personalisiert werden.
Beispiel-Prompts:
$
user@host$
user@host:/home/user$
#
/root#

Dass Informationen wie der Rechner- und Benutzername angezeigt werden, hilft vor allem beim Arbeiten auf verschiedenen Rechnern im Netzwerk. Das Arbeitsverzeichnis hilft dabei, den Ausgangspunkt relativer Pfade zu bestimmen.

Absolute und relative Pfade

Unix-Systeme kennen keine Laufwerke und sprechen alle Speichermedien über den VFS-Layer und einen Verzeichnisbaum an. So ergeben sich zwei verschiedene Arten, wie man Dateien und Verzeichnisse referenzieren kann.

Bei der Angabe eines absoluten Pfades wird der Dateiname immer von der Wurzel / des Dateisystems aus angegeben.

Jeder Prozess - und damit auch die Shell - besitzt mit dem aktuellen Arbeitsverzeichnis einen Kontext. Von diesem Verzeichnis aus kann man Verzeichnis- oder Dateinamen auch relativ angeben.

Ein relativer Pfad beginnt nicht mit der Wurzel des Dateisystems, sondern wird relativ zum aktuellen Arbeitsverzeichnis des Prozesses interpretiert, indem das Arbeitsverzeichnis implizit vor den relativen Pfad gesetzt und das Ergebnis schließlich als absoluter Pfad gelesen wird.

Erst so wird es möglich, dass man zum Beispiel einen Texteditor mit text.txt als Argument aufrufen kann, anstatt sich über den Pfad /home/user/text.txt auf die Datei zu beziehen.

pwd

Man kann sich das Arbeitsverzeichnis mit dem pwd-Befehl anzeigen lassen. Die Abkürzung steht für print working directory.

$ pwd
/home/gerhard

Ein neuer Prozess entsteht unter Unix stets als Kopie eines bereits bestehenden Prozesses. Als Kopie erbt er alle Eigenschaften wie eben auch das Arbeitsverzeichnis.

cd

Mit dem cd-Befehl wechselt man das Arbeitsverzeichnis. Er ist die Abkürzung für change directory und erwartet eine Pfadangabe als Argument. Diese kann wieder relativ oder absolut gemacht werden, wobei man zwei Spezialfälle relativer Pfade unterscheidet:

Am Beispiel von cd kann man sehen, dass Shellbefehle in der Regel im Erfolgsfall keine Meldung ausgeben. Anders verhält es sich im Fehlerfall, also wenn man mit cd in ein nicht existierendes Verzeichnis wechseln will:
$ cd user1
-bash: cd: user1: Datei oder Verzeichnis nicht gefunden