suivant chapitre avant contenu index

Suivant: Se déloguer Chapitre: UNIXConcepts de Avant: Consoles virtuelles


Shells et commandes

    Pour l'essentiel de vos explorations du monde UNIX, vous discuterez avec le système par le biais d'un shell, un interpréteur de commandes. Un shell n'est rien d'autre qu'un programme qui prend ce que l'utilisateur tape et traduit ces commandes en instructions destinées au système. Vous pouvez le comparer au programme COMMAND.COM sous MS-DOS, qui a essentiellement la même fonction. Le shell n'est juste qu'une interface. Les interfaces avec le système sont nombreuses et variées, depuis les nombreux shells disponibles jusqu'au système X Window, qui vous permet d'utiliser des commandes en utilisant le clavier ou la souris, avec affichage sur un écran graphique du plus bel effet.

Dès que vous vous loguez, le système lance le shell, et vous pouvez taper des commandes. Voici un petit exemple. Ici, Dupont entre sur le système, et se retrouve devant l' invite du shell, qui s'appelle le prompt en anglais.

  `` /home/dupont$'' est l'invite du shell, indiquant qu'il est prêt à prendre des commandes. (plus de détails sur ce qu'indique cette invite plus tard). Essayons de demander au système de faire quelque chose d'intéressant:

Comme c'est dommage ! Visiblement la machine ne veut pas prendre notre commande.

      Une question vous brûle aussitôt les lèvres: qu'est-ce qu'une commande ? qu'est ce qui se passe lorsque l'on tape `` servir a boire''? Le premier mot de la commande, `` servir'', est le nom de la commande à exécuter. Tout le reste de la ligne est pris comme arguments de cette commande. Exemples:

Ici, la commande s'appelle `` cp'', et les arguments sont `` toto'' et `` titi''.

Lorsque vous tapez une commande, le shell fait plusieurs choses. Tout d'abord, il regarde le nom de la commande est teste s'il s'agit d'une commande qu'il connaît en interne. (C'est à dire une commande qu'il sait exécuter tout seul. Il en existe un certain nombre que nous verrons plus tard). Ce shell regarde aussi si cette commande est un alias, un synonyme, d'une autre commande. Si aucune de ces conditions n'est vérifiée, le shell recherche alors un programme sur le disque, portant le nom de la commande. S'il trouve un tel programme, il l'exécute, en lui passant les arguments spécifiés sur la ligne de commande.

Dans notre exemple, le shell recherche un programme appelé `` servir'', et ne le trouve pas, nous signale ce fait, et se remet en attente d'autres commandes. Cette situation est très fréquente, lorsque l'on fait une faute de frappe par exemple.

Souvent, ce genre de démonstration se fait en langue anglaise, (les ordinateurs parlent souvent anglais), à l'aide du programme appelé `` make'', qui est destiné en principe à réaliser la compilation de gros programmes. `` Make'', selon les arguments qu'on lui passe, peut afficher des messages d'erreurs amusant beaucoup l'anglophone malicieux. Essayez `` make love'', si vous comprenez l'anglais, et imaginez-en d'autres.



suivant chapitre avant contenu index

Suivant: Se déloguer Chapitre: UNIXConcepts de Avant: Consoles virtuelles


Jean-Michel Antoine
Mon Apr 3 16:04:54 MET DST 1995