Sous Windows, lorsque vous ouvrez une invite de commande, presque toujours le programme en cours d'exécution l'est cmd.exe
. C'est un dérivé NT amélioré de l'ancien DOS command.com
, qui à son tour a des similitudes avec l' CCP
interpréteur de commandes CP / M encore plus ancien .
Sous Linux, comme le mentionne @Griffin, vous utilisez généralement bash
une sorte d'émulateur de terminal si vous l'utilisez dans un environnement graphique. (qui peut varier considérablement en fonction de votre environnement de distribution et de bureau). Cela signifie "Bourne Again SHell" car il s'agit d'une version étendue d'un shell "Bourne" antérieur ( sh
) qui est depuis longtemps standard sur Unix. Il y a d' autres coquilles « alternatives » d'usage courant tels que csh
, ksh
et tcsh
.
Windows cmd.exe
peut également être considéré comme un shell (tout comme explorer.exe
).
L'invite de commandes Windows et tous les shells Unix ont plusieurs "intégrés", ou commandes qui sont entièrement gérées dans le shell. Cela inclut certaines commandes de base (telles que cd
) et de nombreuses commandes et opérateurs conditionnels qui contrôlent le flux de script si un fichier de commandes par lots est exécuté.
Cependant, sous Linux et Windows, la grande majorité des "commandes" qui font des choses utiles sont en fait des programmes externes qui sont "appelés" par le shell. Et c'est le but principal d'un shell, pour permettre à un opérateur de démarrer des programmes en spécifiant des arguments pour ces programmes. Ce n'est pas vraiment un langage de programmation, c'est juste un cadre pour lancer des programmes.