2009-09-20 12:34:28 +02:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
<!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>
|
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<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
|
2009-09-20 12:27:14 +02:00
|
|
|
|
régulièrement sur les machines Unix de l'ENS (que ce soient les Sun, les
|
|
|
|
|
PC sous Linux ou autres dérivés d'Unix), et qui <strong>interprè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
|
2009-09-20 12:27:14 +02:00
|
|
|
|
instructions et vous dit quelque chose comme :
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
2013-10-20 00:04:58 +02:00
|
|
|
|
<pre><span class="prompt">sas ~ $</span></pre>
|
2005-06-03 17:52:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>La coquille magique</h3>
|
|
|
|
|
|
2005-05-31 13:33:37 +02:00
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Le mot <em>shell</em> signifie « coquille » en anglais. Mais
|
|
|
|
|
quel rapport avec une coquille ? Eh bien, dans une coquille vous
|
|
|
|
|
pouvez mettre de l'eau, pour la porter ensuite à 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
|
2005-06-03 17:52:42 +02:00
|
|
|
|
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
|
2009-09-20 12:27:14 +02:00
|
|
|
|
principales fonctionnalités du shell :
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<ul>
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<li> l'usage interactif, reposant sur les <a
|
|
|
|
|
href="commande.html"><strong>lignes de
|
2009-09-20 12:27:14 +02:00
|
|
|
|
commandes</strong></a> ;</li>
|
2005-09-08 01:00:03 +02:00
|
|
|
|
|
|
|
|
|
<li> la conception de <a href="script.html"><strong>scripts</strong></a>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
(programmes écrits en shell). </li>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</ul>
|
|
|
|
|
|
2005-09-08 01:00:03 +02:00
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Ces deux usages du shell sont tout à fait complémentaires. Pour une
|
|
|
|
|
utilisation quotidienne, il est important de connaître quelques bases de
|
|
|
|
|
l'utilisation du shell en ligne de commande ; et l'écriture de
|
|
|
|
|
scripts shell permet de personnaliser son système en automatisant des
|
|
|
|
|
tâches répétitives et fastidieuses.
|
2005-09-08 01:00:03 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Par ailleurs, la programmation en shell fournit un excellent marche-pied
|
|
|
|
|
pour apprendre la programmation. C'est un langage simple, qui permet
|
2009-09-20 12:27:14 +02:00
|
|
|
|
d'arriver rapidement à des résultats visibles.
|
2005-09-08 01:00:03 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Les pages que nous consacrons ici à l'apprentissage du shell vous
|
|
|
|
|
apprendront à manipuler cet outil précieux et puissant. Elles
|
|
|
|
|
sont accessibles à des débutants, même s'ils n'ont aucune connaissance
|
|
|
|
|
préalable avancée en informatique, ni même en mathématiques ; elles
|
|
|
|
|
sont accessibles à ceux qui ont une formation littéraire.
|
2005-09-08 01:00:03 +02:00
|
|
|
|
</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
|
2009-09-20 12:27:14 +02:00
|
|
|
|
recommandons en priorité la lecture des pages suivantes :</p>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
|
|
|
|
|
<ul>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li> <a href="presentation.html">présentation générale du
|
|
|
|
|
shell</a> : qu'est-ce que le shell ? Comment
|
|
|
|
|
l'utiliser ?</li>
|
|
|
|
|
<li> <a href="commande.html">le shell en ligne de commande</a> :
|
|
|
|
|
les bases de l'utilisation du shell en ligne de commande ;</li>
|
|
|
|
|
<li> <a href="variable.html">les variables</a> : comment créer,
|
2005-09-08 01:00:03 +02:00
|
|
|
|
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
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<p>Si vous souhaitez apprendre à programmer en shell (écrire des
|
|
|
|
|
scripts), alors nous vous conseillons de lire également :</p>
|
2005-05-31 13:33:37 +02:00
|
|
|
|
|
|
|
|
|
<ul>
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li> <a href="script.html">programmation de scripts en shell</a> :
|
|
|
|
|
écrivez vos premiers programmes en shell ;</li>
|
2005-07-05 09:18:06 +02:00
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li> <a href="entreesortie.html">entrée, sortie,
|
|
|
|
|
redirection</a> : faire interagir les éléments du shell pour
|
|
|
|
|
construire des programmes évolués ;</li>
|
2005-07-05 09:18:06 +02:00
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li> <a href="test.html">test et calcul arithmétique</a> :
|
2005-09-08 01:00:03 +02:00
|
|
|
|
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
|
2009-09-20 12:27:14 +02:00
|
|
|
|
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
|
2009-09-20 12:27:14 +02:00
|
|
|
|
contrôle</a> : maîtriser l'aiguillage d'un programme ;</li>
|
2005-09-07 12:03:49 +02:00
|
|
|
|
|
2009-09-20 12:27:14 +02:00
|
|
|
|
<li> <a href="fonction.html">définir et appeler des fonctions</a> :
|
|
|
|
|
alléger ses programmes et améliorer leur qualité en les concevant d'une
|
|
|
|
|
façon modulaire.</li>
|
2005-07-05 09:18:06 +02:00
|
|
|
|
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<div class="metainformation">
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Basé sur un polycopié de Roberto Di Cosmo, Xavier Leroy et Damien
|
2005-05-31 13:33:37 +02:00
|
|
|
|
Doligez.
|
2009-09-20 12:27:14 +02:00
|
|
|
|
Modifications : Nicolas George, Baptiste Mélès.
|
2009-09-27 22:00:55 +02:00
|
|
|
|
<date value="from git" />
|
2005-05-31 13:33:37 +02:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|