tuteurs.ens.fr/unix/shell/index.tml

131 lines
4.1 KiB
Text
Raw Normal View History

<?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>
<h1>Le shell</h1>
<h2>Qu'est-ce que le shell<6C>?</h2>
<p>
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
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<6D>:
</p>
<pre><span class="prompt">clipper ~ $</span></pre>
<h3>La coquille magique</h3>
<p>
Le mot <em>shell</em> signifie <20><>coquille<6C><65> en anglais. Mais
quel rapport avec une coquille<6C>? Eh bien, dans une coquille vous
pouvez mettre de l'eau, pour la porter ensuite <20> votre bouche<68>;
vous pouvez y mettre du sable avant de le verser dans des bocaux<75>;
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.
</p>
<h3>Les usages du shell</h3>
<p>
Ces pages vous donneront les rudiments pour exploiter les deux
principales fonctionnalit<69>s du shell<6C>:
</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><3E>;</li>
2005-09-08 01:00:03 +02:00
<li> la conception de <a href="script.html"><strong>scripts</strong></a>
(programmes <20>crits en shell). </li>
</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<64>; et l'<27>criture de
2005-09-08 01:00:03 +02:00
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<65>; elles
2005-09-08 01:00:03 +02:00
sont accessibles <20> ceux qui ont une formation litt<74>raire.
</p>
<h2>Le shell en ligne de commande</h2>
<p>Si vous souhaitez utiliser le shell en ligne de commandes, nous vous
recommandons en priorit<69> la lecture des pages suivantes<65>:</p>
<ul>
2005-09-08 01:00:03 +02:00
<li> <a href="presentation.html">pr<70>sentation g<>n<EFBFBD>rale du
shell</a><3E>: qu'est-ce que le shell<6C>? Comment
l'utiliser<65>?</li>
<li> <a href="commande.html">le shell en ligne de commande</a><3E>:
les bases de l'utilisation du shell en ligne de commande<64>;</li>
<li> <a href="variable.html">les variables</a><3E>: comment cr<63>er,
2005-09-08 01:00:03 +02:00
lire et manipuler des variables avec le shell.</li>
</ul>
<h2>Programmer des scripts shell</h2>
<p>Si vous souhaitez apprendre <20> programmer en shell (<28>crire des
scripts), alors nous vous conseillons de lire <20>galement<6E>:</p>
<ul>
<li> <a href="script.html">programmation de scripts en shell</a><3E>:
<EFBFBD>crivez vos premiers programmes en shell<6C>;</li>
2005-07-05 09:18:06 +02:00
<li> <a href="entreesortie.html">entr<74>e, sortie,
redirection</a><3E>: faire interagir les <20>l<EFBFBD>ments du shell pour
construire des programmes <20>volu<6C>s<EFBFBD>;</li>
2005-07-05 09:18:06 +02:00
<li> <a href="test.html">test et calcul arithm<68>tique</a><3E>:
2005-09-08 01:00:03 +02:00
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
programme<EFBFBD>;</li>
2005-07-05 09:18:06 +02:00
<li> <a href="boucle.html">boucles et structures de
contr<EFBFBD>le</a><3E>: ma<6D>triser l'aiguillage d'un programme<6D>;</li>
<li> <a href="fonction.html">d<>finir et appeler des fonctions</a><3E>:
2005-09-08 01:00:03 +02:00
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
</ul>
<div class="metainformation">
Bas<EFBFBD> sur un polycopi<70> de Roberto Di Cosmo, Xavier Leroy et Damien
Doligez.
Modifications<EFBFBD>: Nicolas George, Baptiste M<>l<EFBFBD>s.
Derni<EFBFBD>re modification le <date value="$Date: 2007-07-17 10:03:43 $"
/>.
</div>
</body>
</html>