Interpréteur de commandesUn interpréteur de commandes (CLI pour command-line interpreter en anglais) est un logiciel système faisant partie des composants de base d'un système d'exploitation. Sa fonction est d'interpréter les commandes qu'un utilisateur tape au clavier dans l'interface en ligne de commande. Perspective historiqueLes premiers systèmes capables d'interpréter des lignes de commandes sont apparus au début des années 1960, en même temps que le clavier informatique. Auparavant, les ordinateurs étaient uniquement utilisés en traitement par lots. Sous DOSSous DOS, quelle que soit la mouture (MS-DOS, FreeDOS, DR-DOS, PC-DOS…), il existe un interpréteur nommé COMMAND. Il existe aussi 4DOS (ou la version Norton NDOS) un interpréteur plus évolué mais consommant beaucoup plus de mémoire. Sous Microsoft WindowsL'interpréteur de commande se lance par l'exécutable Depuis le , un troisième interpréteur de commande a été développé par Microsoft : PowerShell 1.0 est distribué comme une mise à jour logicielle facultative par le service Windows Update de Windows XP et Vista. Il est intégré nativement en version 2.0 dans Windows 7. Sous les systèmes UNIXSous UNIX, la ligne de commande a toujours été le moyen privilégié de communication avec l'ordinateur. Le Bourne shell (sh) est l'interpréteur originel de l'environnement UNIX. À son époque, sa grande originalité était l'utilisation de tubes ou pipes (caractère « | »), qui permettent de connecter la sortie d'une commande à l'entrée d'une autre. On peut ainsi écrire des commandes complexes à partir de commandes simples. GNU/Linux, la famille BSD et autres dérivés d'UNIX ont hérité de cette particularité, même s'ils disposent également d'interfaces graphiques complètes (notamment X Window et Xorg). Parmi ces dérivés, macOS se présente comme un environnement essentiellement graphique, mais dispose d'un interpréteur de commandes (tcsh, bash ou zsh) qui s'active à partir de l'utilitaire Terminal. Si l'utilisateur le désire, les langages de scripts tels que Perl, Python ou Ruby, peuvent remplacer certaines fonctionnalités de l'interpréteur de commandes, par exemple la manipulation des expressions régulières. La dépendance des interpréteurs vis-à-vis de commandes externes rend les scripts peu portables, même si les interpréteurs eux-mêmes ont été portés sur des environnements autres que leur environnement originel UNIX. Dans les équipements réseauSi aujourd'hui, de plus en plus d'équipements réseau proposent une interface graphique d'administration par pages web, les premières interfaces utilisateurs de ce type d'équipement ont été des interfaces en ligne de commande. On citera le cas des équipements Cisco et du CLI intégré dans le système d'exploitation IOS qui reste une référence de CLI (Cisco Like Interface pour ceux qui s'en inspirent). Interpréteurs et environnements graphiquesL'invite est l'interface la plus simple à réaliser et conserve de nombreux avantages par rapport aux environnements graphiques :
Beaucoup de serveurs ne s'administrent qu'en ligne de commande car il y a peu de raisons d'avoir besoin d'une interface graphique sur un serveur, interface qui pourrait être source de dysfonctionnements et dont la prise en main distante est plus ardue — exception faite de Windows où l'interface graphique est imposée, même si le serveur n'a pas d'écran, ainsi que de nombreux utilitaires comme Media Player —. On notera tout de même l'apparition de version Core Serveur de MS 2008 Serveur, version dans laquelle l'interface graphique n'est pas installée, le pilotage se faisant en mode ligne de commande dans le langage propriétaire de Microsoft PowerShell ou au travers de consoles de gestion Microsoft. Dans l'utilisation bureautique quotidienne, les gestionnaires de fichiers graphiques et autres menus de lancement d'applications tendent à remplacer l'interpréteur en fournissant une alternative plus conviviale. Néanmoins, l'interpréteur reste l'outil le plus polyvalent, encore irremplaçable pour certaines tâches. Ainsi, interpréteur et logiciels utilitaires en mode graphique sont complémentaires dans toute utilisation poussée de l'outil informatique. En programmation Windows, on appelle aussi fonctions shell (ou shell API) les fonctions exportées par l'Explorer. Par exemple la fonction La boucle d'interprétationLe travail de tout interprète de commande peut se résumer à l'algorithme très simple suivant : TANT QUE l'utilisateur ne ferme pas la session FAIRE # Émettre un signe d'invite (prompt) # Lire la ligne courante # Exécuter la commande indiquée sur cette ligne FIN Quelques interpréteurs populairesInterpréteur sous Windows
En fait, dans la base de registre de Windows, de très nombreux programmes sont considérés comme des interpréteurs. Interpréteurs UnixIl existe une trentaine d'interpréteurs UNIX[1], appelés shell unix ou parfois simplement shell. En voici quelques-uns, à titre d'exemple[2] :
Voir aussi
Liens externes
Références
|