Comment puis-je annuler la dernière commande cd?

77

Existe-t-il un moyen de revenir au répertoire de travail précédent après cdun répertoire différent?

Mon cas d'utilisation est que je traverse une structure de répertoire pour un projet Java et que le répertoire actuel ne comporte qu'un seul sous-répertoire. Donc, je tape cdet frappe Tabet Enterassez rapidement. Cependant, l’ Tabéchec, comme je l’attendais à tort d’un sous-répertoire, alors qu’il en existe plusieurs. Alors maintenant, je viens d’exécuter cdet je suis maintenant dans mon répertoire personnel, au lieu du projet Java. Existe-t-il un moyen de "défaire" cela cdet de revenir au répertoire dans lequel j'étais?

nickb
la source

Réponses:

130

Vous pouvez utiliser cd -pour revenir à votre emplacement précédent, peu importe où il se trouvait.

ImaginaryRobots
la source
10
Eh bien ... même après des années sur Ubuntu, je ne le savais pas. Merci
andybleaden
19

cd - est idéal pour revenir en arrière d’un niveau, mais si vous souhaitez revenir en arrière de quelques niveaux, consultez ce script:

acd_func.sh

C'est bien. cd --pour voir votre histoire et cd -3pour remonter de 3 niveaux, par exemple.

doyen
la source
Wow ... un lien de géocités. Maintenant, il y a une URL que je n'ai pas vue depuis longtemps. <insert Obi-wan JPG>
Michael Butler
1
l' essentiel de ce commentaire. <jpg Yoda insert>
Donbhupi
15

Vous pouvez également utiliser pushdet popdutiliser la pile de répertoires :)

Quelques infos ici

Sinan Bolel
la source
5

De plus, cd ..vous pouvez revenir au répertoire parent du répertoire de travail et, si nécessaire, vous pouvez répéter la commande jusqu'à ce que vous arriviez à l'endroit souhaité. En fait, chaque fois que cela est évoqué, cela vous ramène dans l’arborescence de répertoires, qui finira par se terminer par /(le répertoire racine) si vous ne faites que répéter la commande.

En revanche , cd -le répertoire de travail précédent est en réalité le répertoire de travail actuel (connu sous le nom de .) et l’emplacement exact dans le système de fichiers pwd.

Donc , à la fois cd ..et cd - peut être utile dans des circonstances différentes lors de la navigation l'arborescence des répertoires, même si elles ne diffèrent sur les points mentionnés ci - dessus. Peut-être que la commande la plus utile après avoir eu du plaisir à expérimenter avec ces deux commandes est la suivante cd: elle vous ramène au dossier de départ.


la source
-1

La meilleure façon de le faire pour revenir en arrière est cd -, cependant si vous voulez sauter plusieurs niveaux à la fois, vous feriez mieux de l'utiliser cd ..pour un niveau cd ../.., pour deux, cd ../../..pour trois et plus ... une bonne façon de le faire rapidement est la suivante: scénario:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK
utilisateur258456
la source
1
L'exécution cddans un script n'affecte pas le shell parent. Vous auriez besoin de mettre cela dans une fonction shell pour que cela soit utile.
Wjandrea
comme ceci:up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }
wjandrea