Website-Suche

Bash Change Directory (cd) Methoden, Tipps und Tricks


Das Wechseln von Verzeichnissen in einem Terminal gehört für Mainstream-Benutzer möglicherweise der Vergangenheit an. Wenn Sie jedoch auf irgendeiner Ebene Systemadministrationsarbeiten, Testarbeiten, Big-Data-Manipulation oder Ähnliches durchführen, werden Sie bald feststellen, dass Sie den Befehl Change Directory (cd) an der Eingabeaufforderung des Bash- oder Linux-Terminals immer häufiger verwenden.

In diesem Tutorial lernen Sie:

  • Einfache Verwendung des Befehls "Change Directory" (CD) des Terminals
  • Zusätzliche Methoden, Tipps und Tricks für ein reichhaltigeres CD-Erlebnis
  • Beispiele für die Verwendung der verschiedenen cd-Befehle

Bash Change Directory (cd) Methoden, Tipps und Tricks

Verwendete Softwareanforderungen und Konventionen

  1. Ein einfaches Änderungsverzeichnis

    Zuerst erstellen wir zwei Verzeichnisse mit den Namen a und b mit dem Befehl mkdir:

    mkdir a
    mkdir b
    

    Als nächstes führen wir ein paar einfache Change Directory (cd)-Befehle aus:

    cd a
    pwd | sed 's|.*/||'
    a
    cd ../b
    pwd | sed 's|.*/||'
    b
    
    
  2. Wir haben zuerst in das a-Verzeichnis gewechselt und dann pwd (Path Working Directory, das aktuelle Verzeichnis, in dem wir uns befinden) verwendet, um das Unterverzeichnis zu sehen, in dem wir uns befinden. Wir haben auch einen einfachen regulären sed-Ausdruck verwendet, um den führenden Teil des Pfadnamens herauszufiltern. Weitere Informationen zu regulären Ausdrücken und Sets finden Sie in unseren Anleitungen [Bash Regexps für Anfänger mit Beispielen](bash-regexps-for-beginners-with-examples) und [Advanced Bash Regex with Examples](advanced-bash-regex-with-examples).

  3. Wechsel zurück in das vorherige Verzeichnis

    Mit dem gleichen Setup wie oben, beginnend in dem Verzeichnis, das die Unterordner a und b enthält, können wir folgendes tun:

    cd a
    pwd | sed 's|.*/||'
    a
    cd ../b
    pwd | sed 's|.*/||'
    b
    cd -
    /home/roel/a
    pwd | sed 's|.*/||'
    a
    
  4. Hier haben wir wie oben in das Verzeichnis a gewechselt und dann einen relativen Pfadnamen verwendet (ein relativer Pfadname ist ein Pfadname, der für die aktuelle Position relevant ist, d.h. kein vollständiger Pfadname wie z.B. /home/roel/a. Als nächstes haben wir unseren speziellen Verzeichniswechselbefehl cd verwendet - das ist eine praktische Abkürzung, um zurück in das vorherige Verzeichnis zu wechseln, in dem wir uns befanden, in diesem Fall /home/roel/a.

  5. Wechsel in das Home-Verzeichnis

    Es gibt zwei Methoden, um zurück zu unserem persönlichen Home-Verzeichnis zu wechseln. Die erste besteht darin, einfach cd auszugeben, ohne einen Pfad anzugeben. Mal sehen, wie das funktioniert:

    cd a
    pwd
    /home/roel/a
    cd 
    pwd
    /home/roel
    

    Hier haben wir in das Verzeichnis ./a gewechselt, indem wir wieder den Befehl cd a verwendet haben. Danach überprüften wir das Verzeichnis, in dem wir uns befanden, und bestätigten, dass wir uns im Unterverzeichnis ./a in unserem Home-Verzeichnis befanden. Schließlich geben wir den Befehl cd ohne Optionen aus und überprüfen erneut unser Path Working Directory (pwd), das korrekt anzeigt, dass wir uns wieder im Home-Verzeichnis /home/roel befinden.

    Die zweite Methode ist ähnlich. Wir können ~ verwenden, um auf unser Home-Verzeichnis zu verweisen:

    cd ~/a
    pwd
    /home/roel/a
    cd ~
    pwd
    /home/roel
    

    Hier sind wir mit dem Befehl cd ~/a in das Verzeichnis /home/roel/a gewechselt, der die Tastenkombination my-home-directory ~ verwendet. Anschließend haben wir das Verzeichnis wieder auf /home/roel umgestellt, indem wir nur das ~ verwendet haben. Dies zeigt zwei Methoden, um schnell entweder zum Homedir oder zu einem Verzeichnis darunter... oder darüber... zu navigieren. Schauen wir uns die __above__ etwas genauer an:

    cd ~
    pwd
    /home/roel
    cd ~/../roel/a
    pwd
    /home/roel/a
    
  6. Zuerst wechselten wir in das Home-Verzeichnis (wie von pwd bestätigt). Dann wechselten wir in ein relatives Verzeichnis, wobei wir zwei spezielle Methoden/Tastenkombinationen verwendeten, nämlich ~ und ... Man könnte das so lesen: Wechseln Sie das Verzeichnis in das Home-Verzeichnis (~), gehen Sie dann ein Verzeichnis hoch (..) und gehen Sie dann in das Verzeichnis, das Sie dort finden, dann in das Verzeichnis a und somit landen wir wie angewiesen in /home/roel/a.

  7. Mit .. und .

    Bash ist sehr flexibel, wenn es um die Angabe von Pfadnamen geht:

    pwd
    /home/roel
    cd ~/../../home/../home/./roel///a
    pwd
    /home/roel/a
    

    Hier beginnen wir im Home-Verzeichnis /home/roel und geben als nächstes einen Befehl aus, der niemals parsen würde. Aber die Bash-Shell kümmert sich um alles. Die hier bereitgestellte lange Anleitung ähnelt der separaten Vorgehensweise:

    pwd
    /home/roel
    cd ~; cd ..; cd ..; cd home; cd ..; cd home; cd .; cd roel/aa
    pwd
    /home/roel/a
    

    Die meisten davon werden nun selbsterklärend sein. Es gibt jedoch einige interessante neue Redewendungen (Formen der Verwendung der Bash-Sprache). Eine dieser Redewendungen ist die Verwendung von .. Das bedeutet in Bash __current directory__ und tut im Grunde nichts. Es wird in anderen Dingen verwendet, zum Beispiel, wenn wir eine Binärdatei in Bash starten, werden wir normalerweise ./some_binary tun, d.h. das aktuelle Verzeichnis als Präfix verwenden.

    Der zweite ist, dass wir im ursprünglichen Beispiel roel///a verwendet haben, was für Bash identisch mit roel/a ist. Die Angabe mehrerer Schrägstriche wird nur in einen einzigen Schrägstrich übersetzt!

  8. Beide Elemente, nämlich der aktuelle Verzeichnispunkt (.) und mehrere Schrägstriche (zwei: oder mehr), sind sehr praktisch, wenn es um Skripterstellung geht, und insbesondere letzteres. Es vermeidet die Notwendigkeit, einige Variablen zu bereinigen. Wenn Sie beispielsweise einen festen Pfad aus der Wurzel (das Stammverzeichnis ist das oberste Verzeichnis in Ihrem Verzeichnisbaum und wird durch den ersten Schrägstrich / gekennzeichnet) mit einem relativen Pfad verbinden, kann das Nichtbereinigen von Variablen zu etwas wie /home/roel//a führen, das immer noch einwandfrei funktioniert.

Schlussfolgerung

In diesem Artikel haben wir verschiedene Methoden, Tipps und Verknüpfungen untersucht, die das Durchsuchen von Verzeichnissen über die Befehlszeile viel angenehmer machen. Hinterlassen Sie uns unten einen Kommentar mit Ihren besten Tricks zum Ändern des Verzeichnisses! genießen!

Verwandte Artikel: