2005-05-31 13:33:37 +02:00
|
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
|
<!DOCTYPE html
|
|
|
|
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
|
|
|
|
"tuteurs://DTD/tml.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>Shell</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<h1>Le shell</h1>
|
|
|
|
|
|
|
|
|
|
<h2>Qu'est-ce que le shell ?</h2>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
|
|
|
|
|
<p>
|
2005-06-03 17:52:42 +02:00
|
|
|
|
Le <strong>shell</strong> est le programme que vous utilisez
|
|
|
|
|
r<EFBFBD>guli<EFBFBD>rement sur les machines Unix de l'ENS (que ce soient les Sun, les
|
2006-09-17 22:47:20 +02:00
|
|
|
|
PC sous Linux ou autres d<>riv<69>s d'Unix), et qui <strong>interpr<70>te les
|
2005-06-03 17:52:42 +02:00
|
|
|
|
commandes</strong>. Par exemple, vous y tapez <code>pine</code> ou
|
|
|
|
|
<code>mutt</code>, <code>forum</code>, <code>cc</code>,
|
|
|
|
|
<code>mozilla</code>, etc. Le shell est ce programme qui attend vos
|
|
|
|
|
instructions et vous dit quelque chose comme :
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<pre><span class="prompt">clipper ~ $</span></pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>La coquille magique</h3>
|
|
|
|
|
|
2005-05-31 13:33:37 +02:00
|
|
|
|
<p>
|
2005-06-03 17:52:42 +02:00
|
|
|
|
Le mot <em>shell</em> signifie <20> coquille <3B> en anglais. Mais
|
|
|
|
|
quel rapport avec une coquille ? Eh bien, dans une coquille vous
|
|
|
|
|
pouvez mettre de l'eau, pour la porter ensuite <20> votre bouche ;
|
|
|
|
|
vous pouvez y mettre du sable avant de le verser dans des bocaux ;
|
|
|
|
|
en somme, une coquille est un r<>cipient qui permet de manipuler toutes
|
|
|
|
|
sortes de contenus. Il en va de m<>me du shell. C'est un outil en mode
|
|
|
|
|
texte qui permet l'exploitation d'un grand nombre de ressources de
|
|
|
|
|
l'ordinateur.
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
2005-06-03 17:52:42 +02:00
|
|
|
|
|
|
|
|
|
<h3>Les usages du shell</h3>
|
|
|
|
|
|
2005-05-31 13:33:37 +02:00
|
|
|
|
<p>
|
2005-06-03 17:52:42 +02:00
|
|
|
|
Ces pages vous donneront les rudiments pour exploiter les deux
|
2005-05-31 13:33:37 +02:00
|
|
|
|
principales fonctionnalit<69>s du shell :
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<ul>
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<li> l'usage interactif, reposant sur les <a
|
|
|
|
|
href="commande.html"><strong>lignes de
|
|
|
|
|
commandes</strong></a> ;</li>
|
|
|
|
|
|
|
|
|
|
<li> la conception de <a href="script.html"><strong>scripts</strong></a>
|
|
|
|
|
(programmes <20>crits en shell). </li>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</ul>
|
|
|
|
|
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<p>
|
|
|
|
|
Ces deux usages du shell sont tout <20> fait compl<70>mentaires. Pour une
|
|
|
|
|
utilisation quotidienne, il est important de conna<6E>tre quelques bases de
|
|
|
|
|
l'utilisation du shell en ligne de commande ; et l'<27>criture de
|
|
|
|
|
scripts shell permet de personnaliser son syst<73>me en automatisant des
|
|
|
|
|
t<EFBFBD>ches r<>p<EFBFBD>titives et fastidieuses.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Par ailleurs, la programmation en shell fournit un excellent marche-pied
|
|
|
|
|
pour apprendre la programmation. C'est un langage simple, qui permet
|
|
|
|
|
d'arriver rapidement <20> des r<>sultats visibles.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Les pages que nous consacrons ici <20> l'apprentissage du shell vous
|
|
|
|
|
apprendront <20> manipuler cet outil pr<70>cieux et puissant. Elles
|
|
|
|
|
sont accessibles <20> des d<>butants, m<>me s'ils n'ont aucune connaissance
|
|
|
|
|
pr<EFBFBD>alable avanc<6E>e en informatique, ni m<>me en math<74>matiques ; elles
|
|
|
|
|
sont accessibles <20> ceux qui ont une formation litt<74>raire.
|
|
|
|
|
</p>
|
|
|
|
|
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<h2>Le shell en ligne de commande</h2>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<p>Si vous souhaitez utiliser le shell en ligne de commandes, nous vous
|
|
|
|
|
recommandons en priorit<69> la lecture des pages suivantes :</p>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
|
|
|
|
|
<ul>
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<li> <a href="presentation.html">pr<70>sentation g<>n<EFBFBD>rale du
|
|
|
|
|
shell</a> : qu'est-ce que le shell ? Comment
|
|
|
|
|
l'utiliser ?</li>
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<li> <a href="commande.html">le shell en ligne de commande</a> :
|
2005-09-08 01:00:03 +02:00
|
|
|
|
les bases de l'utilisation du shell en ligne de commande ;</li>
|
|
|
|
|
<li> <a href="variable.html">les variables</a> : comment cr<63>er,
|
|
|
|
|
lire et manipuler des variables avec le shell.</li>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</ul>
|
|
|
|
|
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<h2>Programmer des scripts shell</h2>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<p>Si vous souhaitez apprendre <20> programmer en shell (<28>crire des
|
|
|
|
|
scripts), alors nous vous conseillons de lire <20>galement :</p>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
|
|
|
|
|
<ul>
|
2005-06-03 17:52:42 +02:00
|
|
|
|
<li> <a href="script.html">programmation de scripts en shell</a> :
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<EFBFBD>crivez vos premiers programmes en shell ;</li>
|
2005-07-05 09:18:06 +02:00
|
|
|
|
|
|
|
|
|
<li> <a href="entreesortie.html">entr<74>e, sortie,
|
2005-09-08 01:00:03 +02:00
|
|
|
|
redirection</a> : faire interagir les <20>l<EFBFBD>ments du shell pour
|
|
|
|
|
construire des programmes <20>volu<6C>s ;</li>
|
2005-07-05 09:18:06 +02:00
|
|
|
|
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<li> <a href="test.html">test et calcul arithm<68>tique</a> :
|
|
|
|
|
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
|
|
|
|
|
programme ;</li>
|
2005-07-05 09:18:06 +02:00
|
|
|
|
|
2005-09-07 12:03:49 +02:00
|
|
|
|
<li> <a href="boucle.html">boucles et structures de
|
2005-09-08 01:00:03 +02:00
|
|
|
|
contr<EFBFBD>le</a> : ma<6D>triser l'aiguillage d'un programme ;</li>
|
2005-09-07 12:03:49 +02:00
|
|
|
|
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<li> <a href="fonction.html">d<>finir et appeler des fonctions</a> :
|
|
|
|
|
all<EFBFBD>ger ses programmes et am<61>liorer leur qualit<69> en les concevant d'une
|
|
|
|
|
fa<EFBFBD>on modulaire.</li>
|
2005-07-05 09:18:06 +02:00
|
|
|
|
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<div class="metainformation">
|
|
|
|
|
Bas<EFBFBD> sur un polycopi<70> de Roberto Di Cosmo, Xavier Leroy et Damien
|
|
|
|
|
Doligez.
|
|
|
|
|
Modifications : Nicolas George, Baptiste M<>l<EFBFBD>s.
|
2006-09-17 22:47:20 +02:00
|
|
|
|
Derni<EFBFBD>re modification le <date value="$Date: 2006-09-17 20:48:35 $"
|
2005-05-31 13:33:37 +02:00
|
|
|
|
/>.
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|