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?

Réponses:


130

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


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.


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


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.


-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

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.