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

129 lines
4.1 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!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 ?</h2>
<p>
Le <strong>shell</strong> est le programme que vous utilisez
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
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 :
</p>
<pre><span class="prompt">sas ~ $</span></pre>
<h3>La coquille magique</h3>
<p>
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
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és du shell :
</p>
<ul>
<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 écrits en shell). </li>
</ul>
<p>
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.
</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 à des résultats visibles.
</p>
<p>
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.
</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é la lecture des pages suivantes :</p>
<ul>
<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,
lire et manipuler des variables avec le shell.</li>
</ul>
<h2>Programmer des scripts shell</h2>
<p>Si vous souhaitez apprendre à programmer en shell (écrire des
scripts), alors nous vous conseillons de lire également :</p>
<ul>
<li> <a href="script.html">programmation de scripts en shell</a> :
écrivez vos premiers programmes en shell ;</li>
<li> <a href="entreesortie.html">entrée, sortie,
redirection</a> : faire interagir les éléments du shell pour
construire des programmes évolués ;</li>
<li> <a href="test.html">test et calcul arithmétique</a> :
manipuler les valeurs de vrai et de faux pour orienter le parcours d'un
programme ;</li>
<li> <a href="boucle.html">boucles et structures de
contrôle</a> : maîtriser l'aiguillage d'un programme ;</li>
<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>
</ul>
<div class="metainformation">
Basé sur un polycopié de Roberto Di Cosmo, Xavier Leroy et Damien
Doligez.
Modifications : Nicolas George, Baptiste Mélès.
<date value="from git" />
</div>
</body>
</html>