Si vous êtes un néophyte dans l'utilisation de Linux
(ce qui ne fait certainement pas de vous un cas particulier), vous
vous sentirez peut-être quelque peu désorienté
au moment d'accomplir vos premières tâches.
Détendez-vous. Si vous avez déjà
utilisé d'autres systèmes d'exploitation,
l'apprentissage de Linux ne vous semblera pas plus difficile que
l'apprentissage de la conduite dans un nouveau pays : la
plupart des concepts sont identiques ; seuls certains
détails diffèrent.
Ce chapitre passe en revue plusieurs règles de ce nouveau
"code de la route".
Votre nouveau système d'exploitation contient toutefois un
composant que vous ne pouvez absolument pas ignorer : il
s'agit du shell. Nous faisons très
souvent référence au shell (comme dans "invite
du shell" ou "shell bash").
Il est temps désormais d'en apprendre un peu plus sur cet
outil indispensable. Mais voici d'abord quelques informations
générales…
Dans les années 60, lorsque Dennis Ritchie et Ken
Thompson, travaillant alors pour AT&T, ont
développé UNIXTM, leur
intention était de créer un système avec
lequel les utilisateurs puissent interagir.
Les systèmes d'exploitation étaient à
l'époque associés à des
interpréteurs de commandes
capables de recevoir les commandes de l'utilisateur et de les
interpréter pour que la machine puisse les utiliser.
Ritchie et Thompson voulaient cependant aller plus loin et
mettre au point un système offrant des fonctions plus
performantes que celles des interpréteurs de commandes de
l'époque.
C'est alors qu'apparaît le shell
Bourne (simplement appelé
sh), créé par S.R. Bourne,
qui répondait aux objectifs des créateurs d'UNIX.
Depuis la création du shell Bourne, d'autres shells ont
vu le jour, comme le shell C
(csh) et le shell
Korn (ksh).
Lorsque la Free Software Foundation s'est mise en quête
d'un shell gratuit, des développeurs ont entrepris de
travailler sur le langage du shell Bourne ainsi que sur
certaines fonctions populaires offertes par d'autres shells
disponibles à l'époque.
Le résultat a été le Bourne
Again Shell, également appelé
shell bash.
D'ailleurs, vous avez probablement déjà vu le mot
bash apparaître en cas de faute de frappe
à l'invite du shell (comme dans bash:
nom-de-commande: command not found ).
Dans le Chapitre 13, à propos du
réacheminement et du traitement pipeline, nous avons
également montré la puissance du
shell bash.
 | Informations complémentaires sur bash |
|---|
| | Pour plus d'informations sur le shell
bash, consultez la page de manuel
bash . A l'invite du shell, entrez
man bash (ou enregistrez le fichier comme
fichier texte en entrant man bash | col -b >
bash.txt ; vous pourrez ensuite l'ouvrir dans
un éditeur de texte tel que
pico ou un pager tel que
less. Vous pouvez
également imprimer le fichier en entrant man
bash | col -b | lpr. Attention : ce fichier est
volumineux. Si vous souhaitez obtenir plus de détails,
O'Reilly & Associates ont édité un ouvrage
intitulé Learning the bash
Shell, par Cameron Newham et Bill Rosenblatt.
|
Bien que votre système comporte plusieurs shells
différents, bash est le shell
par défaut pour Red Hat Linux.
Il faut imaginer le shell bash comme
un assistant discret, prenant note de la manière
d'exécuter rapidement les commandes. Il conserve
également des "pointeurs" sur vos
méthodes de travail.
Ces pointeurs conservés par le shell
bash sont des variables
d'environnement.
Le shell utilise un "environnement" comme nous le
faisons. Par exemple, nous travaillons dans notre cuisine en
organisant les récipients, les ustensiles et les
épices. Nous savons où se trouvent les plats et
comment les choses fonctionnent.
On peut en dire autant du shell bash
et de son environnement. Il existe une organisation de base pour
le shell bash, comme il y en a une
pour pratiquement n'importe quelle cuisine. Par exemple, chacun
s'attend à trouver des récipients dans une
cuisine, tout comme il peut s'attendre à trouver
certaines commandes dans un shell
bash.
Tel est le concept des variables d'environnement.
Si votre assistant dispose des pointeurs appropriés, il
exécute vos commandes rapidement.
Examinons de plus près les variables d'environnement. A
l'invite du shell, entrez :
Comme vous le constatez, le shell
bash utilise un certain nombre de
"raccourcis".
Chacun d'eux aide le shell bash
à personnaliser votre environnement.
Parmi les principales variables d'environnement, la variable
PATH définit le chemin
d'accès par défaut.
La variable d'environnement PATH pour notre compte
newuser pourrait ressembler à
ceci :
PATH=/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/newuser/bin
|
Cela peut sembler un peu "chargé" mais
l'instruction PATH est un précieux
indicateur de l'emplacement de certains programmes.
 | Standard pour le chemin d'accès |
|---|
| | Vous rappelez-vous la référence à la
hiérarchie standard du système de fichiers (FHS,
voir la la section intitulée Présentation étendue du système de fichiers dans Chapitre 13)?
L'instruction PATH est définie
conformément à cette norme, de même que
les répertoires
dans lesquels les programmes sont installés. Le
résultat est que l'instruction PATH
permet au shell bash de rechercher
automatiquement presque n'importe quel programme pour autant
qu'il ait été installé
conformément à la hiérarchie FHS.
|