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:bash [08/11/2010 18:09] smolski |
doc:programmation:bash [08/11/2010 18:35] smolski |
||
---|---|---|---|
Ligne 45: | Ligne 45: | ||
===== Répertoires et chemins ===== | ===== Répertoires et chemins ===== | ||
- | + | * [[manuel:repertoire | Les répertoires et chemins]] | |
- | + | ||
- | + | ||
- | ==== TP01 - Préparation du terrain ==== | + | |
- | + | ||
- | 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 | + | |
- | suite. | + | |
- | + | ||
- | Nous y créons les fichiers : | + | |
- | <code bash> | + | |
- | ~/tmp/df_tp01$ touch phaute_dorthografe | + | |
- | ~/tmp/df_tp01$ touch notes_temporaires | + | |
- | ~/tmp/df_tp01$ touch quisuisje | + | |
- | ~/tmp/df_tp01$ | + | |
- | </code> | + | |
- | + | ||
- | ==== Le répertoire courant, ou répertoire de travail ==== | + | |
- | + | ||
- | C'est ce qui est indiqué juste à gauche du ''$'' du prompt ''bash''. | + | |
- | <code bash> | + | |
- | ~/tmp/df_tp01$</code> | + | |
- | + | ||
- | Vous pouvez l'afficher en tapant la commande ''pwd'' : | + | |
- | <code bash> | + | |
- | ~/tmp/df_tp01$ pwd | + | |
- | /home/captnfab/tmp/df_tp01 | + | |
- | </code> | + | |
- | + | ||
- | On change de répertoire de travail avec [[commande:cd | la commande CD]]. | + | |
- | + | ||
- | Le répertoire de travail est également stocké dans la variable ''$PWD'' du shell. | + | |
- | <code bash> | + | |
- | ~/tmp/df_tp01$ echo $PWD | + | |
- | /home/captnfab/tmp/df_tp01 | + | |
- | </code> | + | |
- | + | ||
- | ==== Chemin relatif / chemin absolu ==== | + | |
- | + | ||
- | Pour identifier de manière unique un fichier sur un ordinateur sous Linux, on | + | |
- | donne ce qu'on appelle un chemin vers le fichier. Ce chemin peut être : | + | |
- | * //absolu// | + | |
- | * ou //relatif//. | + | |
- | + | ||
- | === Quelques chemins particuliers === | + | |
- | + | ||
- | * ''..'' (deux points) désigne le répertoire parent d'un répertoire considéré | + | |
- | * ''.'' (un point) désigne le répertoire considéré | + | |
- | + | ||
- | Exemples : | + | |
- | * ''/home/../var'' est un chemin pour le répertoire ''/var'' | + | |
- | * ''ls .'' liste le répertoire courant | + | |
- | * ''.././././.'' est un chemin vers le dossier parent, équivalent à ''..'' | + | |
- | + | ||
- | === Chemin absolu === | + | |
- | + | ||
- | Un **chemin absolu** est un chemin depuis la racine du système de fichier, ''/'' | + | |
- | + | ||
- | Exemples de chemin //absolu// : | + | |
- | * ''/var/cache/apt/archives/'' qui est le dossier contenant les paquets téléchargés pour installation ou mise à jour par ''aptitude'', ou ''apt-get'', ou ''synaptic'' etc. | + | |
- | * ''/home/../var'' est aussi un chemin absolu puisqu'il donne le chemin depuis ''/'' | + | |
- | + | ||
- | === Chemin relatif === | + | |
- | + | ||
- | Un **chemin relatif** est un chemin depuis le **répertoire de travail** : ''$PWD'' | + | |
- | + | ||
- | Exemple de chemin //relatif// : | + | |
- | * ''../../'' est un chemin relatif vers le dossier parent du dossier parent. | + | |
- | Si vous êtes toujours dans ''~/tmp/df_tp01/'', la commande | + | |
- | <code bash> | + | |
- | ls ../.. | + | |
- | </code> | + | |
- | doit vous lister votre //home//. | + | |
- | * ''./plouf/../tchac/'' est un chemin relatif vers le dossier ''$PWD/tchac'' | + | |
- | + | ||
- | <note important>''Attention !'' : Virtuellement, un chemin relatif commence **toujours** par :''./''. \\ | + | |
- | Cependant, en règle générale, on peut l'omettre.</note> | + | |
- | + | ||
- | Exemple | + | |
- | <code bash> | + | |
- | ls -lh quisuisje | + | |
- | </code> | + | |
- | + | ||
- | Signifie en fait : | + | |
- | <code bash> | + | |
- | ls -lh ./quisuisje | + | |
- | </code> | + | |
- | + | ||
- | + | ||
- | Lorsque l'on veut renommer un fichier, on utilise [[commande:mv | la commande MV]] qui prend deux arguments : | + | |
- | * un **chemin** vers le fichier à déplacer | + | |
- | * le nouveau **chemin** du fichier | + | |
- | + | ||
- | Ce chemin peut être : | + | |
- | - soit //absolu// | + | |
- | - soit //relatif//. | + | |
- | + | ||
- | Dans la construction des fichiers d'exemple, nous avons : | + | |
- | + | ||
- | * Avec deux chemins relatifs | + | |
- | <code bash> | + | |
- | ~/tmp/df_tp01/$ mv ./phaute_dorthografe ./faute_dorthographe | + | |
- | </code> | + | |
- | qui signifie donc | + | |
- | <code bash> | + | |
- | mv $PWD/./phaute_dorthografe $PWD/./faute_dorthographe | + | |
- | </code> | + | |
- | + | ||
- | * Avec un chemin relatif et un chemin absolu | + | |
- | <code bash> | + | |
- | ~/tmp/df_tp01/$ mv ./notes_temporaires /tmp/notes_temporaires.txt | + | |
- | </code> | + | |
- | qui signifie | + | |
- | <code bash> | + | |
- | ~/tmp/df_tp01/$ mv $PWD/./notes_temporaires /tmp/notes_temporaires.txt | + | |
- | </code> | + | |
- | + | ||
- | + | ||
===== Ligne de commmande ===== | ===== Ligne de commmande ===== |