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 →
Ci-dessous, les différences entre deux révisions de la page.
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:46] Hypathie [Énoncé des questions ci-dessous] |
doc:programmation:shell:illustration-navigation-shell [26/01/2014 17:08] 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 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. | + | 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.]] | 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. ;) )) | + | 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 : | Ainsi on peut écrire : | ||
Ligne 55: | Ligne 70: | ||
<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 absolu. Les 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:** | ||
Ligne 80: | Ligne 89: | ||
**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 128: | Ligne 137: | ||
<code=user>hypathie@debian:~$ echo "Bonjour" > /home/hypathie/essai1/essai2/lili</code> | <code=user>hypathie@debian:~$ echo "Bonjour" > /home/hypathie/essai1/essai2/lili</code> | ||
- | => **ou aussi en tenant compte de ce qu'on sait sur l'usage du chemin relatif** | + | |
+ | ===== 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.// | ||
+ | |||
+ | ====1) Reformulez l'énoncé au moyen du chemin relatif==== | ||
En faisant : | En faisant : | ||
Ligne 137: | Ligne 151: | ||
<code=user>hypathie@debian:~$ echo "Bonjour" > ~/essai1/essai2/lili</code> | <code=user>hypathie@debian:~$ echo "Bonjour" > ~/essai1/essai2/lili</code> | ||
- | ===== 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.// | + | ====2) Comment aller directement (sans une succession de cd, puis de cd..) de son home à "lili", puis du répertoire parent de "lili" à son home ?==== |
- | + | ||
- | **1) Comment se passer d'une succession de cd (dans un sens) ou de cd .. (dans l'autre sens) ?** | + | |
- | + | ||
- | Pour aller directement du répertoire parent de "lili" à mon home : | + | |
- | <code=user> | + | |
- | /home/toto/essai1/essai2/lili | + | |
- | toto@debian:~/essai1/essai2$ cd ~ </code> | + | |
- | + | ||
- | **Puis du répertoire parent de "lili" à mon home ?** | + | |
__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) :__ | ||
Ligne 158: | Ligne 162: | ||
__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 | <code=root> :~$ updatedb db && locate essai2 | ||
/home/toto/essai1/essai2 | /home/toto/essai1/essai2 | ||
/home/toto/essai1/essai2</code> </note> | /home/toto/essai1/essai2</code> </note> | ||
- | //(voir plus bas pour trouver « lili » dans l'arborescence au moyen de find)// | ||
- | **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 parent de "lili" à mon home ?** |
+ | <code=user> | ||
+ | /home/toto/essai1/essai2/lili | ||
+ | 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 173: | Ligne 184: | ||
</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 190: | Ligne 198: | ||
</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$ | + | toto@debian:/$ |
</code> | </code> | ||
- | **Avec cd sans le point ?** | + | ==== 2) Retourner dans son home depuis la racine à l'aide du tilde ? ==== |
- | <code=user>] | + | |
- | toto@debian:~$ cd / | + | |
- | toto@debian:/$ pwd | + | |
- | / | + | |
- | </code> | + | |
- | + | ||
- | **3)Retourner dans son home depuis la racine à l'aide du tilde ?** | + | |
<code=user> | <code=user> | ||
Ligne 226: | Ligne 222: | ||
</code> | </code> | ||
- | **4)Utiliser le point dans d'autres commandes que cd :** | + | ==== 3) Utiliser le point une autre commande que cd :==== |
- | ainsi : | + | ** Depuis son home : copier de trois façons différentes "lili" dans le fichier de type répertoires nommé « essai1 » ? ** |
- | <code> | + | |
- | :/$ cd /home/toto/essai1/essai2 | + | |
- | ou | + | |
- | :/$ cd ~/essai1/essai2 | + | |
- | </code> | + | |
- | + | ||
- | Ce qui donne : | + | |
- | <code>~/essai1/essai2$</code> | + | |
- | + | ||
- | équivalent de : | + | |
- | + | ||
- | <code>:~/essai1/essai2$ pwd | + | |
- | /home/toto/essai1/essai2 </code> | + | |
- | **6) "lili" est toujours là : | + | **en absolu :** |
- | /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 260: | Ligne 232: | ||
</code> | </code> | ||
- | __en relatif (depuis n'importe où) :__ | + | **en relatif (depuis n'importe où) : ** |
<code=user> | <code=user> | ||
Ligne 266: | Ligne 238: | ||
</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> | ||
+ | |||