Définissons tout d'abord ce que représente réellement le terme « shell ». Un shell est un environnement dans lequel on peut taper des commandes qui seront exécutées et renverront un résultat. C'est plus précisément un interpréteur de commandes, c'est-à-dire un programme capable de comprendre et d'exécuter un ensemble de commandes paramétrables. Il sert d'intermédiaire entre l'utilisateur et le système d'exploitation d'où son nom de « shell » : la coquille qui entoure le « noyau » du système.
Lorsque vous ouvrez un terminal, ou lorsque vous ne vous connectez pas à Linux en mode graphique, vous aboutissez sur le shell de votre système. Un message apparaît alors vous signifiant que l'interpréteur attend que vous saisissiez une commande. Ce message, qui apparaîtra à chaque fois que le système attendra que vous lui donniez un ordre, s'appelle le « prompt » et il est configurable. En général, par défaut, il ressemble plus ou moins à :
login@server:~$
