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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

doc:programmation:shell:illustration-navigation-shell [28/01/2014 06:00]
Hypathie [Énoncé des questions ci-dessous]
doc:programmation:shell:illustration-navigation-shell [03/07/2014 00:06]
Ligne 1: Ligne 1:
-====== chemin relatif et absolu illustrés par quelques commandes ====== 
- 
-  * Objet : exercices sur chemin relatif et absolu ​ 
-  * Niveau requis : {{tag>​débutants}} 
-  * Commentaires : //les bases du bash, rappels et exercices //  
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) 
-  * Suivi : {{tag>​à-placer}} - Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]]. 
-    * Création par **Hypathie** 24/01/2014 
-    * Testé par <...> le <...> FIXME 
-  * Commentaires sur le forum : [[http://​forum.debian-facile.org/​viewtopic.php?​id=8313| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
- 
-=== 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 : [[doc:​programmation:​shell:​shell]] 
- 
-sur répertoires et chemins : [[doc:​programmation:​shell:​repertoires#​chemin-relatif|chemins relatif]] 
- 
-sur chemin relatif et absolu : [[doc:​programmation:​shell:​repertoires]] 
- 
-sur système droits:​fichiers : [[doc:​systeme:​droits-unix-bis?&#​modification-des-droits]] 
- 
-sur la commande cd : [[doc:​programmation:​shell:​cd| doc:​programmation shell:cd]] 
- 
-sur système:​commandes:​gnu : [[doc:​systeme:​commandes:​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 : 
-<​code=user>​ toto@debian:​~$ </​code>​ 
- 
-Ici le prompt indique que l'on est au niveau de son home.  
- 
-Mais ici : 
-<​code=user>​ toto@debian:​~/​Documents$ </​code>​ 
-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 ((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. ​ )) 
- 
-Ainsi on peut écrire : 
- 
-en absolu (pour un utilisateur "​toto"​) 
-<​code=user>​ cd /​home/​toto/​Documents</​code>​ 
-ou 
-<​code=user>​ cd ~/Documents </​code>​ 
- 
-<code user>​~$ ​ echo ~ 
-/​home/​utilisateur</​code>​ 
-(//Pour aller plus loin, voir// [[doc:​programmation:​shell:​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)((C'​est donc un caractère qu'il est interdit d'​utiliser pour nommer les documents créés.)) 
- 
-**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 :  
-<​code=user>​ toto@debian:​~$ </​code>​ 
-<​code=user>​ toto@debian:​~$ pwd </​code>​ 
- 
-<file txt retour de la commande pwd>/​home/​toto </​file>​ 
- 
-<​note>​ 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 !** 
-</​note> ​ 
- 
- 
-====Soit la création dans ce répertoire personnel d'un fichier de type répertoire nommé essai1==== 
-<​code=user>​ mkdir essai1</​code>​ 
- 
-==== 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 »__ 
-<​code=user>​cd essai1</​code>​ 
- 
-<​note>​À remarquer : le prompt est alors\\ 
-toto@debian:​~/​essai1$ []</​note>​ 
- 
-après **pwd** le lieu indiqué est bien :  
- 
-<file txt retour de la commande>/​home/​toto/​essai1</​file>​ 
- 
-__2) Pour créer un fichier de type répertoire « essai2 » depuis son répertoire parent ("​essai1"​)__ 
- 
-Entrez alors : 
- <​code=user>​ mkdir essai2</​code>​ 
-<​note>​ Depuis "​essai1"​ on aurait pu créer "​essai2"​ en faisant\\ 
-<code user> cd /​home/​toto/​essai1/​essai2</​code>​ 
-</​note>​ 
- 
-__3) Pour créer le fichier normal "​lili"​ dans le fichier de type répertoire "​essai2"​__\\ 
-(reconnu aussi sous l'​écriture "/​home/​toto/​essai1/​essai2"​ ou "​~/​essai1/​essai2"​) 
-Utilisons la commande **echo** pour y inscrire le mot « bonjour » comme ceci : 
- 
-depuis le répertoire parent « essai1 » du fichier "​lili"​ on peut faire :  
-<​code=user>​cd essai2/</​code>​ 
- 
-depuis le répertoire parent « essai1 » du fichier "​lili"​ on aurait pu faire aussi : 
-<​code=user>​cd /​home/​toto/​essai1/​essai2/</​code>​ 
- 
-<​note>​Remarquez le changement du prompt qui indique le répertoire actuel comme étant "​essai2"​\\ 
-toto@debian:​~/​essai1/​essai2$ [] </​note>​ 
- 
-Pour créer le fichier ordinaire "​lili",​ dans le répertoire "​essai2"​ : 
-<​code>​echo bonjour > lili</​code> ​ 
- 
-<​note>​mais cette fois\\ echo bonjour /​home/​toto/​essai1/​essai2/​lili\\ 
-ne fonctionnerait pas ! \\ 
-Si cette différence entre les commandes cp et écho vous questionne, 
-vous pouvez comparer man cp et man echo.</​note>​ 
- 
-__4) Retour au niveau dans son répertoire personnel en faisant :__ 
- 
-<​code=user>​cd ~  </​code>​ 
- 
-====À la place de ce long énoncé==== 
- 
-On aurait pu créer en une seule commande les deux répertoires "​essai1"​ et "​essai2"​ ainsi 
-<​code=user>​mkdir -p /​home/​toto/​essai1/​essai2</​code>​ 
- 
-puis pour créer le fichier ordinaire "​lili"​ 
- 
-<​code=user>​ echo "​bonjour"​ > /​home/​toto/​essai1/​essai2/​lili</​code>​ 
- 
- 
-===== 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 :  
- 
-<​code=user>​mkdir -p ~/​essai1/​essai2</​code>​ 
- 
-puis 
- 
-<​code=user>​echo "​Bonjour"​ > ~/​essai1/​essai2/​lili</​code>​ 
- 
-====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) :__ 
- 
-<​code=user>​cd essai1/​essai2/</​code>​ 
- 
-<​note>​ le prompt est maintenant: 
-toto@debian:​~/​essai1/​essai2$ []</​note>​ 
- 
- 
-__b) on a malheureusement oublié dans quel répertoire est rangé "​lili"​ :__ 
-  
-*** __astuce pour que soit  indiqué le chemin absolu d'un fichier:​__** 
- 
-<​note>​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"​) : 
- 
-<code root> updatedb && locate lili</​code>​ 
- 
-<file txt retour de la commande>/​home/​toto/​essai1/​essai2/​lili</​file>​ 
-</​note>​ 
- 
- 
-**Puis du répertoire contenant "​lili"​ à mon répertoire personnel ?** 
-<​code=user> ​ 
-toto@debian:​~$ cd essai1/​essai2/​ 
-toto@debian:​~/​essai1/​essai2$ cd ~ </​code>​ 
- 
-==== 3) Corriger la faute d'​orthographe sur "​bonjour"​ en écrasant "​lili",​ depuis son home ? ==== 
-Pour ce faire utiliser la commande echo.  
-<​code>​ echo "texte à écrire dans un fichier"​ > /​chemin-absolu-du-fichier-à-créer/​nom-du-fichier-créé</​code>​ 
- 
-<​note>​ On est au niveau de son répertoire personnel\\ 
-le prompt est \\ 
-toto@debian:​~$ []</​note>​ 
- 
-<​code=user>​ 
-echo Bonjour > ~/​essai1/​essai2/​lili 
-</​code>​ 
- 
-==== 4) Trouvez deux façons d'​écrire le chemin relatif de la commande ci-dessus ? ==== 
-<​code=>​ 
-cd /​home/​toto/​essaie1/​essai2 
-</​code>​ 
- 
-=> 
-<​code=>​ 
-cd ~/​essaie1/​essai2 
-</​code>​ 
- 
-<​code>​ 
-./​essaie1/​essai2 
-</​code>​ 
- 
-===== Écritures équivalentes d'une commande ​ ===== 
-==== 1) Pour aller du home à la racine avec cd puis avec l'​usage des points ?==== 
- 
-<​code=user>​cd /</​code>​ 
-puis 
-<​code=user>​pwd</​code>​ 
-<file txt retour de cette commande>/</​file>​ 
- 
-<​note>​ Et le prompt ! \\ 
-toto@debian:/​$ []</​note>​ 
- 
-ou encore ​ 
-<​code=user>​cd ../​..</​code>​ 
-<​code=user>​pwd</​code>​ 
-<file txt retour de cette commande>/</​file>​ 
- 
-==== 2) Retourner dans son home depuis la racine à l'aide du tilde ? ==== 
- 
-<​code=user>​cd ~</​code>​ 
- 
-ou 
-<​code=user>​cd ~</​code>​ 
- 
-<​note>​le prompt ! \\ 
-toto@debian:​~$ []</​note>​ 
- 
-==== 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 :** 
- 
-<​code=user>​ 
-cp  /​home/​toto/​essai1/​essai2/​lili /​home/​toto/​essai1/​lili 
-</​code>​ 
- 
-**en relatif (depuis n'​importe où) : ** 
- 
-<​code=user>​ 
-cp ~/​essai1/​essai2/​lili ~/​essai1/​lili 
-</​code>​ 
- 
-**en relatif (depuis son répertoire personnel) : ** 
- 
-<​code=user>​ 
-cp ./​essai1/​essai2/​lili ./​essai1/​lili 
-</​code>​ 
- 
- 
  
doc/programmation/shell/illustration-navigation-shell.txt · Dernière modification: 03/07/2014 00:06 (modification externe)

Pied de page des forums

Propulsé par FluxBB