cd
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Der Befehl cd steht für change directory und dient - unter Berücksichtigung von Groß-/Kleinschreibung! - zum Wechsel in ein (Unter-)Verzeichnis. cd ist eine von der Shell (zum Beispiel der Bash und der Dash) mitgelieferte Funktion (bultin).
Syntax¶
Die allgemeine Syntax ist [1]:
cd [OPTION] VERZEICHNIS
Optionen¶
Bei den meisten Shells kennt cd mindestens die folgenden beiden Optionen:
Option | Beschreibung |
-L | cd folgt der logischen Verzeichnisstruktur (Standard) |
-P | cd folgt der physischen Verzeichnisstruktur |
Die Bash kennt auch noch die Optionen -e
und -@
Normalerweise wechselt cd in das angegebene Verzeichnis, sofern dieses existiert und der Benutzer dieses auch betreten darf. Damit wird dieses zum aktuellen Arbeitsverzeichnis. Im Fehlerfall bleibt man im vorherigen Arbeitsverzeichnis.
Beispiele¶
Das gewünschte Verzeichnis kann absolut mit vorangestelltem /
von der Verzeichniswurzel aus oder relativ vom aktuellen Verzeichnis aus angegeben werden:
cd /usr/local # Wechsel nach /usr/local cd bin # Wechsel von /usr/local nach /usr/local/bin
Die Arbeitsweise für die Angabe per relativem Verzeichnis kann mit der Variablen CDPATH
geändert werden. Das neue Verzeichnis wird zuerst im aktuellen Verzeichnis und dann in den mit dieser Variablen angegebenen Verzeichnissen gesucht. In CDPATH
gibt man die Verzeichnisse durch „:
“ getrennt an:
CDPATH='/:/tmp' # durchsuche akt. Verz., dann /, dann /tmp
Wird kein Verzeichnis angegeben, so wechselt cd in das mit der Variable HOME
angegebene Verzeichnis; in der Regel ist dies das Home-Verzeichnis des aktuellen Benutzers. Wenn HOME
nicht gesetzt ist, macht cd gar nichts.
cd # Wechselt nach $HOME
Wird ein „-
“ angegeben, so wechselt cd in das vorherig benutzte Verzeichnis:
cd /tmp # Wechsel ins tmp-Verzeichnis cd /usr/local # Wechsel nach /usr/local cd - # Wechselt wieder ins tmp-Verzeichnis
Das übergeordnete Verzeichnis wird kurz mit zwei Punkten gekennzeichnet:
cd .. # Wechselt ins übergeordnete Verzeichnis also z.B. von /home/user nach /home cd ../user2 # Wechselt ins übergeordnete Verzeichnis und von dort nach user2, also z.B. von /home/user nach /home/user2
Will man in ein Verzeichnis wechseln, dessen Name Leerzeichen enthält, so muss man diese durch vorangestellte \ maskieren. Das wird auch automatisch gemacht, wenn man den Pfad wie gewohnt mit Tab ⇆ vervollständigt. Alternativ ist aber auch möglich, den ganzen Pfad unter Anführungszeichen zu setzen.
cd /media/Fotos\ Hawaii cd "/media/Fotos Hawaii"
Dies gilt gleichermaßen auch für die anderen aus Sicht der Shell besonderen Zeichen, wie Tabulator, Zeilenschaltung, den Doppelpunkt :
und Klammern ([{
usw.
Gebrauch der Option -P
¶
Wenn das gewünschte Ziel ein symbolischer Link auf ein reales/physisches Verzeichnis ist unterscheidet sich die Arbeitsweise von cd je nach Angabe der Option -L
oder -P
. Nach einem erfolgreichen Wechsel in das neue Arbeitsverzeichnis wird mit der Option
-L
(bzw. keiner Angabe) stets das angegebene Zielverzeichnis,aber mit
-P
stets das aufgelöste Ziel des Links
als aktuelles Arbeitsverzeichnis angezeigt.
Beispielsweise ist /bin ein symbolischer Link:
user@hostname:~$ file /bin
/bin: symbolic link to usr/bin
user@hostname:~$ cd -L /bin user@hostname:/bin$
aber
user@hostname:~$ cd -P /bin user@hostname:/usr/bin$
Dies gilt auch für die Ausgabe des Befehls pwd und den Wert der Variablen PWD
.
Links¶
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle