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 [25/01/2014 18:15]
Hypathie [Introduction]
doc:programmation:shell:illustration-navigation-shell [26/01/2014 18:18]
Hypathie [Questions sur cette base :]
Ligne 21: Ligne 21:
 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 :====
-sur répertoires et chemins : [[doc:​programmation:​shell:​repertoires#​chemin-relatif|chemins relatif]] 
  
-sur chemin relatif et absolu ​http://​wiki.debian-facile.org/​doc:​programmation:​shell:​repertoires+sur le shell [[doc:​programmation:​shell:​shell]]
  
-sur système droits:fichiers ​:http://​wiki.debian-facile.org/​doc:systeme:​droits-unix-bis?&​#modification-des-droits+sur répertoires et chemins ​[[doc:programmation:shell:repertoires#chemin-relatif|chemins relatif]]
  
-sur système:commandes:​gnu : http://​wiki.debian-facile.org/​doc:systeme:commandes:gnu_linux+sur chemin relatif et absolu ​[[doc:programmation:shell:repertoires]]
  
-sur la commande cd http://​wiki.debian-facile.org/​doc:programmation:shell:cd?s[/​url][]=chemin&s[]=relatif+sur système droits:fichiers ​[[doc:systeme:droits-unix-bis?&#​modification-des-droits]]
  
-sur le shell http://​wiki.debian-facile.org/​doc:​programmation:​shell:​shell+sur la commande cd [[doc:​programmation:​shell:​cd?​s[/​url][]=chemin&​s[]=relatif]] 
 + 
 +sur système:​commandes:​gnu : [[doc:​systeme:​commandes:​gnu_linux]]
  
 ==== À savoir :==== ==== À savoir :====
  
-**Le répertoire courant** est le répertoire sur lequel on se trouve. +*  ​**Le répertoire courant** est le répertoire sur lequel on se trouve. 
-Ne pas confondre le répertoire avec son **home**. +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 :+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>​ <​code=user>​ toto@debian:​~$ </​code>​
  
-Le **tilde : ~/** est une abréviation qui représente **/​home/​utilisateur/​**+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]]
  
-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 répertoire,​ 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. +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. ​ ))
-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 sortes de texte que l'on peut inscrire sur un fichier. ​;)  ))+
  
 Ainsi on peut écrire : Ainsi on peut écrire :
Ligne 55: Ligne 71:
 <code user>​~$ ​ echo ~ <code user>​~$ ​ echo ~
 /​home/​utilisateur</​code>​ /​home/​utilisateur</​code>​
-Pour le tilde voir [[http://​wiki.debian-facile.org/​doc:​programmation:​shell:​tilde]] +(//Pour aller plus loin, voir// [[doc:​programmation:​shell:​tilde]])
- +
-**Ainsi par exemple :**  +
- +
-en entrant **la commande ls**, on peut observer le contenu de son home. On peut y trouver par exemple le répertoire "​Documents"​ ; +
- +
-Et en faisant cd "​Documents" ​ le **répertoire courant** sera alors le répertoire "​Documents"​.+
  
 ====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 où l'on se trouve. \\
-Et deux points "​**..**"​ indiquent le répertoire parent ​à 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.+**2) Le slash "/"​** représente la racine ​(plus précisément le slash représente la racine dans le prompt, quand on est remonté au dessus de son home ; et il représente aussi la racine pour le premier slash d'un chemin absoluLes autres sont des séparateurs des fichiers de type répertoire)((C'​est donc un caractère qu'il est interdit d'​utiliser pour nommer les documents créés.))
  
 **Ainsi par exemple:** **Ainsi par exemple:**
  
