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:repertoires [08/11/2010 18:52] smolski |
doc:programmation:shell:repertoires [13/12/2016 13:15] smolski [TP01 - À la découverte des chemins absolus et relatifs] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Repertoires et chemins ====== | + | ====== Répertoires et chemins ====== |
- | * Objet : Repertoire et chemins en détail | + | * Objet : Répertoire et chemins en détail |
- | * Niveau requis : DÉBUTANT | + | * Niveau requis :{{tag>débutant avisé}} |
- | * Commentaires : //Introduction pour l'utilisation des //[[manuel:ldc | lignes de commande]]// par l'exemple.// | + | * Commentaires : //Introduction pour l'utilisation des //[[:doc:systeme:commandes:gnu_linux | lignes de commande]]// par l'exemple.// |
- | * Débutant, à savoir : utilisation de la [[manuel:ldc|ligne de commande]] dans le [[manuel:terminal|terminal]] ou dans la [[manuel:console|console]]. Et pour papillonner : [[manuel:debutant | La page pour débutant qui débute.]] | + | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) |
+ | * Suivi : | ||
+ | * Création par [[user>smolski]] le 08/11/2010 | ||
+ | * Testé par [[user>milou]] le 18/12/2015 | ||
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=122543#p122543 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | ===== TP01 - Préparation du terrain ===== | + | |
+ | |||
+ | ===== TP01 - À la découverte des chemins absolus et relatifs ===== | ||
+ | |||
+ | ==== Préparation du terrain ==== | ||
Dans votre ///home/user//, placez-vous dans un nouveau dossier créé pour l'occasion. Exemple : | Dans votre ///home/user//, placez-vous dans un nouveau dossier créé pour l'occasion. Exemple : | ||
- | <code bash> | ||
- | $ cd | ||
- | ~$ mkdir -p tmp/df_tp01/ | ||
- | ~$ cd tmp/df_tp01/ | ||
- | ~/tmp/df_tp01$ | ||
- | </code> | ||
- | On va maintenant créer les fichiers qui nous servirons pour la | + | <code user>cd</code> |
+ | <code user>mkdir -p tmp/df_tp_chemins_01/</code> | ||
+ | <code user>cd tmp/df_tp_chemins_01/</code> | ||
+ | L'invite de commande devient | ||
+ | <code>toto@jessie:~/tmp/df_tp_chemins_01$</code> | ||
+ | |||
+ | On va maintenant créer les fichiers qui nous serviront pour la | ||
suite. | suite. | ||
Nous y créons les fichiers : | Nous y créons les fichiers : | ||
- | <code bash> | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01$ touch phaute_dorthografe</code> |
- | ~/tmp/df_tp01$ touch phaute_dorthografe | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01$ touch notes_temporaires</code> |
- | ~/tmp/df_tp01$ touch notes_temporaires | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01$ touch quisuisje</code> |
- | ~/tmp/df_tp01$ touch quisuisje | + | |
- | ~/tmp/df_tp01$ | + | |
- | </code> | + | |
- | ===== Le répertoire courant, ou répertoire de travail ===== | + | ==== Le répertoire courant, ou répertoire de travail ==== |
C'est ce qui est indiqué juste à gauche du ''$'' du prompt ''bash''. | C'est ce qui est indiqué juste à gauche du ''$'' du prompt ''bash''. | ||
<code bash> | <code bash> | ||
- | ~/tmp/df_tp01$</code> | + | ~/tmp/df_tp_chemins_01$</code> |
Vous pouvez l'afficher en tapant la commande ''pwd'' : | Vous pouvez l'afficher en tapant la commande ''pwd'' : | ||
- | <code bash> | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01$ pwd</code> |
- | ~/tmp/df_tp01$ pwd | + | <code config retour de la commande>/home/captnfab/tmp/df_tp_chemins_01</code> |
- | /home/captnfab/tmp/df_tp01 | + | |
- | </code> | + | |
- | On change de répertoire de travail avec [[commande:cd | la commande CD]]. | + | On change de répertoire de travail avec [[:doc:programmation:shell:cd | la commande CD]]. |
Le répertoire de travail est également stocké dans la variable ''$PWD'' du shell. | Le répertoire de travail est également stocké dans la variable ''$PWD'' du shell. | ||
- | <code bash> | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01$ echo $PWD</code> |
- | ~/tmp/df_tp01$ echo $PWD | + | <code config retour de la commande>/home/captnfab/tmp/df_tp_chemins_01</code> |
- | /home/captnfab/tmp/df_tp01 | + | |
- | </code> | + | |
- | ===== Chemin relatif / chemin absolu ===== | + | ==== Chemin relatif / chemin absolu ==== |
Pour identifier de manière unique un fichier sur un ordinateur sous Linux, on | Pour identifier de manière unique un fichier sur un ordinateur sous Linux, on | ||
Ligne 54: | Ligne 55: | ||
* ou //relatif//. | * ou //relatif//. | ||
- | ==== Quelques chemins particuliers ==== | + | === Quelques chemins particuliers === |
* ''..'' (deux points) désigne le répertoire parent d'un répertoire considéré | * ''..'' (deux points) désigne le répertoire parent d'un répertoire considéré | ||
Ligne 64: | Ligne 65: | ||
* ''.././././.'' est un chemin vers le dossier parent, équivalent à ''..'' | * ''.././././.'' est un chemin vers le dossier parent, équivalent à ''..'' | ||
- | ==== Chemin absolu ==== | + | === Chemin absolu === |
Un **chemin absolu** est un chemin depuis la racine du système de fichier, ''/'' | Un **chemin absolu** est un chemin depuis la racine du système de fichier, ''/'' | ||
Ligne 72: | Ligne 73: | ||
* ''/home/../var'' est aussi un chemin absolu puisqu'il donne le chemin depuis ''/'' | * ''/home/../var'' est aussi un chemin absolu puisqu'il donne le chemin depuis ''/'' | ||
- | ==== Chemin relatif ==== | + | === Chemin relatif === |
Un **chemin relatif** est un chemin depuis le **répertoire de travail** : ''$PWD'' | Un **chemin relatif** est un chemin depuis le **répertoire de travail** : ''$PWD'' | ||
Ligne 78: | Ligne 79: | ||
Exemple de chemin //relatif// : | Exemple de chemin //relatif// : | ||
* ''../../'' est un chemin relatif vers le dossier parent du dossier parent. | * ''../../'' est un chemin relatif vers le dossier parent du dossier parent. | ||
- | Si vous êtes toujours dans ''~/tmp/df_tp01/'', la commande | + | Si vous êtes toujours dans ''~/tmp/df_tp_chemins_01/'', la commande |
- | <code bash> | + | <code user>ls ../..</code> |
- | ls ../.. | + | |
- | </code> | + | |
doit vous lister votre //home//. | doit vous lister votre //home//. | ||
* ''./plouf/../tchac/'' est un chemin relatif vers le dossier ''$PWD/tchac'' | * ''./plouf/../tchac/'' est un chemin relatif vers le dossier ''$PWD/tchac'' | ||
Ligne 89: | Ligne 88: | ||
Exemple | Exemple | ||
- | <code bash> | + | <code user> |
ls -lh quisuisje | ls -lh quisuisje | ||
</code> | </code> | ||
Ligne 98: | Ligne 97: | ||
</code> | </code> | ||
- | ===== Exemple pour renommer des fichiers ===== | + | ==== Exemple pour renommer des fichiers ==== |
- | Lorsque l'on veut renommer un fichier, on utilise [[commande:mv | la commande MV]] qui prend deux arguments : | + | Lorsque l'on veut renommer un fichier, on utilise [[:doc:systeme:mv | la commande MV]] qui prend deux arguments : |
* un **chemin** vers le fichier à déplacer | * un **chemin** vers le fichier à déplacer | ||
* le nouveau **chemin** du fichier. | * le nouveau **chemin** du fichier. | ||
Ligne 108: | Ligne 107: | ||
- soit //relatif//. | - soit //relatif//. | ||
- | Dans la construction des fichiers d'exemple, nous pouvons exécuter [[commande:mv | la commande MV]] : | + | Dans la construction des fichiers d'exemple, nous pouvons exécuter [[:doc:systeme:mv | la commande MV]] : |
- | ==== Soit avec deux chemins relatifs : ==== | + | === Soit avec deux chemins relatifs : === |
- | <code bash> | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01/$ mv ./phaute_dorthografe ./faute_dorthographe |
- | ~/tmp/df_tp01/$ mv ./phaute_dorthografe ./faute_dorthographe | + | |
</code> | </code> | ||
qui signifie donc : | qui signifie donc : | ||
- | <code bash> | + | <code user>mv $PWD/./phaute_dorthografe $PWD/./faute_dorthographe</code> |
- | mv $PWD/./phaute_dorthografe $PWD/./faute_dorthographe | + | |
- | </code> | + | |
- | ==== Soit avec un chemin relatif et un chemin absolu ==== | + | === Soit avec un chemin relatif et un chemin absolu === |
- | <code bash> | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01/$ mv ./notes_temporaires /tmp/notes_temporaires.txt |
- | ~/tmp/df_tp01/$ mv ./notes_temporaires /tmp/notes_temporaires.txt | + | |
</code> | </code> | ||
qui signifie : | qui signifie : | ||
- | <code bash> | + | <code user>toto@jessie:~/tmp/df_tp_chemins_01/$ mv $PWD/./notes_temporaires /tmp/notes_temporaires.txt |
- | ~/tmp/df_tp01/$ mv $PWD/./notes_temporaires /tmp/notes_temporaires.txt | + | </code> |
+ | |||
+ | ==== Effacer le bazar ==== | ||
+ | |||
+ | Pour enlever les fichiers du tuto : | ||
+ | |||
</code> | </code> | ||
+ | <code user>cd ~/tmp</code> | ||
+ | <code user>toto@jessie:~/tmp$ rm -r df_tp_chemins_01</code> | ||
+ | <code user>toto@jessie:~/tmp$ cd</code> | ||
+ | L'invite de commande redevient | ||
+ | <code>toto@jessie:~$</code> | ||
+ | |||
===== Liens et remerciements ===== | ===== Liens et remerciements ===== | ||
//Allez donc voir ici :// | //Allez donc voir ici :// | ||
- | * [[commande:find#tp01_-_exec_et_execdir | Les outils d'exécution exec et execdir de la commande find]] | + | * [[:doc:systeme:find#tp01_-_exec_et_execdir | Les outils d'exécution exec et execdir de la commande find]] |
- | //Voir un peu, vous n'en reviendrez pas comme ça devient facile !// :-) | + | //Vous n'en reviendrez pas comme ça devient maintenant facile !// :-) |
//Un gros merci au //**captnfab**// qui de son site :// | //Un gros merci au //**captnfab**// qui de son site :// | ||
Ligne 143: | Ligne 149: | ||
//nous guide et nous permet d'en reproduire ici la substantifique moëlle, ce que faire se peut.// ;-) | //nous guide et nous permet d'en reproduire ici la substantifique moëlle, ce que faire se peut.// ;-) | ||
+ |