Linux / Befehle / cd / Befehl, um in ein anderes Verzeichnis zu wechseln
In Linux ändert der cd-Befehl das Arbeitsverzeichnis der aktuellen Shell. Führen Sie beispielsweise cd /etc aus und prüfen Sie anschließend mit pwd das aktuelle Verzeichnis.
Aktuellen Standort überprüfen und wechseln
cd steht für change directory und ist ein in Shells wie Bash eingebauter Befehl. Sie geben das Verzeichnis, in das Sie wechseln möchten, als Argument an. Der folgende Befehl wechselt zu /etc und zeigt diesen Speicherort an.
cd /etc
pwd
Wenn der Wechsel erfolgreich ist, gibt der Befehl cd selbst normalerweise nichts aus. Stellen Sie sicher, dass pwd /etc anzeigt. Der Wechsel beinhaltet nicht das Verschieben von Dateien oder das Ändern von Inhalten, sondern ändert die Referenzposition der aktuellen Shell. Das Arbeitsverzeichnis anderer Terminals ändert sich nicht.
Absolute Pfade und relative Pfade
Absolute Pfade beginnen im Root-Verzeichnis /. Zum Beispiel gibt der folgende Befehl /var/log an, unabhängig von Ihrem aktuellen Standort. Das Verzeichnis muss existieren und zugänglich sein.
cd /var/log
pwd
Relative Pfade basieren auf dem aktuellen Standort. Zum Beispiel, um zu /var zu wechseln und dann in log darin zu gehen, führen Sie Folgendes aus.
cd /var
cd ./log
pwd
Wenn erfolgreich, wird /var/log angezeigt. . bezieht sich auf das aktuelle Verzeichnis, daher ist ./log log relativ zum aktuellen Standort. Wenn CDPATH in Bash gesetzt ist, kann cd log alternative Suchpfade verwenden, aber cd ./log bezieht sich ausdrücklich auf das aktuelle Verzeichnis. Wenn der Wechsel fehlschlägt, beheben Sie den Fehler, bevor Sie den nächsten Befehl ausführen.
Wechseln zum übergeordneten Verzeichnis und zum vorherigen Speicherort
.. verweist auf das übergeordnete Verzeichnis. Wenn sich der aktuelle Speicherort in /var/log befindet, verschiebt der folgende Befehl nach /var.
cd ..
pwd
Um zum zuvor besuchten Verzeichnis zurückzukehren, verwenden Sie den folgenden Befehl.
cd -
cd - in Bash wechselt in das vorherige Arbeitsverzeichnis und gibt dessen Pfad aus. Es kann fehlschlagen, wenn der vorherige Speicherort nicht festgelegt oder nicht erreichbar ist. Im obigen Beispiel, wenn Sie unmittelbar zuvor von /var/log nach /var gewechselt haben, wird es zu /var/log zurückkehren.
Wechseln zum Heimatverzeichnis
Wenn Sie cd ohne einen Pfad ausführen, wechselt Bash in das in der HOME-Variable festgelegte Home-Verzeichnis. ~ wird normalerweise ebenfalls auf das Home-Verzeichnis des aktuellen Benutzers erweitert.
cd
pwd
Der Speicherort des Home-Verzeichnisses hängt vom Konto und den Einstellungen ab, daher sollte man nicht immer annehmen, dass es /home/user ist. cd ~/Documents wechselt unter das Home-Verzeichnis zu Documents, und wenn dieses Verzeichnis nicht existiert, schlägt es fehl. cd ~user in Bash ist eine Möglichkeit, user durch den tatsächlichen Kontonamen zu ersetzen, um den Heimverzeichnis-Pfad dieses Kontos anzugeben. Es meldet sich nicht als ein anderer Benutzer an noch gewährt es Berechtigungen, und Sie müssen Zugriffsrechte auf das Ziel haben.
Pfade mit Leerzeichen und symbolischen Links
Wenn ein Verzeichnisname Leerzeichen enthält, setzen Sie den Pfad in Anführungszeichen. Das folgende Beispiel verwendet dies, wenn my folder im aktuellen Verzeichnis ist.
cd "my folder"
Wenn Sie den Home-Pfad verwenden, können Sie ~ außerhalb der Anführungszeichen platzieren und den Rest einschließen. Das Folgende ist ein Beispiel, wenn my folder unter dem Home-Verzeichnis liegt.
cd ~/"my folder"
Wenn Sie über einen symbolischen Link verschoben haben, können sich der angezeigte Pfad und der tatsächliche Verzeichnispfad unterscheiden. Der Bash-Befehl pwd -P zeigt den physischen Pfad. cd -P bewegt sich basierend auf dem aus dem Link interpretierten physischen Pfad, und das von .. verarbeitete Ergebnis kann vom Standardverhalten abweichen. Für weitere Details prüfen Sie Bash-Handbuch zu cd und pwd.
Was tun, wenn der Verzeichniswechsel fehlschlägt?
- Pfad nicht gefunden: Überprüfen Sie die Rechtschreibung und die Groß-/Kleinschreibung sowie Ihren aktuellen Standort und verwenden Sie
ls, um zu sehen, ob der Name existiert. Die Datei ist kein Verzeichnis, daher können Sie sie nicht mitcdbetreten. - Berechtigung verweigert: Stellen Sie sicher, dass Sie die Suchberechtigung haben, um auf das Ziel und seine übergeordneten Verzeichnisse zuzugreifen. Anstatt die Berechtigungen willkürlich zu ändern, fordern Sie die erforderlichen Zugriffsrechte beim Administrator an.
- Unerwarteter Standort: Vergleichen Sie
pwdundpwd -Pund prüfen Sie symbolische Links oderCDPATH-Einstellungen.
Sie können die Hilfe für eingebaute Befehle in Bash mit help cd ansehen. In Skripten müssen Sie den Exit-Status prüfen, damit das Skript bei einem fehlgeschlagenen cd keine nachfolgenden Operationen im falschen Verzeichnis ausführt.




