Linterpréteur de commandes est linterface entre lutilisateur et le système dexploitation doù son nom anglais "shell" qui signifie "coquille".
Le shell est ainsi chargé de faire lintermédiaire entre le système dexploitation et lutilisateur grâce aux lignes de commandes saisies par ce dernier. Son rôle consiste ainsi à lire la ligne de commande à interpréter sa signification à exécuter la commande puis à retourner le résultat sur les sorties.
Le shell est ainsi un fichier exécutable chargé dinterpréter les commandes de les transmettre au système et de retourner le résultat. Il existe plusieurs shells les plus courants étant sh (Appelé "Bourne shell") bash ("Bourne again shell") csh ("C Shell") Tcsh ("Tenex C shell") ksh ("Korn shell") et zsh ("Zero shell"). Leur nom correspond généralement au nom de lexécutable.
Chaque utilisateur possède un shell par défaut qui sera lancé à louverture dune invite de commande. Le shell par défaut est précisé dans le fichier de configuration /etc/passwd/ dans le dernier champ de la ligne correspondant à lutilisateur. Il est possible de changer de shell dans une session en exécutant tout simplement le fichier exécutable correspondant.