logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


chemin relatif et absolu illustrés par quelques commandes

Nota

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Introduction

Objectifs

S'exercer sur quelques commandes en vue d'assimiler les notions de chemin relatif et de chemin absolu.
Ou se servir de différentes expressions syntaxiques pour écrire des commandes équivalentes.

À voir :

sur le shell : shell

sur répertoires et chemins : chemins relatif

sur chemin relatif et absolu : repertoires

sur système droits:fichiers : droits-unix-bis

sur la commande cd : doc:programmation shell:cd

sur système:commandes:gnu : gnu_linux

À savoir :

* Le répertoire courant est le répertoire sur lequel on se trouve. Ne pas confondre le répertoire courant avec son home. Ainsi il faut savoir que lorsqu'on ouvre son terminal, le prompt indique que l'on se trouve au niveau de son home, qui peut être considéré comme un répertoire courant tant qu'on ne s'est pas déplacé dans l'arborescence de fichiers :

 toto@debian:~$ 

Ici le prompt indique que l'on est au niveau de son home.

Mais ici :

 toto@debian:~/Documents$ 

le prompt indique que le répertoire courant est le fichier de type répertoire nommé “Documents” :

Ainsi par exemple :

⇒ Après l'ouverture du terminal inscrivez dans le prompt la commande ls puis appuyez sur la touche “entrée” : vous obtiendrez la liste des fichiers contenus dans votre “home”.

Puis en inscrivant: cd “Documents” dans le prompt (sans les guillemets sur Documents) et appuyez sur la touche “entrée”, le répertoire courant sera alors le répertoire “Documents”.

* Le tilde : ~/ est une abréviation qui représente /home/utilisateur/

Il permet donc d'écrire dans les commandes le chemin relatif d'un fichier de type-répertoire ou d'un fichier-ordinaire 2)

Ainsi on peut écrire :

en absolu (pour un utilisateur “toto”)

 cd /home/toto/Documents

ou

 cd ~/Documents 
~$  echo ~
/home/utilisateur

(Pour aller plus loin, voir tilde)

Autres précisions :

1) Le point “.” représente le répertoire où l'on se trouve.
Et deux points “..” indiquent le répertoire parent de celui dans lequel on se trouve.

2) Le slash “/“ représente la racine mais il sert aussi à séparer les composants d'un nom de fichier (comme dans /home/toto/Documents/fiche-anglais)3)

Ainsi par exemple:

cd .. : permet de retourner au répertoire parent depuis le répertoire courant ou actuel (depuis le répertoire “Documents” par exemple les deux points signifient remonte au répertoire parent de document)

cd . : permet de rester dans le répertoire courant ( le point indiquera le répertoire où l'on se trouve)

cd : permet de retourner (depuis n'importe où)au niveau de son répertoire personnel (sous debian).

cd ~ : permet de même de retourner (depuis n'importe où)au niveau de son répertoire personnel

           ( car le tilde ~ représente son répertoire personnel). 

cd / : permet de retourner à la racine.

Énoncé des questions ci-dessous

Soit le répertoire personnel d'un utilisateur "toto" (également appelé "home" de "toto")

le prompt à l'ouverture du terminal est alors :

 toto@debian:~$ 
 toto@debian:~$ pwd 
retour de la commande pwd
/home/toto 
vocabulaire : Ce n'est pas le prompt qui répond, il ne sert que d'indicateur. C'est le programme de la commande qui retourne le texte affiché.
Entrainez-vous en entrant pwd, après avoir rentré chacune les trois utilisations de cd indiquées ci-dessus. Puis en les entrant après avoir avancé jusqu'où vous le souhaitez dans l'arborescence des fichiers !

Soit la création dans ce répertoire personnel d'un fichier de type répertoire nommé essai1

 mkdir essai1

Soit la création d'un autre fichier de type répertoire nommé « essai2 »

après les commandes suivantes :

1) pour avancer dans l'arborescence et créer « essai2 » dans « essai1 »

cd essai1
À remarquer : le prompt est alors
toto@debian:~/essai1$ []

après pwd le lieu indiqué est bien :

retour de la commande
/home/toto/essai1

2) Pour créer un fichier de type répertoire « essai2 » depuis son répertoire parent

Entrez alors :

 mkdir essai2

3) Pour créer le fichier normal “lili” dans /home/toto/essai1/essai2 au moyen de la commande echo pour y inscrire le mot « bonjour » : depuis le répertoire parent « essai2 » du fichier “lili” :

 cd /home/toto/essai1/essai2/
