Wie kann ich im Terminal einen Schlüssel definieren, um zum vorherigen Verzeichnis zu gelangen, in dem ich mich befunden habe, als ich mit dem cd
Befehl das Verzeichnis gewechselt habe ?
Zum Beispiel bin ich in /opt/soft/bin
und ich cd
in /etc/squid3
und ich möchte zum ersten Verzeichnis zurückkehren.
shell
cd-command
Hojat Taheri
quelle
quelle
cd -
. Wenn Sie beispielsweise eingebencd /usr/local
, wissen Sie, dass Sie sich in befinden/usr/loal
, aber wenn Sie eingebencd -
, erinnern Sie sich nicht immer, aus welchem Verzeichnis Sie stammen. Das erspart Ihnen das Tippencd -; pwd
. Aber das ist alles Spekulation.alias -- -='cd -'
dann verwenden-
(1 Zeichen) stattcd -
(4 Zeichen). Schneller:D
cd -
zweimal machen. Siecd /; cd /usr; cd -; cd -
sollten Sie sein/usr
. Aber vielleicht habe ich deine Frage nicht verstanden.Die anderen Antworten sind definitiv vollständig im Sinne der direkten Antwort.
cd -
undcd $OLDPWD
sind definitiv die Hauptentscheidungen dafür. Allerdings finde ich oft , dass in einen Workflow immer mitpushd
undpopd
besser funktioniert.Um es kurz zu machen: Wenn Sie in ein Verzeichnis wechseln, um zu Ihrem Ausgangspunkt zurückzukehren, verwenden Sie
pushd
/popd
.Erweitertes Beispiel
Der Hauptunterschied wird leicht durch ein Beispiel gezeigt.
Zu diesem Zeitpunkt haben Sie einen Verzeichnis-Stack
dir2, dir1
. Wenn Siepushd
ohne Argumente ausführen, werden Sie wieder indir1
den Stapel als versetztdir1, dir2
.popd
würde das gleiche tun, aber Sie mit einem leeren Verzeichnisstapel verlassen. Dies ist nicht viel anders als beimcd -
Workflow.Jetzt können Sie jedoch die Verzeichnisse mehrmals wechseln und zu zurückkehren
dir1
. Zum Beispiel,Wenn Sie
popd
zu diesem Zeitpunkt ausgeführt werden, kehren Sie zu zurückdir1
.quelle
pushd
und beimpopd
-en zum vorherigen Ordner zurückkehren .dirs -v
, aber die Realität für mich ist, dass oft der einfache Fall alles ist, was ich wirklich benutze. (Oder, schlimmer noch, ich mache einen Fehler, wenn ich es versuchepush +2
oder ähnliches). Außerdem dachte ich, Babyschritte, um jemanden dazu zu bringen, den Workflow zu testen. :)cd
an die Spitze des Stapels, ohne zu knallen?Du solltest benutzen:
Es macht dasselbe wie
cd -
(aus der aktuell akzeptierten Antwort) ohne das störende Echo des Verzeichnisses und ist einfacher zu tippen alscd "$OLDPWD"
odercd - > /dev/null
.quelle
alias -- -='cd "$OLDPWD"'
mit dann-
(1 Zeichen) stattcd ~-
(5 Zeichen).:)
cd ~-/..
klappt das abercd -/..
nicht!wechselt zum vorherigen Arbeitsverzeichnis.
quelle
Sie können einen Schlüssel für 'cd -' definieren, indem Sie Ihre '~ / .bashrc'-Datei bearbeiten und einen Alias für den Befehl hinzufügen. Zum Beispiel könnten Sie 'cdc' hinzufügen, um es zu 'cd -' zu machen, was Ihnen einen kürzeren Weg bietet, zum letzten Verzeichnis zu gelangen, indem Sie Folgendes hinzufügen:
Auf diese Weise würden Sie einfach 'cdc' eingeben und sich in Ihrem letzten Arbeitsverzeichnis befinden.
quelle
bind '"\e[24~":"\C-k \C-ucd -\n"'
(oder besser in eineinputrc
Datei verschieben, wie in der Antwort erwähnt).cd ..
Wechselt zum vorhergehenden Ordner in der Ordnerstruktur.cd -
geht in den Ordner, in dem es vorher war. Dieser Befehl hat auf einigen Distributionen (Ubuntu 16.04) nicht funktioniert, funktioniert in Debian 9.quelle