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
Prochaine révision Les deux révisions suivantes
doc:programmation:shell:illustration-navigation-shell [27/01/2014 09:10]
Hypathie [Énoncé des questions ci-dessous]
doc:programmation:shell:illustration-navigation-shell [13/02/2014 19:38]
Hypathie [Introduction] ajout d'une précision sur compte root et compte user
Ligne 1: Ligne 1:
-====== ​chemin ​relatif ​et absolu illustrés par quelques commandes ======+====== ​Chemin ​relatif ​ou absolu illustrés par quelques commandes ======
  
-  * Objet : exercices ​sur chemin ​relatif ​et absolu ​+  * Objet : Exercices ​sur les chemins ​relatif ​ou absolu ​
   * 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 : [[:​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]].+  * Suivi : {{tag>en-chantier}} - Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]].
     * Création par **Hypathie** 24/01/2014     * Création par **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 tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))+  * 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 !))
  
-=== 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 !
Ligne 18: Ligne 18:
 ====Objectifs ==== ====Objectifs ====
  
-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 :==== ==== À voir :====
Ligne 30: Ligne 30:
 sur système droits:​fichiers : [[doc:​systeme:​droits-unix-bis?&#​modification-des-droits]] sur système droits:​fichiers : [[doc:​systeme:​droits-unix-bis?&#​modification-des-droits]]
  
-sur la commande cd : [[doc:​programmation:​shell:​cd?​s[/​url][]=chemin&​s[]=relatif]]+sur la commande cd : [[doc:​programmation:​shell:​cd| doc:​programmation shell:cd]]
  
 sur système:​commandes:​gnu : [[doc:​systeme:​commandes:​gnu_linux]] sur système:​commandes:​gnu : [[doc:​systeme:​commandes:​gnu_linux]]
Ligne 36: Ligne 36:
 ==== À savoir :==== ==== À savoir :====
  
-*  **Le répertoire courant** est le répertoire ​sur lequel on se trouve. +*  **Le répertoire courant** est le répertoire ​dans lequel on se trouve. ​\\ 
-Ne pas confondre le répertoire courant avec son **home**. +Attention à la confusion entraînée par l'​utilisation de l'​expression "son home", préférerez plutôt "**son répertoire personnel**"\\ 
-Ainsi il faut savoir que lorsqu'​on ouvre son terminal, le prompt indique que l'on se trouve au niveau ​de son homequi peut être considéré comme un répertoire courant ​tant qu'on ne s'est pas déplacé dans l'arborescence ​de fichiers ​:+l'ouverture d'une session ​de terminalle répertoire courant est notre répertoire personnel, \\ 
 +comme nous l'indique le prompt ​de l'​utilisateur ''​toto''​ ci-dessous:
 <​code=user>​ toto@debian:​~$ </​code>​ <​code=user>​ toto@debian:​~$ </​code>​
- 
-Ici le prompt indique que l'on est au niveau de son home.  
  
 Mais ici : Mais ici :
 <​code=user>​ toto@debian:​~/​Documents$ </​code>​ <​code=user>​ toto@debian:​~/​Documents$ </​code>​
-le prompt indique que le répertoire courant est le fichier de type répertoire ​nommé ​"​Documents"​ :+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" :
  
 **Ainsi par exemple :**  **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"​.+=> 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 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"​.+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"​.
  
  
  
-*   **Le tilde : ~/** est une abréviation ​qui représente ​**/home/utilisateur/​**+*   **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**
  
-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.+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.
 Pour une explication très approfondie de cette différence,​ voir [[http://​www.linux-france.org/​article/​dalox/​unix02.htm]] 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. ​ ))+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 :+L'​utilisateur ''​toto'' ​peut ainsi écrire :
  
-en absolu (pour un utilisateur "​toto"​) +en utilisant un chemin ​absolu (pour un utilisateur "​toto"​) 
-<​code=user>​ cd /home/toto/Document</​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 ~
-/home/utilisateur</​code>​+/home/toto</​code>​
 (//Pour aller plus loin, voir// [[doc:​programmation:​shell:​tilde]]) (//Pour aller plus loin, voir// [[doc:​programmation:​shell:​tilde]])
  
 ====Autres précisions :==== ====Autres précisions :====
  
-**1) Le point "​."​** représente le répertoire où l'on se trouve. \\ +**1) Le point "​."​** représente le répertoire ​courant (où l'on se trouve). \\ 
-Et deux points "​**..**"​ indiquent le répertoire parent de celui dans lequel 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.))+**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 ​dans les noms de fichiers de tout type (normaux, répertoires,​ de périphériques.))
  
 **Ainsi par exemple:** **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 retourner ​dans le répertoire parent ​du répertoire courant ou actuel (depuis le répertoire "​Documents"​ par exemple **les deux points** signifient remonte au répertoire parent ​du répertoire "​Documents"​)
  
 **cd .**   : permet de rester dans le répertoire courant ( **le point** indiquera le répertoire où l'on se trouve) **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 **  et ** cd ~ ** permettent ​de retourner ​dans son répertoire personnel, ​depuis n'​importe ​quel répertoire
 +             le tilde ''​~''​ étant interprété comme le chemin du répertoire personnel de l'​utilisateur). 
  
-**cd ~**   : permet ​de même de retourner (depuis n'importe où)au niveau de son répertoire personnel +**cd /**   : permet ​d'aller à la racine ​du système de fichier.
-             ( car le tilde ~ représente son répertoire personnel).  +
- +
-**cd /**   : permet de retourner ​à la racine.+
  
 +<​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 124: Ligne 129:
 <file txt retour de la commande>/​home/​toto/​essai1</​file>​ <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__+__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\\
 +<code user> cd /​home/​toto/​essai1/​essai2</​code>​
 +</​note>​
  
-__3) Pour créer le fichier normal "​lili"​ dans /​home/​toto/​essai1/​essai2 +__3) Pour créer le fichier normal "​lili"​ dans le fichier de type répertoire "​essai2"​__\\ 
-au moyen de la commande **echo** pour y inscrire le mot « bonjour » : +(reconnu aussi sous l'​écriture "/​home/​toto/​essai1/​essai2" ou "​~/​essai1/​essai2"​) 
-depuis le répertoire parent « essai2 ​» du fichier "​lili"​ :__  +Utilisons ​la commande **echo** pour y inscrire le mot « bonjour » comme ceci : 
-<​code=user>​  + 
- cd /​home/​toto/​essai1/​essai2/</​code>​ +depuis le répertoire parent « essai1 ​» du fichier "​lili" ​on peut faire :  
-<​note>​Remarquez le changement du prompt qui indique le répertoire actuel\\+<​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>​ toto@debian:​~/​essai1/​essai2$ [] </​note>​
-On peut rentrer depuis ​le répertoire ​actuel ​"​essai2" ​qui contiendra ​"lili":+ 
 +Pour créer le fichier ordinaire "​lili",​ dans le répertoire "​essai2" ​:\\ 
 +<​note>​ utilisez la commande echo selon la syntaxe suivante\\ 
 +(avec ou sans les guillemets sur le mot "bonjour"\\ 
 +<​code>​ echo "texte à écrire dans un fichier"​ > /​chemin-absolu-du-fichier-à-créer/​nom-du-fichier-créé</​code>​ 
 +</​note>​ 
 <​code>​echo bonjour > lili</​code> ​ <​code>​echo bonjour > lili</​code> ​
  
 +Ou encore ​
 +<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 :__
Ligne 162: Ligne 183:
 En faisant :  En faisant : 
  
-<​code=user>​hypathie@debian:​~$ ​mkdir -p ~/​essai1/​essai2</​code>​+<​code=user>​mkdir -p ~/​essai1/​essai2</​code>​
  
 puis puis
  
-<​code=user>​hypathie@debian:​~$ ​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>​ + 
-toto@debian:​~$ ​cd essai1/​essai2/​ +<​code=user>​cd essai1/​essai2/​</​code>​ 
-toto@debian:​~/​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"​ :__ __b) on a malheureusement oublié dans quel répertoire est rangé "​lili"​ :__
Ligne 183: Ligne 206:
 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 && locate lili</​code>​ 
 <file txt retour de la commande>/​home/​toto/​essai1/​essai2/​lili</​file>​ <file txt retour de la commande>/​home/​toto/​essai1/​essai2/​lili</​file>​
 </​note>​ </​note>​
Ligne 195: Ligne 219:
 ==== 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. 
-<codeecho "texte à écrire dans un fichier"​ > /​chemin-absolu-du-fichier-à-créer/​nom-du-fichier-créé</code>+ 
 +<noteOn est au niveau de son répertoire personnel\\ 
 +le prompt est \\ 
 +toto@debian:​~$ []</note>
  
 <​code=user>​ <​code=user>​
-toto@debian:​~$ ​echo Bonjour > ~/​essai1/​essai2/​lili+echo Bonjour > ~/​essai1/​essai2/​lili
 </​code>​ </​code>​
  
Ligne 218: Ligne 245:
 ==== 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>​ +<​code=user>​cd /</code> 
-toto@debian:​~$ ​cd / +puis 
-toto@debian:​/pwd +<​code=user>​pwd</​code>​ 
-+<file txt retour de cette commande>/<​/file> 
-toto@debian:/​$  + 
-</​code>​+<​note>​ Et le prompt ! \\ 
 +toto@debian:/​$ ​[]</​note>​ 
 + 
 +ou encore ​ 
 +<​code=user>​cd ../..</code
 +<​code=user>​pwd</​code>​ 
 +<file txt retour de cette commande>/</​file>
  
-<​code=user>​ 
-toto@debian:​~$ cd ../.. 
-toto@debian:/​home$ pwd 
-/ 
-toto@debian:/​$ 
-</​code>​ 
-  
 ==== 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>​ +<​code=user>​cd ~</code> 
-toto@debian:​/cd ~ + 
-toto@debian:​~$ ​ +ou 
-</code>+<​code=user>​cd ~</​code>​ 
 + 
 +<​note>​le prompt ! \\ 
 +toto@debian:​~$ ​[]</note>
  
-==== 3) Utiliser le point une autre commande que cd :====+==== 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 » ? ** ** Depuis son home : copier de trois façons différentes "​lili"​ dans le fichier de type répertoires nommé « essai1 » ? **
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