-**cd ..**  : permet de retourner ​à son home (depuis le répertoire "​Documents"​ par exemple **les deux points** signifient remonte au répertoire parent de document)+**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 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ù) à son home car le tilde ~ représente son home+**cd **    : permet de retourner dans son répertoire personnel (sous debian). 
 + 
 +**cd ~**   : permet de retourner (depuis n'​importe où) à son home car le tilde ~ représente son répertoire personnel
  
 **cd /**   : permet de retourner à la racine. **cd /**   : permet de retourner à la racine.
  
-=> **Entrainez-vous en entrant pwd, après avoir rentré 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 !** :)+=> **Entrainez-vous en entrant pwd, après avoir rentré 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 !**
  
 ===== Énoncé des questions ci-dessous ===== ===== Énoncé des questions ci-dessous =====
Ligne 88: Ligne 100:
 le prompt à l'​ouverture du terminal est alors :  le prompt à l'​ouverture du terminal est alors : 
 <​code=user>​ toto@debian:​~$ </​code>​ <​code=user>​ toto@debian:​~$ </​code>​
-Et la réponse du prompt à la commande **pwd** est : +<​code=user>​ toto@debian:~$ pwd </​code>​
-<​code=user>​/home/toto </​code>​+
  
-====Soit la création dans ce répertoire personnel d'un fichier de type répertoire nommé essai1 ​+<file txt retour de la commande pwd>/​home/​toto </​file>​ 
-après la commande ​====+ 
 +<​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>​  
 + 
 + 
 +====Soit la création dans ce répertoire personnel d'un fichier de type répertoire nommé essai1====
 <​code=user>​toto@debian:​~$ mkdir essai1</​code>​ <​code=user>​toto@debian:​~$ mkdir essai1</​code>​
  
Ligne 105: Ligne 120:
 <​code=user>​toto@debian:​~/​essai1$ ​ </​code>​ <​code=user>​toto@debian:​~/​essai1$ ​ </​code>​
  
-après **pwd** le lieu indiqué est bien : \\<​code>/​home/​toto/​essai1</​code>​+après **pwd** le lieu indiqué est bien :  
 + 
 +<​code>/​home/​toto/​essai1</​code>​
  
 __2) Pour créer un fichier de type répertoire « essai2 »__ __2) Pour créer un fichier de type répertoire « essai2 »__
Ligne 116: Ligne 133:
 echo bonjour > lili </​code>​ echo bonjour > lili </​code>​
  
-__4) Retour au niveau ​de home en faisant :__+__4) Retour au niveau ​dans son répertoire personnel ​en faisant :__
  
 <​code=user>​ toto@debian:​~/​essai1/​essai2 ​ cd ~  </​code>​ <​code=user>​ toto@debian:​~/​essai1/​essai2 ​ 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>​hypathie@debian:​~$ mkdir -p /​home/​hypathie/​essai1/​essai2</​code>​
 +
 +puis pour créer le fichier ordinaire "​lili"​
 +
 +<​code=user>​hypathie@debian:​~$ echo "​Bonjour"​ > /​home/​hypathie/​essai1/​essai2/​lili</​code>​
 +
 +
 ===== Questions sur cette base : ===== ===== Questions sur cette base : =====
  
-//Afin d'​assimiler ​la notion ​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.//+//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) Comment se passer d'une succession de cd (dans un sens) ou de cd .. (dans l'autre sens) ?**+====1) Reformulez ​l'énoncé au moyen du chemin relatif====
  
-Pour aller directement du répertoire parent de "​lili"​ à mon home  +En faisant ​
-<​code=user>​  +
-/​home/​toto/​essai1/​essai2/​lili +
-toto@debian:​~/​essai1/​essai2$ ​ cd ~ </​code>​+
  
-**Puis ​du répertoire ​parent de "​lili"​ à mon home ?**+<​code=user>​hypathie@debian:​~$ mkdir -p ~/​essai1/​essai2</​code>​ 
 + 
 +puis 
 + 
 +<​code=user>​hypathie@debian:​~$ 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) :__ __a) si on connaît où est "​lili"​ : utiliser l'​autocomplétion (touche tabulation) :__
 <​code=user>​ <​code=user>​
 toto@debian:​~$ cd essai1/​essai2/​ toto@debian:​~$ cd essai1/​essai2/​
-toto@debian:​~$ cd essai1/​essai2$ ​+toto@debian:​~/essai1/​essai2$ ​
 </​code>​ </​code>​
  
 __b) on a malheureusement oublié dans quel répertoire est rangé "​lili"​ :__ __b) on a malheureusement oublié dans quel répertoire est rangé "​lili"​ :__
    
-*** __astuce :__** +*** __astuce ​pour que soit  indiqué le chemin absolu d'un fichier:__** 
-<​note>​depuis n'​importe où (car update ne cherche ​pas au sein de l'​arborescence  +<​note>​depuis n'​importe où (car le programme "​locate"​ n'​utilise ​pas, pour ses recherches, ​l'​arborescence ​du système de fichiers, ​ 
-mais dans une base de données) : +mais une base de données, mise à jour régulièrement par le programme "​updatedb"​) :
-<​code=root>​ :~$ updatedb db && locate essai2 +
-/​home/​toto/​essai1/​essai2 +
-/​home/​toto/​essai1/​essai2</​code>​ </​note>​+
  
-//(voir plus bas pour trouver « lili » dans l'​arborescence au moyen de find)//+<​code=root>​ :~$ updatedb && locate lili 
 +/home/toto/essai1/​essai2/​lili 
 + </note>
  
-**2) Corriger la faute d'​orthographe sur "​bonjour"​ en écrasant "​lili", ​par un dossier "​lili"​ dans lequel il est écrit cette fois "​Bonjour",​ et cela non pas depuis le répertoire parent, mais depuis son home ?**+ 
 +**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>​
  
 <​code=user>​ <​code=user>​
Ligne 155: Ligne 193:
 </​code>​ </​code>​
  
-**Autre symbole lié à la notion de relativité des chemins : le point "​."​ ** +==== 4) Trouvez deux façons d'​écrire ​le chemin relatif ​de la commande ci-dessus ? ==== 
-Rappel : le point représente le répertoire où l'on se trouve : +<​code=>​ 
- +cd /home/​toto/​essaie1/​essai2 
-**Donner les commandes équivalentes,​ en chemin relatif ​et absolu :** +</​code>​
- +
-Depuis son home, aller avec cd au niveau du répertoire parent de "​lili"​ qui est+
  
 +=>
 <​code=>​ <​code=>​
-/home/toto/​essaie1/​essai2+cd ~/​essaie1/​essai2
 </​code>​ </​code>​
- 
-ou 
  
 <​code>​ <​code>​
Ligne 172: Ligne 207:
 </​code>​ </​code>​
  
-**3)Quel est l'équivalent de : ** +===== Écritures équivalentes d'une commande ​ ====
-<code=user> +==== 1) Pour aller du home à la racine avec cd puis avec l'​usage des points ?====
-toto@debian:​~$ ​ cd essai1/​essai2/​ +
-/home/​toto/​essai1/​essai2 +
-</​code>​+
  
-=>  
 <​code=user>​ <​code=user>​
-toto@debian:​~$ ​ ./essai1/​essai2+toto@debian:​~$ ​cd / 
-/home/toto/essai1/​essai2+toto@debian:​/$ pwd 
 +/ 
 +toto@debian:/
 </​code>​ </​code>​
- 
-**4) Trouver deux commandes équivalentes pour aller du home à la racine : 
-Depuis mon home et avec cd et l'​usage du point ?** 
  
 <​code=user>​ <​code=user>​
-toto@debian:​~$ cd ..+toto@debian:​~$ cd ../..
 toto@debian:/​home$ pwd toto@debian:/​home$ pwd
-/home 
-toto@debian:/​home$ 
-</​code>​ 
-  
-**Avec cd sans le point ?** 
-<​code=user>​] 
-toto@debian:​~$ cd / 
-toto@debian:/​$ pwd 
 / /
 +toto@debian:/​$
 </​code>​ </​code>​
- +  
-**3)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>​
Ligne 208: Ligne 231:
 </​code>​ </​code>​
  
-**4)Utiliser le point dans d'​autres commandes ​que cd :** +==== 3) Utiliser le point une autre commande ​que cd :====
- +
-ainsi : +
-<​code>​ +
-:/$  cd /​home/​toto/​essai1/​essai2 +
-ou +
-:/$ cd ~/​essai1/​essai2 +
-</​code>​ +
- +
-Ce qui donne : +
-<​code>​~/​essai1/​essai2$</​code>​+
  
-équivalent de :+** Depuis son home copier de trois façons différentes "​lili"​ dans le fichier de type répertoires nommé « essai1 » ? **
  
-<​code>:​~/​essai1/​essai2$ pwd +**en absolu ​:**
-/​home/​toto/​essai1/​essai2 </​code>​ +
- +
-**6) "​lili"​ est toujours là : +
- /​home/​toto/​essai1/​essai2 +
-copier "​lili"​ dans le fichier de type répertoires nommé « essai1 » ?** +
- +
-<​code=user>​ +
-toto@debian:​~/​essai1/​essai2$ cp lili ../ +
-</​code>​ +
- +
-//Après avoir effacé la copie de "​lili"​ placée dans essai1 :// +
-**Comment depuis son home copier "​lili" ​ dans essai1 de trois façons différentes ?** +
- +
-__en absolu :__+
  
 <​code=user>​ <​code=user>​
Ligne 242: Ligne 241:
 </​code>​ </​code>​
  
-__en relatif (depuis n'​importe où) :__+**en relatif (depuis n'​importe où) : **
  
 <​code=user>​ <​code=user>​
Ligne 248: Ligne 247:
 </​code>​ </​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 cp ./​essai1/​essai2/​lili ./​essai1/​lili
 </​code>​ </​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