Wie kann ich den letzten CD-Befehl rückgängig machen?


77

Gibt es eine Möglichkeit, zum vorherigen Arbeitsverzeichnis zurückzukehren, nachdem Sie cdin ein anderes Verzeichnis gewechselt haben?

Mein Anwendungsfall ist, dass ich eine Verzeichnisstruktur für ein Java-Projekt durchquere und erwarte, dass das aktuelle Verzeichnis nur ein Unterverzeichnis enthält. Also, ich tippe cdund drücke Tabund Enterziemlich schnell. Allerdings ist das Tabfehlgeschlagen, da ich fälschlicherweise ein Unterverzeichnis erwartet habe, obwohl es tatsächlich mehr gibt. Also habe ich gerade ausgeführt cdund bin jetzt in meinem Home-Verzeichnis anstelle des Java-Projekts. Gibt es eine Möglichkeit, dies rückgängig zu machen cdund zu dem Verzeichnis zurückzukehren, in dem ich mich befunden habe?

Antworten:


130

Mit können Sie cd -zu Ihrem vorherigen Standort zurückkehren, egal wo sich dieser befand.


10
Naja ... auch nach Jahren auf Ubuntu wusste ich das nicht. Danke
andybleaden

19

cd - eignet sich hervorragend, um eine Ebene zurück zu gehen. Wenn Sie jedoch feststellen, dass Sie einige Ebenen zurückgehen möchten, lesen Sie das folgende Skript:

acd_func.sh

Es ist toll. cd --um zum Beispiel Ihre Geschichte zu sehen und cd -33 Ebenen zurück zu gehen.


Wow ... ein Geocities-Link. Jetzt gibt es eine URL, die ich schon lange nicht mehr gesehen habe. <Obi-wan JPG einfügen>
Michael Butler

1
der Kern dieses Kommentars. <jpg Yoda insert>
Donbhupi

15

Sie können auch pushdund verwenden popd, um den Verzeichnisstapel zu verwenden :)

Einige Infos hier


5

Darüber hinaus cd ..können Sie nehmen wieder in das Arbeitsverzeichnis des Elternverzeichnis und dann bei Bedarf der Befehl wiederholt werden kann , bis Sie zu erhalten , wo Sie sein möchten. Tatsächlich führt es Sie jedes Mal, wenn es aufgerufen wird, zurück durch den Verzeichnisbaum, der letztendlich bei /(dem Stammverzeichnis) endet , wenn Sie den Befehl nur wiederholt haben.

Im Gegensatz , cd -macht tatsächlich das vorherige Arbeitsverzeichnis des aktuelle Arbeitsverzeichnis, (die als bekannt ist .), und welche genaue Position im Dateisystem kann mit gefunden werden pwd.

So können beide cd ..und cd - unter verschiedenen Umständen beim Navigieren im Verzeichnisbaum nützlich sein, obwohl sie sich in den oben genannten Punkten unterscheiden. Vielleicht ist der nützlichste Befehl nach dem Experimentieren mit diesen beiden Befehlen cd, der Sie zum Basisordner zurückbringt.


-1

Der beste Weg, dies für den Rückweg zu tun, ist cd -jedoch, wenn Sie viele Level auf einmal überspringen möchten, besser cd ..für ein Level cd ../.., für zwei, cd ../../..für drei und mehr ... ein guter Weg, dies schnell zu tun, ist dies Skript:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK

1
Das Ausführen cdin einem Skript wirkt sich nicht auf die übergeordnete Shell aus. Sie müssten dies in eine Shell-Funktion einfügen, damit es nützlich ist.
wjandrea

wie up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }
folgt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.