The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Linux Fundamentals, Part 1/fr-fr"
(begin of translation) |
(Introducing bash) |
||
Line 20: | Line 20: | ||
}} | }} | ||
L'invite que vous devez voir peut être légèrement différente. Par exemple elle peut contenir votre nom de machine, votre répertoire de travail courant ou les deux. Cependant, quelle que soit votre invite de commande, un point est certain. Le programme qui affiche cette invite est appelé un « shell » ou interpréteur de commandes et il est très probable que votre shell soit un programme nommé <span style="color:green">bash</span>. | L'invite que vous devez voir peut être légèrement différente. Par exemple elle peut contenir votre nom de machine, votre répertoire de travail courant ou les deux. Cependant, quelle que soit votre invite de commande, un point est certain. Le programme qui affiche cette invite est appelé un « shell » ou interpréteur de commandes et il est très probable que votre shell soit un programme nommé <span style="color:green">bash</span>. | ||
=== Utilisez-vous bash ? === | |||
Vous pouvez vérifier si vous utilisez {{c|bash}} en tapant : | |||
{{console|body= | |||
$ ##i##echo $SHELL | |||
/bin/bash | |||
}} | |||
Si la ligne précédente vous a retourné une erreur ou quelquechose de différent, vous utilisez peut-être un autre shell que le bash. Dans ce cas, la plus grande partie de ce tutoriel devrait continuer à fonctionner, mais il serait avantageux que vous passiez à <span style="color:green">bash</span> fpour la préparation de l'examen LPI 101. | |||
=== À propos de bash === | |||
Bash, un acronyme de "Bourne-again shell", (ndt : le shell re-né - pas comme le prénom - , en référence au bourne shell, le shell natif) est le shell par défaut sur la plupart des systèmes Linux. Le rôle du shell est d'obéir à vos commandes de façon à ce que vous puissiez interagir avec votre système Linux (c'est une interface homme machine en mode texte). Quand vous avez fini d'entrer vos commandes, vous pouvez quitter le shell ou vous déconnecter, à ce point vous retournez à l'invite de connexion. | |||
De la même façon, vous pouvez également vous déconnecter en pressant les touches Contrôle et D simultanément au prompt du bash. | |||
=== Utiliser "cd" === | |||
Comme vous vous en serez probablement rendu compte, observer votre prompt sans rien faire n'est pas la chose la plus intéressante au monde. Alors commençons à utiliser bash pour naviguer dans notre système de fichiers. À l'invite de commande, tapez ceci (sans le {{c|$}}): | |||
{{console|body= | |||
$ ##i##cd / | |||
}} | |||
Nous avons seulement dit à bash que nous voulons travailler dans le répertoire /, également connu comme la racine ou le répertoire racine (root) ; tous les répertoires du système forment un arbre ou une arborescence et / (prononcer slash) est considéré comme le point le plus haut (la racine) de cet arbre. cd paramètre le répertoire dans lequel vous êtes en train de travailler, également nommé le répertoire de travail. cd = change (working) directory. " | |||
=== Chemins === | |||
Pour connaître votre répertoire de travail actuel, tapez : | |||
{{console|body= | |||
$ ##i##pwd | |||
/ | |||
}} | |||
Dans l'exemple précédent, l'argument / passé à {{c|cd}} est appelé un "chemin". Il dit à cd où vous souhaitez aller. En particulier, l'argument / est un chemin "absolu," ce qui veut dire qu'il spécifie un lieu relatif à la racine de l'arborescence de fichiers. | |||
=== Chemins absolus === | |||
Voici quelques chemins absolus : | |||
<pre> | |||
/dev | |||
/usr | |||
/usr/bin | |||
/usr/local/bin | |||
</pre> | |||
Comme vous pouvez le voir, le point commun entre tous les chemins absolus est qu'ils commencent tous par /. Avec le chemin /usr/local/bin, nous disons à cd d'aller dans le répertoire racine, puis d'aller dans le répertoire usr en-dessous, puis local et bin. Les chemins absolus sont toujours évalués en partant de /. | |||
=== Chemins relatifs === | |||
L'autre type de chemin est un "chemin relatif". {{c|bash}}, {{c|cd}} et les autres commandes interprètent toujours ces chemins par rapport au répertoire courant (répertoire de travail). Les chemins relatifs ne commencent jamais par un /. Donc, si nou sommes dans {{f|/usr}}: | |||
{{console|body= | |||
$ ##i##cd /usr | |||
}} | |||
Alors nous pouvons utiliser un chemin relatif pour nous placer dans le répertoire /usr/local/bin : | |||
{{console|body= | |||
$ ##i##cd local/bin | |||
$ ##i##pwd | |||
/usr/local/bin | |||
}} | |||
=== Utiliser .. === | |||
Les chemins relatifs peuvent également contenir un ou plusieurs répertoires .. (dites point-point pas deux points ni coin-coin) . directories. Le répertoire .. est un répertoire spécial qui pointe sur le répertoire parent (celui du niveau du dessus dans l'arborescence). Donc, à partir de l'exemple précédent : | |||
<pre> | |||
$ pwd | |||
/usr/local/bin | |||
$ cd .. | |||
$ pwd | |||
/usr/local | |||
</pre> | |||
Comme vous pouvez le voir , notre répertoire courant est désormais /usr/local. Nous avons été capable de "remonter" d'un répertoire, relativement au répertoire où nous nous trouvions. | |||
En outre, nous pouvons également ajouter .. à un chemin relatif existant, ce qui nous permet d'aller dans un répertoire qui est au même niveau de l'arborescence que celui où nous nous trouvons, par exemple : | |||
<pre> | |||
$ pwd | |||
/usr/local | |||
$ cd ../share | |||
$ pwd | |||
/usr/share | |||
</pre> | |||
=== Exemples de chemins relatifs === | |||
Les chemins relatifs peuvent devenir assez complexes. Voici quelques exemples, dont aucun ne présente le répertoire de destination. Essayez de trouver le répertoire d'arrivée après avoir tapé ces commandes : | |||
<pre> | |||
$ cd /bin | |||
$ cd ../usr/share/zoneinfo | |||
$ cd /usr/X11R6/bin | |||
$ cd ../lib/X11 | |||
$ cd /usr/bin | |||
$ cd ../bin/../bin | |||
</pre> | |||
Maintenant essayez les et regardez si vous aviez visé juste ;) | |||
=== Comprendre "." === | |||
Avant que nous ayons fini notre tour sur cd, il faut que je mentionne encore quelques points. Tout d'abord, il y a un autre répertoire spécial, appelé ., qui signifie "le répertoire courant". Ce répertoire n'est pas utilisé avec la commande cd, mais est régulièrement utilisé pour exécuter des programmes dans les répertoire courant, comme suit : | |||
<pre> | |||
$ ./myprog | |||
</pre> | |||
Dans l'exemple précédent, le programme exécutable myprog résidant dans le répertoire courant sera exécuté. | |||
=== cd et le répertoire personnel === | |||
Si nous souhaitions aller dans notre répertoire personnel, nous pourrions taper : | |||
<pre> | |||
$ cd | |||
</pre> | |||
Sans argument, cd vous replace dans votre répertoire personnel, qui est /root pour le superutilisateur (l'administrateur) et typiquement /home/nomdutilisateur pour un utilisateur normal. Mais comment spécifier un fichier dans notre répertoire personnel ? Par exemple nous pourrions vouloir passer un fichier en argument à la commande <span style="color:green">myprog</span>. Si ce fichier se situe dans notre répertoire personnel, nous pouvons taper : | |||
<pre> | |||
$ ./myprog /home/drobbins/myfile.txt | |||
</pre> | |||
Cependant, utiliser un chemin absolu comme ça n'est pas toujours confortable. Heureusement, nous pouvons utiliser le caractère ~ (tilde) pour faire la même chose : | |||
<pre> | |||
$ ./myprog ~/myfile.txt | |||
</pre> | |||
=== Les répertoires personnels des autres utilisateurs === | |||
Bash interprétera un ~ seul comme pointant vers votre répertoire personnel, mais vous pouvez également utiliser le tilde pour pointer vers le répertoire personnel d'autres utilisateurs. Par exemple, si vous souhaitez vous référer à un fichier nommé fredsfile.txt dans le répertoire personnel de Fred, nous pourrions taper : | |||
<pre> | |||
$ ./myprog ~fred/fredsfile.txt | |||
</pre> |
Revision as of 13:19, May 2, 2018
Avant de commencer
À propos de ce tutoriel
Bienvenue à « Fondamentaux Linux », premier d'une série de quatre tutoriels destiné à vous préparer à l'examen LPI 101. Dans ce tutoriel, vous suivrez une introduction au bash (le shell linux standard), vous apprendrez à utiliser les commandes standard Linux telles que ls, cp et mv, puis vous aurez une explication sur les inodes, les liens physiques et symboliques, et beaucoup plus que ça. À la fin de ce document, vous aurez une sérieuse base sur les fondamentaux Linux et vous serez prêt à apprendre quelques tâches d'administration de base. À la fin de cette série de tutoriels (8 en tout), vous disposerez des connaissances dont vous avez besoin pour être un administrateur système Linux et serez prêt à obtenir la certification LPIC de niveau 1 du Linux Professional Institute si vous le souhaitez.
Ce tutoriel (Partie 1) est idéal pour ceux qui s'initient à Linux, ou pour ceux qui souhaitent revoir ou améliorer leur compréhension des concepts fondamentaux sous Linux comme la copie et le déplacement de fichiers, la création des liens symboliques et physiques et l'utilisation des commandes d'opération sur les chaînes de caractère à travers les tubes ou les redirections. En chemin, nous apporterons nos suggestions, conseils, ou encore nos petits trucs pour rendre ce tutoriel appétissant et pratique, même pour ceux qui ont déjà une bonne expérience sous Linux. Pour les débutants, la plupart de ce qu'ils liront sera tout neuf mais les utilisateurs de Linux plus expérimentés trouveront dans ce tutoriel un bon moyen pour compléter leurs compétences Linux.
Ceux qui ont suivi la première version de ce document pour une autre raison que la préparation de la certification LPI n'ont sans doute pas besoin de suivre celle-ci. Par contre, si vous prévoyez de passer les examens, vous devriez envisager de lire cette version révisée.
Introduction au Bash
Le shell
Si vous avez déjà utilisé un système Linux, vous savez que lorsque vous vous connectez, vous êtes accueilli par une invite (prompt) qui ressemble un peu à ceci :
user $
L'invite que vous devez voir peut être légèrement différente. Par exemple elle peut contenir votre nom de machine, votre répertoire de travail courant ou les deux. Cependant, quelle que soit votre invite de commande, un point est certain. Le programme qui affiche cette invite est appelé un « shell » ou interpréteur de commandes et il est très probable que votre shell soit un programme nommé bash.
Utilisez-vous bash ?
Vous pouvez vérifier si vous utilisez bash
en tapant :
user $ echo $SHELL /bin/bash
Si la ligne précédente vous a retourné une erreur ou quelquechose de différent, vous utilisez peut-être un autre shell que le bash. Dans ce cas, la plus grande partie de ce tutoriel devrait continuer à fonctionner, mais il serait avantageux que vous passiez à bash fpour la préparation de l'examen LPI 101.
À propos de bash
Bash, un acronyme de "Bourne-again shell", (ndt : le shell re-né - pas comme le prénom - , en référence au bourne shell, le shell natif) est le shell par défaut sur la plupart des systèmes Linux. Le rôle du shell est d'obéir à vos commandes de façon à ce que vous puissiez interagir avec votre système Linux (c'est une interface homme machine en mode texte). Quand vous avez fini d'entrer vos commandes, vous pouvez quitter le shell ou vous déconnecter, à ce point vous retournez à l'invite de connexion.
De la même façon, vous pouvez également vous déconnecter en pressant les touches Contrôle et D simultanément au prompt du bash.
Utiliser "cd"
Comme vous vous en serez probablement rendu compte, observer votre prompt sans rien faire n'est pas la chose la plus intéressante au monde. Alors commençons à utiliser bash pour naviguer dans notre système de fichiers. À l'invite de commande, tapez ceci (sans le $
):
user $ cd /
Nous avons seulement dit à bash que nous voulons travailler dans le répertoire /, également connu comme la racine ou le répertoire racine (root) ; tous les répertoires du système forment un arbre ou une arborescence et / (prononcer slash) est considéré comme le point le plus haut (la racine) de cet arbre. cd paramètre le répertoire dans lequel vous êtes en train de travailler, également nommé le répertoire de travail. cd = change (working) directory. "
Chemins
Pour connaître votre répertoire de travail actuel, tapez :
user $ pwd /
Dans l'exemple précédent, l'argument / passé à cd
est appelé un "chemin". Il dit à cd où vous souhaitez aller. En particulier, l'argument / est un chemin "absolu," ce qui veut dire qu'il spécifie un lieu relatif à la racine de l'arborescence de fichiers.
Chemins absolus
Voici quelques chemins absolus :
/dev /usr /usr/bin /usr/local/bin
Comme vous pouvez le voir, le point commun entre tous les chemins absolus est qu'ils commencent tous par /. Avec le chemin /usr/local/bin, nous disons à cd d'aller dans le répertoire racine, puis d'aller dans le répertoire usr en-dessous, puis local et bin. Les chemins absolus sont toujours évalués en partant de /.
Chemins relatifs
L'autre type de chemin est un "chemin relatif". bash
, cd
et les autres commandes interprètent toujours ces chemins par rapport au répertoire courant (répertoire de travail). Les chemins relatifs ne commencent jamais par un /. Donc, si nou sommes dans /usr
:
user $ cd /usr
Alors nous pouvons utiliser un chemin relatif pour nous placer dans le répertoire /usr/local/bin :
user $ cd local/bin user $ pwd /usr/local/bin
Utiliser ..
Les chemins relatifs peuvent également contenir un ou plusieurs répertoires .. (dites point-point pas deux points ni coin-coin) . directories. Le répertoire .. est un répertoire spécial qui pointe sur le répertoire parent (celui du niveau du dessus dans l'arborescence). Donc, à partir de l'exemple précédent :
$ pwd /usr/local/bin $ cd .. $ pwd /usr/local
Comme vous pouvez le voir , notre répertoire courant est désormais /usr/local. Nous avons été capable de "remonter" d'un répertoire, relativement au répertoire où nous nous trouvions.
En outre, nous pouvons également ajouter .. à un chemin relatif existant, ce qui nous permet d'aller dans un répertoire qui est au même niveau de l'arborescence que celui où nous nous trouvons, par exemple :
$ pwd /usr/local $ cd ../share $ pwd /usr/share
Exemples de chemins relatifs
Les chemins relatifs peuvent devenir assez complexes. Voici quelques exemples, dont aucun ne présente le répertoire de destination. Essayez de trouver le répertoire d'arrivée après avoir tapé ces commandes :
$ cd /bin $ cd ../usr/share/zoneinfo $ cd /usr/X11R6/bin $ cd ../lib/X11 $ cd /usr/bin $ cd ../bin/../bin
Maintenant essayez les et regardez si vous aviez visé juste ;)
Comprendre "."
Avant que nous ayons fini notre tour sur cd, il faut que je mentionne encore quelques points. Tout d'abord, il y a un autre répertoire spécial, appelé ., qui signifie "le répertoire courant". Ce répertoire n'est pas utilisé avec la commande cd, mais est régulièrement utilisé pour exécuter des programmes dans les répertoire courant, comme suit :
$ ./myprog
Dans l'exemple précédent, le programme exécutable myprog résidant dans le répertoire courant sera exécuté.
cd et le répertoire personnel
Si nous souhaitions aller dans notre répertoire personnel, nous pourrions taper :
$ cd
Sans argument, cd vous replace dans votre répertoire personnel, qui est /root pour le superutilisateur (l'administrateur) et typiquement /home/nomdutilisateur pour un utilisateur normal. Mais comment spécifier un fichier dans notre répertoire personnel ? Par exemple nous pourrions vouloir passer un fichier en argument à la commande myprog. Si ce fichier se situe dans notre répertoire personnel, nous pouvons taper :
$ ./myprog /home/drobbins/myfile.txt
Cependant, utiliser un chemin absolu comme ça n'est pas toujours confortable. Heureusement, nous pouvons utiliser le caractère ~ (tilde) pour faire la même chose :
$ ./myprog ~/myfile.txt
Les répertoires personnels des autres utilisateurs
Bash interprétera un ~ seul comme pointant vers votre répertoire personnel, mais vous pouvez également utiliser le tilde pour pointer vers le répertoire personnel d'autres utilisateurs. Par exemple, si vous souhaitez vous référer à un fichier nommé fredsfile.txt dans le répertoire personnel de Fred, nous pourrions taper :
$ ./myprog ~fred/fredsfile.txt