Invite de commande

L'invite de commande (en anglais, command prompt ou command-line interface, CLI) est un mode de contrôle d'un ordinateur fonctionnant en ligne de commande (commandes tapées au clavier). Il utilise un interpréteur de commandes en mode interactif.

Les 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.

L'invite elle-même consiste en quelques caractères, en début de ligne (généralement, le nom de compte de l'utilisateur, et/ou l'unité logique par défaut, et/ou le chemin par défaut, et/ou date, ...), se terminant par un caractère bien connu (souvent « ] » ou « > »), invitant l'utilisateur à taper une commande.

L'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.

Perspective historique

Sous UNIX, la ligne de commande a toujours été le moyen privilégié de communication avec l'ordinateur; GNU/Linux, la famille BSD et autres dérivés d'UNIX en ont hérité cette particularité, même s'ils disposent également d'interfaces graphiques complètes (notamment X Xindow et Xorg). Il existe de nombreux interpréteurs de commandes, appelés shells. Le plus célèbre est le bash mais on utilise aussi csh, ksh, sash, sh, tcsh ou encore zsh, etc.

Sous Windows, seule l'invite DOS existe, pour des raisons historiques. Elle se lance par l'utilitaire command.com ou cmd.exe. Jusqu'à Windows 3.x, Windows n'était qu'une interface graphique du DOS, mais a commencé à proposer plus de fonctionnalités que lui à partir de Windows 95. La famille de Windows NT, jusqu'à Windows XP qui en est la version 5.0, se passe presque intégralement de la ligne de commande, et l'invite de commandes qu'elle propose n'est qu'un émulateur, largement bridé, de MS-DOS. Il est toutefois question que la ligne de commande réapparaisse de façon plus significative dans la prochaine version de Windows, Windows Longhorn ; sans doute le succès et la souplesse de Linux sont-ils à l'origine de ce léger revirement de la politique de l'interface homme-machine chez Microsoft.

[ske:~] ske% cd /usr/
 [ske:/usr] ske% ls
 bin             lib             local           share
 include         libexec         sbin            standalone
 [ske:/usr] ske% top
 [ske:/usr] ske% cd /tmp
 [ske:/tmp] ske% ls -l
 total 152
 -rw-r--r--  1 ske   admin  68328 15 Apr 10:54 93633C68062E855100FCE70A
 -rw-r--r--  1 ske   admin      0 19 Apr 09:28 cs_cache_lock_501
 -rw-r--r--  1 root  admin    644 23 Apr 09:05 mcx_compositor
 drwxr-xr-x  3 ske   admin    102 19 Apr 11:39 pb-man
 -rw-r--r--  1 ske   admin     74 15 Apr 10:54 reload-stub.s
 srwxrw-rw-  1 root  admin      0 23 Apr 09:04 slp_ipc
 [ske:/tmp] ske% echo Hello World >test.tmp
 [ske:/tmp] ske% cat test.tmp 
 Hello World
 [ske:/tmp] ske% rm test.tmp 
 [ske:/tmp] ske% 
 </pre>
 
une session avec l'interpréteur tcsh

En anglais, CLI est l'abréviation de Command Line Interface, soit Interface en ligne de commande.

See also: Invite de commande, Années 1960, BSD, Bash, Batch, Bourne shell, Clavier informatique, Csh, DOS, Environnement graphique