Changement de répertoire : cd

Si vous voulez accéder à votre répertoire personnel, il vous suffit d'entrer :

cd
	  

Allez-y, faites l'essai dans une fenêtre Xterm.

Evidemment, si vous vous trouviez déjà dans votre répertoire personnel, l'effet n'est pas spectaculaire. Si vous voulez vous positionner ailleurs que dans votre répertoire personnel, vous devez indiquer à votre système où vous voulez aller.

Que vous alliez dans une boutique d'un centre commercial ou que vous alliez rendre visite à des proches dans la région, vous devez savoir comment aller d'un point à un autre. En d'autres termes, il vous faut connaître le chemin à suivre.

Le chemin d'accès, ou nom du chemin d'accès, correspond en fait à l'ensemble des directions qui vous conduit d'un point à un autre. Dans le cas de votre système Linux (ainsi que dans l'environnement DOS/Windows), vous spécifiez un chemin d'accès qui vous conduit d'un répertoire ou d'un fichier à un autre.

Faisons une nouvelle tentative. Ouvrez une fenêtre Xterm. Commencez par la commande pwd. Lorsque vous entrez vos commandes, votre fenêtre se présentera de la façon suivante :

[newuser@localhost newuser]$ pwd
/home/newuser
[newuser@localhost newuser]$
	  

A présent que vous voyez où vous êtes, vous pouvez indiquer à votre système le chemin d'accès à suivre.

Enfin, presque…

Essayez d'entrer :

cd home
	  

Que s'est-il passé ? Vous savez qu'il existe un répertoire nommé home et vous avez entré le chemin. Alors pourquoi obtenez-vous le message no such file or directory ?

Cela signifie que votre chemin d'accès est incomplet.

Essayez d'entrer :

cd /home
	  

A présent, vous avez réussi à changer de répertoire et à passer de votre répertoire de connexion au sous-répertoire appelé home.

Figure 15-2. Les chemins de menu absolus spécifient le chemin d'accès complet

La différence, bien entendu, a consisté à ajouter la barre oblique /.

Prenons le temps d'analyser la raison pour laquelle l'ajout d'une barre oblique a fait toute la différence.

Lorsque vous avez vu que vous étiez dans /home/newuser, vous avez consulté le chemin d'accès complet -- ou le chemin d'accès absolu depuis le répertoire root. Le répertoire newuser est situé deux répertoires "plus bas" que le root qui est le niveau le plus élevé de votre système.

Ainsi, lorsque vous avez entré :

cd /home
	  

vous avez en fait spécifié "aller au répertoire root, puis au répertoire nommé home, situé un répertoire au-dessous du root." Vous avez spécifié un chemin d'accès absolu pour atteindre le répertoire home.

Maintenant, si vous entrez :

cd /
	  

vous obtenez une invite du genre :

[newuser@localhost /]$
	  

Cette seule barre oblique signifie que vous êtes au niveau du répertoire root. Lorsque vous êtes à ce niveau, vous ne pouvez pas monter plus haut dans votre système (ceci vaut également pour DOS/Windows).

Pour revenir à votre répertoire de connexion à partir du répertoire root en utilisant le chemin d'accès absolu, entrez simplement :

cd /home/newuser
	  

Vous êtes arrivé à destination.

L'utilisation du chemin d'accès absolu ne représente que l'un des moyens de déplacement. Une autre méthode permettant de passer d'un point à un autre consiste à utiliser le chemin d'accès relatif (comme dans la Figure 15-3).

Revenons au répertoire root :

cd /
	  

A présent, revenons à votre répertoire de connexion à l'aide des noms de chemin d'accès relatifs :

cd home/newuser
	  

Avez-vous remarqué l'absence de la première barre oblique / ? C'est parce que le répertoire root est le parent du répertoire home, ce qui veut dire que le répertoire home est situé un niveau au-dessous du répertoire root. Du fait que home est le répertoire parent de celui appelé newuser, ces deux répertoires sont séparés par un signe /.

Si vous êtes dans votre répertoire de connexion, vous pouvez passer au répertoire de niveau supérieur (home) en entrant simplement :

cd ..
	  

Le chemin d'accès relatif décrit le répertoire auquel vous voulez accéder à l'aide de la commande cd en référence à votre répertoire courant.

Figure 15-3. Les noms de chemin d'accès relatifs se réfèrent à l'emplacement courant

Lorsque vous avez entré cd .., vous avez spécifié "remonter d'un répertoire." Le répertoire supérieur suivant votre répertoire de connexion était le répertoire home.

TuyauQue sont les répertoires parents ?
 

Lorsqu'il est question de répertoires qui en contiennent d'autres, vous pouvez les appeler répertoires parent . Dans votre cas, home est le répertoire parent de newuser.

L'utilisation de deux points (..) avec la commande cd revient à préciser que vous voulez aller au répertoire parent de votre répertoire de travail courant. Essayez d'utiliser un seul point. Entrez :

cd .
	  

Que s'est-il passé ? Pas grand-chose. C'est parce que l'utilisation d'un seul point (.) revient à spécifier votre répertoire de travail courant.

Les différences entre les chemins d'accès absolus et relatifs peuvent parfois être vraiment frappantes.

Pour reprendre notre comparaison avec un centre commercial, si vous deviez indiquer des directions à l'aide d'un chemin d'accès absolu, vous pourriez par exemple dire :

"Aller chercher les clés de la voiture. Monter dans la voiture. Démarrer la voiture. Sortir de l'allée. Aller jusqu'à l'angle de la rue…"

…Et ainsi de suite, jusqu'à ce que vous atteigniez enfin votre magasin de chaussures préféré dans le centre commercial.

Lorsque vous utilisez un chemin d'accès relatif, les instructions sont les suivantes :

"Le magasin est à quelques kilomètres d'ici, dans le centre commercial."

C'est légèrement exagéré, mais vous avez le principe : tant que vous savez où vous voulez aller par rapport à l'endroit où vous vous trouvez, vous pouvez utiliser des chemins d'accès relatifs.

TuyauLe chemin d'accès est-il absolu ou relatif ?
 

Un chemin d'accès est absolu si le premier caractère est une barre oblique / ; dans les autres cas, il s'agit d'un chemin d'accès relatif.

Vous êtes à présent dans le répertoire home, parent de votre répertoire de connexion. Entrez :

cd ..
	  

et vous vous trouvez alors au niveau du répertoire root.

A l'aide de chemins d'accès relatifs, revenez à votre répertoire de connexion en entrant :

cd home/newuser
	  

Cela ne semble guère différent des chemins d'accès absolus, n'est-ce pas ? Remarquez néanmoins qu'aucune barre oblique ne précède home. Essentiellement, vous dites : "aller un répertoire plus bas, dans home, puis aller à newuser, dans le répertoire home."

TuyauRevenez rapidement à votre répertoire de connexion
 

Si vous voulez revenir rapidement à votre répertoire de connexion, entrez simplement cd puis appuyez sur Entrée où que vous vous trouviez dans le système. Vous parviendrez à votre répertoire de connexion.

La démonstration n'a pas été trop longue.

Entrez plutôt dans votre répertoire de connexion :

cd ../../etc/X11
	  

Maintenant, vous êtes dans le répertoire X11 qui contient les fichiers de configuration et les répertoires liés au système X Window.

NoteRemarque
 

Vous pouvez toujours entrer pwd pour découvrir où vous vous trouvez dans l'arborescence de répertoires. Et vous pouvez revenir à votre répertoire de connexion à l'aide de la commande cd.

Jetez un coup d'oeil à votre dernière commande cd. Ce que vous avez réellement dit à votre système est "remonter au répertoire parent, puis jusqu'au répertoire parent de ce répertoire (en l'occurrence, le répertoire root), puis aller au répertoire etc et à partir de là, au répertoire X11."

L'utilisation d'un chemin d'accès absolu vous permettrait aussi d'accéder rapidement à X11. Entrez :

cd /etc/X11
	  

et le tour est joué.

NoteSachez où vous êtes
 

Vérifiez toujours le répertoire de travail dans lequel vous êtes avant de spécifier le chemin d'accès relatif au répertoire ou au fichier auquel vous voulez accéder. Inutile de vous soucier de votre position dans le système de fichiers, même lorsque vous spécifiez le chemin d'accès absolu à un autre répertoire ou fichier.

A présent que vous commencez à maîtriser le concept de changement de répertoire, voyez ce qui se produit lorsque vous passez dans le répertoire de connexion root.

cd /root
	  

Oups… Vous n'êtes pas connecté en tant que root, l'accès à ce répertoire vous est donc refusée.

Le refus de l'accès au compte root et à d'autres comptes utilisateur (ou répertoires de connexion) représente l'un des moyens dont dispose votre système Linux pour empêcher toute manipulation accidentelle ou malveillante. Vous trouverez de plus amples informations sur la "propriété" des fichiers et les autorisations plus loin dans ce chapitre.

Voulez-vous vraiment passer à la connexion root ? Il vous faut alors utiliser la commande su. Entrez cette série de commandes :

[newuser@localhost newuser]$ su 
Password:votre-mot-de-passe-root 
[root@localhost newuser]#cd /root 
[root@localhost /root]#
	  

Dès que vous avez indiqué le mot de passe root, vous remarquerez des changements dans votre invite de commande qui affichera votre nouveau statut de superutilisateur : la désignation du compte root au début de l'invite et le "#" à la fin (comme indiqué dans Figure 15-4).

Figure 15-4. Connexion root

Lorsque vous exécuterez la commande cd pour passer dans le répertoire de connexion root, l'accès vous sera désormais accordé.

Lorsque vous avez terminé de travailler en tant que root, entrez simplement exit à l'invite.

[root@localhost /root]# exit
exit
[newuser@localhost newuser]$
	  

TuyauRésumé
 

Pour changer de répertoire à l'aide de noms de chemin d'accès absolus, entrez cd /répertoire/répertoire ; pour changer de répertoire à l'aide de noms de chemin d'accès relatifs, entrez cd répertoire pour descendre d'un répertoire, cd répertoire/répertoire pour descendre de deux répertoires, etc. ; pour passer d'un répertoire de votre système de fichiers à votre répertoire de connexion, entrez cd ; pour passer au répertoire parent du répertoire dans lequel vous êtes, entrez cd .. Utilisez . pour faire référence à votre répertoire courant.