Interpréteur de lignes de commandes (Shell)
En informatique, le terme shell désigne un logiciel fournissant une interface à l'utilisateur pour des composantes d'un ensemble informatique plus grand. Bien qu'il peut aussi désigner une interface graphique1), shell est plus généralement employé pour désigner un interpréteur de lignes de commandes pouvant accéder aux services et interagir avec le noyau d'un système d'exploitation. Dans le cas d'Ubuntu, un shell interagit avec le noyau Linux.
Le rôle de l'interpréteur de lignes de commandes est de traiter une ligne de commande, comprendre son contenu et exécuter la tâche associée. Le shell est intimement lié avec la notion de terminal, qui est une interface en mode texte dans lequel des lignes de commandes peuvent être saisies. Une fois une ligne de commande écrite dans un terminal, celui-ci l'envoie à l'interpréteur de lignes de commandes, qui la décortique et l'exécute.
Il existe de nombreux interpréteurs de lignes de commandes, qui fonctionnent tous plus ou moins pareillement. Par défaut, le shell associé à un compte d'utilisateur dans Ubuntu est Bourne-Again Shell (Bash) ; toutes les commandes saisies par un utilisateur dans un émulateur de terminal sont traitées par Bash. Ubuntu inclut aussi l'interpréteur Bourne Shell (sh) pour qui en a besoin ou souhaiterait l'utiliser par défaut. D'autres shells, comme Z Shell (zsh) ou C-Shell (csh), peuvent être installés facilement à l'aide de son gestionnaire de paquets.