Différence entre les commandes
La différence est que cd
est une commande unique, sans argument. S'il n'y a pas d'arguments, cd
ira dans votre dossier personnel par défaut. A l'inverse ..
signifie toujours "un répertoire plus haut" ou répertoire parent. Ainsi, lorsque vous faites cd ..
il montera d'un niveau. Et ceci est toujours vrai, à l'exception de /
parce qu'il n'y a nulle part ailleurs où aller. Voici une démonstration :
$ pwd
/etc
$ cd ..
$ pwd
/
$ cd ..
$ pwd
/
Utiliser ces connaissances dans la pratique
En quoi ces deux commandes sont-elles utiles ? cd
retournera à votre répertoire personnel, ce qui revient à faire cd ~
ou de faire cd $HOME
. Cela signifie que si vous vous trouvez quelque part très très loin dans l'arborescence des répertoires, vous pouvez rapidement et facilement revenir au répertoire d'origine. Voici un exemple :
$ pwd
/sys/class/block/sda1/holders
$ cd
$ pwd
/home/xieerqi
Con ..
tu peux aussi faire des choses cool. Disons que je suis dans /sys/class/block/sda1/holders
et je veux passer rapidement à 3 niveaux supérieurs. Nous pouvons donc faire ceci :
$ pwd
/sys/class/block/sda1/holders
$ cd ../../../
$ pwd
/sys/class
Ce qui peut aussi être fait, c'est de faire une fonction à partir de ça. Nous pouvons naviguer plus facilement en spécifiant un nombre de niveaux à remonter. C'est ici :
goup() {
num=$1
while [ $num -ne 0 ]
do
cd ..
num=$(expr $num - 1 )
done
}
Sachant que cd ..
monte d'un niveau, pourquoi ne pas spécifier combien de fois nous voulons répéter cd ..
? C'est exactement ce que fait cette boucle while. Et la voici en action :
$ pwd
/sys/class/block/sda1/holders
$ goup 4
$ pwd
/sys