Remarquez le changement du prompt qui indique le répertoire actuel
toto@debian:~/essai1/essai2$ []

On peut rentrer depuis le répertoire actuel “essai2” qui contiendra “lili”:

echo bonjour > lili

4) Retour au niveau dans son répertoire personnel en faisant :

cd ~  

À la place de ce long énoncé

On aurait pu créer en une seule commande les deux répertoires “essai1” et “essai2” ainsi

mkdir -p /home/toto/essai1/essai2

puis pour créer le fichier ordinaire “lili”

 echo "bonjour" > /home/toto/essai1/essai2/lili

Questions sur cette base :

Afin d'assimiler les notions de chemin relatif et absolu, je vous propose d'essayer de répondre de vous-mêmes aux questions avant d'aller regarder la réponse.

1) Reformulez l'énoncé au moyen du chemin relatif

En faisant :

mkdir -p ~/essai1/essai2

puis

echo "Bonjour" > ~/essai1/essai2/lili

2) Comment aller directement (sans une succession de cd, puis de cd..) de son répertoire personnel à "lili", puis retourner du répertoire contenant "lili" à son répertoire personnel ?

a) si on connaît où est “lili” : utiliser l'autocomplétion (touche tabulation) :

cd essai1/essai2/
le prompt est maintenant: toto@debian:~/essai1/essai2$ []

b) on a malheureusement oublié dans quel répertoire est rangé “lili” :

* astuce pour que soit indiqué le chemin absolu d'un fichier:

depuis n'importe où (car le programme “locate” n'utilise pas, pour ses recherches, l'arborescence du système de fichiers, mais une base de données, mise à jour régulièrement par le programme “updatedb”) :
 updatedb && locate lili
retour de la commande
/home/toto/essai1/essai2/lili

Puis du répertoire contenant “lili” à mon répertoire personnel ?

toto@debian:~$ cd essai1/essai2/
toto@debian:~/essai1/essai2$ cd ~ 

3) Corriger la faute d'orthographe sur "bonjour" en écrasant "lili", depuis son home ?

Pour ce faire utiliser la commande echo.

 echo "texte à écrire dans un fichier" > /chemin-absolu-du-fichier-à-créer/nom-du-fichier-créé
On est au niveau de son répertoire personnel
le prompt est
toto@debian:~$ []
echo Bonjour > ~/essai1/essai2/lili

4) Trouvez deux façons d'écrire le chemin relatif de la commande ci-dessus ?

cd /home/toto/essaie1/essai2

cd ~/essaie1/essai2
./essaie1/essai2

Écritures équivalentes d'une commande

1) Pour aller du home à la racine avec cd puis avec l'usage des points ?

cd /

puis

pwd
retour de cette commande
/
Et le prompt !
toto@debian:/$ []

ou encore

cd ../..
pwd
retour de cette commande
/

2) Retourner dans son home depuis la racine à l'aide du tilde ?

cd ~

ou

cd ~
le prompt !
toto@debian:~$ []

3) Utiliser le point avec une autre commande que cd :

Depuis son home : copier de trois façons différentes “lili” dans le fichier de type répertoires nommé « essai1 » ?

en absolu :

cp  /home/toto/essai1/essai2/lili /home/toto/essai1/lili

en relatif (depuis n'importe où) :

cp ~/essai1/essai2/lili ~/essai1/lili

en relatif (depuis son répertoire personnel) :

cp ./essai1/essai2/lili ./essai1/lili
1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
Cette distinction parce que sous Linux tout est “fichier”, mais en pratique, on peut dire fichier de type-répertoire pour désigner les fichiers qui peuvent contenir d'autres fichiers ; tandis que fichier-ordinaire renvoie aux fichiers dans lesquels on peut écrire du texte, par exemple. Pour une explication très approfondie de cette différence, voir http://www.linux-france.org/article/dalox/unix02.htm Et bien sûr en tapant “fichier” dans la fenêtre rechercher de la documentation de Debian-facile vous aurez une idée sur les différentes sortes de texte que l'on peut inscrire sur un fichier.
3)
C'est donc un caractère qu'il est interdit d'utiliser pour nommer les documents créés.
doc/programmation/shell/illustration-navigation-shell.1390881719.txt.gz · Dernière modification: 28/01/2014 05:01 par Hypathie

Pied de page des forums

Propulsé par FluxBB