Existe-t-il un moyen de revenir au répertoire de travail précédent après cd
un 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 cd
et 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 cd
et je suis maintenant dans mon répertoire personnel, au lieu du projet Java. Existe-t-il un moyen de "défaire" cela cd
et de revenir au répertoire dans lequel j'étais?
command-line
bash
nickb
la source
la source
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 etcd -3
pour remonter de 3 niveaux, par exemple.la source
Vous pouvez également utiliser
pushd
etpopd
utiliser la pile de répertoires :)Quelques infos ici
la source
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 fichierspwd
.Donc , à la fois
cd ..
etcd -
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 suivantecd
: elle vous ramène au dossier de départ.la source
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'utilisercd ..
pour un niveaucd ../..
, pour deux,cd ../../..
pour trois et plus ... une bonne façon de le faire rapidement est la suivante: scénario:la source
cd
dans un script n'affecte pas le shell parent. Vous auriez besoin de mettre cela dans une fonction shell pour que cela soit utile.up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }