El interprete de comandos es el programa que recibe lo que se escribe en la terminal y lo convierte en instrucciones para el sistema operativo.
En otras palabras el objetivo de cualquier intérprete de comandos es ejecutar los programas que el usuario teclea en el prompt del mismo. El prompt es una indicación que muestra el intérprete para anunciar que espera una orden del usuario. Cuando el usuario escribe una orden, el intérprete ejecuta dicha orden. En dicha orden, puede haber programas internos o externos: Los programas internos son aquellos que vienen incorporados en el propio intérprete, mientras que los externos son programas separados (ej: aplicaciones de /bin,/usr/bin,...).
En el mundo Linux/Unix existen tres grandes familias de Shells como se muestra en la tabla 3.4. Estas se diferencian entre sí básicamente en la sintaxis de sus comandos y en la interacción con el usuario.
Tipo de Shell | Shell estándar | Clones libres |
AT&T Bourne shell | sh | ash, bash, bash2 |
Berkeley "C" shell | csh | tcsh |
AT&T Korn shell | ksh | pdksh, zsh |
Otros interpretes | -- | esh, gush, nwsh |