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

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:programmation:shell:illustration-navigation-shell [28/01/2014 07:01]
MicP [Introduction]
doc:programmation:shell:illustration-navigation-shell [03/07/2014 00:06] (Version actuelle)
Ligne 4: Ligne 4:
   * Niveau requis : {{tag>​débutants}}   * Niveau requis : {{tag>​débutants}}
   * Commentaires : //les bases du bash, rappels et exercices //    * 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à !.]] :-) +  * Débutant, à savoir : 
-  Suivi {{tag>​à-placer}} - Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'​Atelier]]. +    * [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) 
-    * Création par **Hypathie** 24/01/2014+    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 les différentes commandes : [[doc:​systeme:​commandes:​gnu_linux]] 
 +  ​Suivi : {{tag>​}} 
 +    * Création par [[user>​Hypathie]] ​24/01/2014
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
-  * Commentaires sur le forum : [[http://forum.debian-facile.org/​viewtopic.php?​id=8313| Lien vers le forum concernant ce tutoial]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))+  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=8313| Lien vers le forum concernant ce tutoial]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-=== Nota ===+**Nota :**
  
 Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
 +
  
 ===== Introduction ===== ===== Introduction =====
Ligne 20: Ligne 28:
 S'​exercer sur quelques commandes en vue d'​assimiler les notions de **chemin relatif** et de **chemin absolu**.\\ 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. Ou se servir de différentes expressions syntaxiques pour écrire des commandes équivalentes.
-==== À voir :==== 
  
-sur le shell : [[doc:​programmation:​shell:​shell]]+==== À savoir ====
  
-sur répertoires et chemins : [[doc:​programmation:​shell:​repertoires#​chemin-relatif|chemins relatif]] +  ​*  **Le répertoire courant** est le répertoire dans lequel on se trouve. \\ 
- +  ​* ​Attention à la confusion entraînée par l'​utilisation de l'​expression "son home", préférerez plutôt "**son répertoire personnel**"​. \\ 
-sur chemin relatif et absolu : [[doc:​programmation:​shell:​repertoires]] +  * À l'​ouverture d'une session de terminal, le répertoire courant est notre répertoire personnel, \\
- +
-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 dans lequel on se trouve. \\ +
-Attention à la confusion entraînée par l'​utilisation de l'​expression "son home", préférerez plutôt "**son répertoire personnel**"​. \\ +
-l'​ouverture d'une session de terminal, le répertoire courant est notre répertoire personnel, \\+
 comme nous l'​indique le prompt de l'​utilisateur ''​toto''​ ci-dessous: comme nous l'​indique le prompt de l'​utilisateur ''​toto''​ ci-dessous:
-<code=user> toto@debian:​~$ </​code>​+<​code>​toto@debian:​~$</​code>​
  
 Mais ici : Mais ici :
-<code=user> toto@debian:​~/​Documents$ </​code>​+<​code>​toto@debian:​~/​Documents$</​code>​
 le prompt indique que le répertoire courant est le fichier de type répertoire "​Documents"​ situé dans le répertoire personnel de l'​utilisateur "​toto"​ : le prompt indique que le répertoire courant est le fichier de type répertoire "​Documents"​ situé dans le répertoire personnel de l'​utilisateur "​toto"​ :
  
Ligne 50: Ligne 45:
 => Après l'​ouverture du terminal entrez la commande **ls** puis validez votre commande en tapant sur la touche "​entrée"​ : vous obtiendrez la liste des fichiers contenus dans votre répertoire personnel. => Après l'​ouverture du terminal entrez la commande **ls** puis validez votre commande en tapant sur la touche "​entrée"​ : vous obtiendrez la liste des fichiers contenus dans votre répertoire personnel.
  
-Puis en entrant: cd "​Documents" ​(sans les guillemets sur Documents) ​et en validant votre saisie par la touche "​entrée", ​ le **répertoire courant** sera alors le répertoire "​Documents"​. +Puis en entrant: ​''​cd "​Documents"​'' ​et en validant votre saisie par la touche "​entrée",​ le **répertoire courant** sera alors le répertoire "​Documents"​.
- +
  
-*   **Le tilde : ~/** est une variable de l'​interpréteur de commande **bas** qui sera interprété,​ s'il n'est pas entouré de guillemets ou d'​apostrophes,​ comme le répertoire personnel de l'​utilisateur qui a lancé la commande. Ainsi, par exemple, l'​utilisateur ''​toto''​ pourra utiliser le caractère tilde dans une ligne de commande en remplacement du chemin absolu de son répertoire personnel : **/​home/​toto**+*   **Le tilde : ~/** est une variable de l'​interpréteur de commande **bash** qui sera interprété,​ s'il n'est pas entouré de guillemets ou d'​apostrophes,​ comme le répertoire personnel de l'​utilisateur qui a lancé la commande. Ainsi, par exemple, l'​utilisateur ''​toto''​ pourra utiliser le caractère tilde dans une ligne de commande en remplacement du chemin absolu de son répertoire personnel : **/​home/​toto**
  
 Il permet donc d'​écrire dans les commandes le chemin relatif à son répertoire personnel 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. Il permet donc d'​écrire dans les commandes le chemin relatif à son répertoire personnel 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.
Ligne 64: Ligne 57:
  
 en utilisant un chemin absolu (pour un utilisateur "​toto"​) en utilisant un chemin absolu (pour un utilisateur "​toto"​)
-<code=user> cd /​home/​toto/​Documents</​code>​+<code user>cd /​home/​toto/​Documents</​code>​
 ou ou
-<code=user> cd ~/Documents </​code>​+<code user> cd ~/​Documents</​code>​
  
-<code user>~$  ​echo ~ +<code user>​echo ~</​code>​ 
-/​home/​toto</​code>​+<​code>​/​home/​toto</​code>​
 (//Pour aller plus loin, voir// [[doc:​programmation:​shell:​tilde]]) (//Pour aller plus loin, voir// [[doc:​programmation:​shell:​tilde]])
  
Ligne 90: Ligne 83:
 **cd /**   : permet d'​aller à la racine du système de fichier. **cd /**   : permet d'​aller à la racine du système de fichier.
  
 +<​note>​Si l'on lance une commande en root, le chemin relatif du répertoire personnel de l'​utilisateur toto (représenté par ~) ne fonctionnera pas. Il faudra alors utiliser le chemin absolu.\\
 +Et cela, parce que le répertoire "​Documents"​ fait partie du compte de l'​utilisateur toto, mais ne fait pas partie au compte root.\\
 +Ainsi par exemple, pour déplacer un fichier-ordinaire du fichier-répertoire "​Bureau" ​
 +au fichier-répertoire "​Documents",​ la commande suivante fonctionnera :
 +<code root>mv /​home/​toto/​Bureau/​fichier-ordinaire /​home/​toto/​Documents/​fichier-ordinaire</​code>​
 +Et la commande suivante ne fonctionnera pas en root, mais seulement en user:
 +<code user> mv ~/​Bureau/​fichier-ordinaire ~/​Documents/​fichier-ordinaire</​code>​
 +</​note>​
  
 ===== Énoncé des questions ci-dessous ===== ===== Énoncé des questions ci-dessous =====
Ligne 95: Ligne 96:
  
 le prompt à l'​ouverture du terminal est alors :  le prompt à l'​ouverture du terminal est alors : 
-<code=user> toto@debian:​~$ </​code>​ +<​code>​ toto@debian:​~$ </​code>​ 
-<code=user> ​toto@debian:​~$ ​pwd </​code>​ +<code user>pwd </​code>​ 
- +<code>/​home/​toto</​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é.\\ ​ <​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é.\\ ​
Ligne 106: Ligne 106:
  
 ====Soit la création dans ce répertoire personnel d'un fichier de type répertoire nommé essai1==== ====Soit la création dans ce répertoire personnel d'un fichier de type répertoire nommé essai1====
-<code=user> mkdir essai1</​code>​+<code user> mkdir essai1</​code>​
  
 ==== Soit la création d'un autre fichier de type répertoire nommé « essai2 » ==== ==== Soit la création d'un autre fichier de type répertoire nommé « essai2 » ====
Ligne 112: Ligne 112:
  
 __1) pour avancer dans l'​arborescence et créer « essai2 » dans « essai1 »__ __1) pour avancer dans l'​arborescence et créer « essai2 » dans « essai1 »__
-<code=user>cd essai1</​code>​+<code user>cd essai1</​code>​
  
 <​note>​À remarquer : le prompt est alors\\ <​note>​À remarquer : le prompt est alors\\
-toto@debian:​~/​essai1$ ​[]</​note>​+<​code>​toto@debian:​~/​essai1$</​code>​</​note>​
  
 après **pwd** le lieu indiqué est bien :  après **pwd** le lieu indiqué est bien : 
  
-<​file ​txt retour de la commande>/​home/​toto/​essai1</​file>​+<​file>/​home/​toto/​essai1</​file>​
  
 __2) Pour créer un fichier de type répertoire « essai2 » depuis son répertoire parent ("​essai1"​)__ __2) Pour créer un fichier de type répertoire « essai2 » depuis son répertoire parent ("​essai1"​)__
  
 Entrez alors : Entrez alors :
- <code=user> mkdir essai2</​code>​+<code user>​mkdir essai2</​code>​
 <​note>​ Depuis "​essai1"​ on aurait pu créer "​essai2"​ en faisant\\ <​note>​ Depuis "​essai1"​ on aurait pu créer "​essai2"​ en faisant\\
-<code user> ​cd /​home/​toto/​essai1/​essai2</​code>​+<code user>mkdir /​home/​toto/​essai1/​essai2</​code>​
 </​note>​ </​note>​
  
Ligne 134: Ligne 134:
  
 depuis le répertoire parent « essai1 » du fichier "​lili"​ on peut faire :  depuis le répertoire parent « essai1 » du fichier "​lili"​ on peut faire : 
-<code=user>cd essai2/</​code>​+<code user>cd essai2/</​code>​
  
 depuis le répertoire parent « essai1 » du fichier "​lili"​ on aurait pu faire aussi : depuis le répertoire parent « essai1 » du fichier "​lili"​ on aurait pu faire aussi :
-<code=user>cd /​home/​toto/​essai1/​essai2/</​code>​+<code user>cd /​home/​toto/​essai1/​essai2/</​code>​
  
 <​note>​Remarquez le changement du prompt qui indique le répertoire actuel comme étant "​essai2"​\\ <​note>​Remarquez le changement du prompt qui indique le répertoire actuel comme étant "​essai2"​\\
-toto@debian:​~/​essai1/​essai2$ ​[] </​note>​+<​code>​toto@debian:​~/​essai1/​essai2$</​code> ​</​note>​
  
-Pour créer le fichier ordinaire "​lili",​ dans le répertoire "​essai2"​ : +Pour créer le fichier ordinaire "​lili",​ dans le répertoire "​essai2"​ :\\ 
-<​code>​echo bonjour > lili</​code> ​+<​note>​ utilisez la commande echo selon la syntaxe suivante\\ 
 +(avec ou sans les guillemets sur le mot "​bonjour"​) : \\ 
 +<code user> echo "texte à écrire dans un fichier"​ > /​chemin-absolu-du-fichier-à-créer/​nom-du-fichier-créé</​code>​ 
 +On notera que le texte peut contenir des retours à la ligne, il doit alors impérativement être entouré de guillemets. 
 +</​note>​ 
 + 
 +<​code ​user>echo bonjour > lili</​code> ​
  
-<note>mais cette fois\\ ​echo bonjour /home/toto/​essai1/​essai2/​lili\\ +Ou encore  
-ne fonctionnerait pas ! \\</note>+<code user>echo bonjour ​/home/hypathie/​essai1/​essai2/​lili</​code>
  
 __4) Retour au niveau dans son répertoire personnel en faisant :__ __4) Retour au niveau dans son répertoire personnel en faisant :__
  
-<code=user>cd ~  </​code>​+<code user>cd ~  </​code>​
  
 ====À la place de ce long énoncé==== ====À la place de ce long énoncé====
  
 On aurait pu créer en une seule commande les deux répertoires "​essai1"​ et "​essai2"​ ainsi 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>​+<code user>​mkdir -p /​home/​toto/​essai1/​essai2</​code>​
  
 puis pour créer le fichier ordinaire "​lili"​ puis pour créer le fichier ordinaire "​lili"​
  
-<code=user> echo "​bonjour"​ > /​home/​toto/​essai1/​essai2/​lili</​code>​+<code user>​echo "​bonjour"​ > /​home/​toto/​essai1/​essai2/​lili</​code>​
  
  
Ligne 170: Ligne 176:
 En faisant :  En faisant : 
  
-<code=user>​mkdir -p ~/​essai1/​essai2</​code>​+<code user>​mkdir -p ~/​essai1/​essai2</​code>​
  
 puis puis
  
-<code=user>​echo "​Bonjour"​ > ~/​essai1/​essai2/​lili</​code>​+<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 ?====+====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) :__ __a) si on connaît où est "​lili"​ : utiliser l'​autocomplétion (touche tabulation) :__
  
-<code=user>cd essai1/​essai2/</​code>​+<code user>cd essai1/​essai2/</​code>​
  
 <​note>​ le prompt est maintenant: <​note>​ le prompt est maintenant:
-toto@debian:​~/​essai1/​essai2$ ​[]</​note>​+<​code>​toto@debian:​~/​essai1/​essai2$</​code>​</​note>​
  
  
Ligne 193: Ligne 199:
 mais une base de données, mise à jour régulièrement par le programme "​updatedb"​) : mais une base de données, mise à jour régulièrement par le programme "​updatedb"​) :
  
-<code root> updatedb ​&& ​locate lili</​code>​+<code root>​updatedb</​code>​ 
 +<code user>locate lili</​code>​
  
-<​file ​txt retour de la commande>/​home/​toto/​essai1/​essai2/​lili</​file>​+<​file>/​home/​toto/​essai1/​essai2/​lili</​file>​
 </​note>​ </​note>​
  
  
 **Puis du répertoire contenant "​lili"​ à mon répertoire personnel ?** **Puis du répertoire contenant "​lili"​ à mon répertoire personnel ?**
-<code=user +<​code>​toto@debian:​~$ cd essai1/​essai2/​ 
-toto@debian:​~$ cd essai1/​essai2/​ +toto@debian:​~/​essai1/​essai2$ cd ~ 
-toto@debian:​~/​essai1/​essai2$ cd ~ </​code>​+toto@debian:​~$</​code>​
  
 ==== 3) Corriger la faute d'​orthographe sur "​bonjour"​ en écrasant "​lili",​ depuis son home ? ==== ==== 3) Corriger la faute d'​orthographe sur "​bonjour"​ en écrasant "​lili",​ depuis son home ? ====
 Pour ce faire utiliser la commande echo.  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\\ <​note>​ On est au niveau de son répertoire personnel\\
 le prompt est \\ le prompt est \\
-toto@debian:​~$ ​[]</​note>​+<​code>​toto@debian:​~$ ​</​code>​</​note>​
  
-<code=user> +<code user>​echo Bonjour > ~/​essai1/​essai2/​lili
-echo Bonjour > ~/​essai1/​essai2/​lili+
 </​code>​ </​code>​
  
 ==== 4) Trouvez deux façons d'​écrire le chemin relatif de la commande ci-dessus ? ==== ==== 4) Trouvez deux façons d'​écrire le chemin relatif de la commande ci-dessus ? ====
-<code=> +<​code ​user>cd /​home/​toto/​essaie1/​essai2</​code>​
-cd /​home/​toto/​essaie1/​essai2 +
-</​code>​+
  
 => =>
-<code=> +<​code>​cd ~/​essaie1/​essai2</​code>​
-cd ~/​essaie1/​essai2 +
-</​code>​+
  
-<​code>​ +<​code ​user>cd ./​essaie1/​essai2</​code>​
-./​essaie1/​essai2 +
-</​code>​+
  
 ===== Écritures équivalentes d'une commande ​ ===== ===== Écritures équivalentes d'une commande ​ =====
 ==== 1) Pour aller du home à la racine avec cd puis avec l'​usage des points ?==== ==== 1) Pour aller du home à la racine avec cd puis avec l'​usage des points ?====
  
-<code=user>cd /</​code>​+<code user>cd /</​code>​
 puis puis
-<code=user>​pwd</​code>​ +<code user>​pwd</​code>​ 
-<​file ​txt retour de cette commande>/</​file>​+<​file>/</​file>​
  
 <​note>​ Et le prompt ! \\ <​note>​ Et le prompt ! \\
-toto@debian:/​$ ​[]</​note>​+<​code>​toto@debian:/​$</​code>​</​note>​
  
 ou encore ​ ou encore ​
-<code=user>cd ../​..</​code>​ +<code user>cd ../​..</​code>​ 
-<code=user>​pwd</​code>​ +<code user>​pwd</​code>​ 
-<​file ​txt retour de cette commande>/</​file>​+<​file>/</​file>​
  
 ==== 2) Retourner dans son home depuis la racine à l'aide du tilde ? ==== ==== 2) Retourner dans son home depuis la racine à l'aide du tilde ? ====
  
-<code=user>cd ~</​code>​+<code user>cd ~</​code>​
  
 ou ou
-<code=user>cd ~</​code>​+<code user>cd ~</​code>​
  
 <​note>​le prompt ! \\ <​note>​le prompt ! \\
-toto@debian:​~$ ​[]</​note>​+<​code>​toto@debian:​~$</​code>​</​note>​
  
 ==== 3) Utiliser le point avec une autre commande que cd :==== ==== 3) Utiliser le point avec une autre commande que cd :====
Ligne 262: Ligne 261:
 **en absolu :** **en absolu :**
  
-<code=user> +<code user>​cp ​ /​home/​toto/​essai1/​essai2/​lili /​home/​toto/​essai1/​lili
-cp  /​home/​toto/​essai1/​essai2/​lili /​home/​toto/​essai1/​lili+
 </​code>​ </​code>​
  
 **en relatif (depuis n'​importe où) : ** **en relatif (depuis n'​importe où) : **
  
-<code=user> +<code user>cp ~/​essai1/​essai2/​lili ~/​essai1/​lili</​code>​
-cp ~/​essai1/​essai2/​lili ~/​essai1/​lili +
-</​code>​+
  
 **en relatif (depuis son répertoire personnel) : ** **en relatif (depuis son répertoire personnel) : **
  
-<code=user> +<code user>cp ./​essai1/​essai2/​lili ./​essai1/​lili</​code>​
-cp ./​essai1/​essai2/​lili ./​essai1/​lili +
-</​code>​+
  
  
  
doc/programmation/shell/illustration-navigation-shell.1390888886.txt.gz · Dernière modification: 28/01/2014 07:01 par MicP

Pied de page des forums

Propulsé par FluxBB