Navigation
Der Verzeichnisbaum
Abschnitt betitelt „Der Verzeichnisbaum“Linux kennt keine Laufwerksbuchstaben. Alles hängt an einer einzigen Wurzel, dem Verzeichnis / (Root). Darunter liegen Systemverzeichnisse mit festen Aufgaben, hier nur die, die du in diesem Modul brauchst. Den vollständigen Aufbau lernst du in Modul 4.
flowchart TD
R["/"] --> home["/home"]
R --> etc["/etc<br/>Konfiguration"]
R --> tmp["/tmp<br/>temporäre Dateien"]
R --> usr["/usr<br/>Programme"]
R --> var["/var<br/>Logs, Daten"]
home --> user["/home/user (~)"]
user --> lg["lernplattform"]
user --> lab["lab"]
Im Terminal stehst du immer in genau einem Verzeichnis, dem Arbeitsverzeichnis (working directory). Alle Befehle beziehen sich darauf, solange du nichts anderes angibst. Die drei Navigationsbefehle:
| Befehl | Steht für | Zweck |
|---|---|---|
pwd |
print working directory | Wo bin ich? |
cd |
change directory | Wohin? |
ls |
list | Was liegt hier? |
Wo bin ich: pwd
Abschnitt betitelt „Wo bin ich: pwd“pwdNach dem Login antwortet pwd mit /home/user, deinem Home-Verzeichnis. Dasselbe zeigt der Prompt verkürzt als ~. Gewöhn dir an, pwd zu tippen, sobald du unsicher bist. Es ist der billigste Befehl überhaupt.
Pfade verstehen
Abschnitt betitelt „Pfade verstehen“Ein Pfad beschreibt den Weg zu einer Datei oder einem Verzeichnis. Es gibt zwei Arten:
- Absolute Pfade beginnen mit
/und gehen von der Wurzel aus. Sie funktionieren von überall:/etc/hostname,/home/user/lab. - Relative Pfade beginnen nicht mit
/und gehen vom aktuellen Arbeitsverzeichnis aus. Stehst du in/home/user, meintlab/adas Verzeichnis/home/user/lab/a.
Dazu drei Abkürzungen, die in jedem Pfad erlaubt sind:
| Zeichen | Bedeutung |
|---|---|
. |
Das aktuelle Verzeichnis |
.. |
Das übergeordnete Verzeichnis (eine Stufe hoch) |
~ |
Dein Home-Verzeichnis, egal wo du stehst |
../.. geht zwei Stufen hoch, ~/lab ist immer /home/user/lab, und ./skript.sh meint die Datei skript.sh genau hier.
Verzeichnis wechseln: cd
Abschnitt betitelt „Verzeichnis wechseln: cd“cd /usr/local/bin # absolut: von überall auscd /usr # absolutcd local/bin # relativ von /usr aus, landet wieder in /usr/local/bincd .. # eine Stufe hoch: /usr/localcd ../.. # zwei Stufen hoch: /cd # ohne Argument: nach Hausecd ~/lernplattformcd - # zurück ins vorherige Verzeichniscd - ist besonders praktisch: Es pendelt zwischen den letzten zwei Verzeichnissen hin und her und gibt dabei aus, wo du gelandet bist.
Hands-on: Tippe die Sequenz oben ab. Sag dir vor jedem cd laut, wo du landen wirst, und prüfe mit pwd nach. Beobachte, wie sich der Prompt verändert.
Fehler, die jeder einmal macht:
bash: cd: lokal/bin: No such file or directoryDas heisst fast immer: Tippfehler, oder der relative Pfad stimmt vom aktuellen Standort aus nicht. pwd und Tab helfen.
Inhalt anzeigen: ls
Abschnitt betitelt „Inhalt anzeigen: ls“Ohne Argument zeigt ls das aktuelle Verzeichnis, mit Argument ein beliebiges anderes. Die Optionen machen den Unterschied:
| Option | Lang | Wirkung |
|---|---|---|
-l |
Lange Liste: Rechte, Besitzer, Grösse, Änderungsdatum | |
-a |
--all |
Auch versteckte Einträge (Name beginnt mit .) |
-h |
--human-readable |
Grössen als 4.0K, 12M statt Bytes, nur zusammen mit -l sinnvoll |
-t |
Nach Änderungszeit sortiert, neueste zuerst | |
-r |
--reverse |
Reihenfolge umkehren |
-R |
--recursive |
Auch alle Unterverzeichnisse |
-d |
--directory |
Das Verzeichnis selbst statt seines Inhalts |
lsls -lls -la ~ls -lah /var/logls -lt /etcls -ltr /etc # neueste zuletzt, praktisch bei langen Listenls -R /etc/aptls -ld /etcEine Zeile aus ls -l liest sich so:
drwxr-xr-x 2 user user 4096 Nov 5 10:12 lab-rw-r--r-- 1 user user 42 Nov 5 10:15 notizen.txtDas erste Zeichen sagt, was es ist: d für Verzeichnis, - für normale Datei, l für einen Link. Die neun Zeichen danach sind die Zugriffsrechte, die in Modul 4 ausführlich drankommen. Dann folgen Anzahl Links, Besitzer, Gruppe, Grösse, Änderungszeit und Name.
Hands-on: Versteckte Dateien. In deinem Home liegen Dateien wie .bashrc und .bash_history, die ls ohne -a verschweigt. Die Einträge . und .. am Anfang der Liste sind das aktuelle und das übergeordnete Verzeichnis selbst.
cdlsls -als -laDen Baum sehen: tree
Abschnitt betitelt „Den Baum sehen: tree“tree zeigt ein Verzeichnis als Baum. Auf Ubuntu Server ist es nicht vorinstalliert:
sudo apt install treetree ~/lernplattformtree -L 2 /etc/apt # nur zwei Ebenen tieftree -d /usr/share/doc # nur Verzeichnissetree -a ~ # auch versteckte EinträgeFür die Übungen in diesem Modul ist tree das Werkzeug der Wahl, um das Ergebnis zu kontrollieren.
Lösung anzeigen
cd ~/lernplattformscript labs/linux/03-terminal/navigation.txtcd /var/logls -ltrhcd ../../etcpwdcdcd -ls -R /etc/apt# 5: ls -l /etc zeigt den Inhalt von /etc, ls -ld /etc zeigt den Eintrag /etc selbst.# 5: ls -a zeigt auch versteckte Einträge (Name beginnt mit Punkt). Die ersten zwei,# . und .., sind das aktuelle und das übergeordnete Verzeichnis.exitSelbstcheck · 5 Fragen
Weiterführend
Abschnitt betitelt „Weiterführend“man ls,man cd(cdist ein Bash-Builtin, deshalb auchhelp cd)- ubuntuusers Wiki: ls