Description

Le shell est un programme qui est lancé automatiquement par le système d'exploitation lorsque celui-ci se logge. Il permet à l'utilisateur :

  • d'introduire des commandes,
  • de les éditer,
  • de lancer leur exécution,
  • d'influencer leur exécution,
  • de combiner des commandes
  • de programmer des scripts de commandes

Sous les versions actuelles de Linux et Unix, le shell s'obtient en lançant un terminal. Le shell offre une interface en ligne de commande, c'est-à-dire que l'utilisateur doit taper au clavier toutes les commandes qu'il souhaite utiliser. Une commande est soit une commande interne du shell ou un exécutable?.

La syntaxe classique d'une commande est

 command [-flags] arguments 

Informations complémentaires

Il existe de nombreux shells Unix. Les plus connus sont :

  • sh : le shell de base utilisé pour les scripts du système
  • bash : une extension du shell standard, utilisé comme shell par défaut par les étudiants
  • csh : une des nombreuses variantes de shell

Trucs et astuces

Pour bien utiliser le shell, il faut se souvenir que :

  • Les commandes sont sensibles à la casse [majuscule/minuscule],
  • Chaque commande se termine par <<return>>,
  • Les commandes sont introduites au prompt,
  • Le fonctionnement du shell dépend souvent des valeurs de certaines variables d'environnement,
  • Il est possible de rediriger les entrées/sorties,
  • Plusieurs options peuvent être spécifiées pour chaque commande
  • Par défaut, c'est-à-dire lorsqu'elle est invoquée sans argument, une commande prend ses données sur l'entrée standard et fournit ses résultats sur la sortie standard
  • Plusieurs arguments peuvent être spécifiés pour chaque commande. Ces arguments multiples peuvent être spécifiés sous plusieurs formes
    • Une liste d'arguments séparés par des espaces
    • Une expression qui matchent des noms de fichiers. Dans ce cas, les caractères spéciaux suivants sont utilisés :
      • * matche n'importe quelle suite de caractères. Par exemple, lors de l'exécution de la commande cat*, le shell remplacera d'abord le caractère * par la liste de l'ensemble des fichiers du répertoire courant et passera cette liste comme liste d'arguments à la commande cat
      • ? matche un caractère. Par exemple, si le répertoire courant contient les fichiers f1, fe et de, alors lors de l'exécution de la commande cat f?, le shell passera f1 et fe comme arguments à cette commande
      • [...], matche un caractère se trouvant entre []. Par exemple, si le répertoire courant contient les fichiers f1, fe et de, alors lors de l'exécution de la commande cat f[1-9], le shell passera f1 comme argument à cette commande