Command-line interface

Command-line interface

Interpréteur de commandes

Page d'aide sur l'homonymie Pour les articles homonymes, voir interpréteur et CLI.

Un interpréteur de commandes, parfois désigné par l'anglicisme shell, est un programme faisant partie des composants de base d'un système d'exploitation, le Command-line interface (CLI) (ou invite de commandes).

C'est le mode de contrôle fondamental d'un ordinateur. Ce dernier prend ses données d'entrées en ligne de commande, qui sont transmises à l'interpréteur en mode interactif.

Son rôle est de traiter les commandes tapées au clavier par l'utilisateur. Ces commandes, une fois interprétées, auront pour effet de réaliser telle ou telle tâche d'administration, ou bien de lancer l'exécution d'un logiciel.

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.

Sommaire

Perspective historique

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.

Sous Microsoft Windows

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.1, 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 nouvelle version de Windows, Windows Vista avec le Windows PowerShell (non inclus).

Sous les systèmes UNIX

La console Konsole. On peut y frapper toutes les commandes Linux. Remarquez à droite la barre d'ascenseur pour naviguer dans les résultats antérieurs.
Xterm 4.5 sous Mandrake Linux 10.2
Capture d'écran d'un session Bash, prise sous Gentoo Linux.

Sous 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 (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, Mac OS X se présente comme un environnement essentiellement graphique, mais dispose d'un interpréteur de commandes (tcsh ou bash) qui s'active à partir du programme Terminal.

D'autres langages de scripts tels que Perl, Python ou Ruby, remplacent progressivement les interpréteurs qui sont encore prédominants dans les environnements de démarrage de systèmes UNIX.

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.

Interpréteurs et environnements graphiques

L'invite est l'interface la plus simple à réaliser et conserve de nombreux avantages par rapport aux environnements graphiques :

  • Précision et simplicité d'automatisation des tâches (mode batch) ;
  • Contrôle à distance ;
  • Uniformité ;
  • Stabilité ;
  • Faible consommation des ressources.

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 de Windows, où l'interface graphique est imposée, meme si le serveur n'a pas d'écran, ainsi que de nombreux utilitaires comme Media Player.

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 SHFileOperation() s'occupe des manipulations de fichiers (copie, déplacement, effacement…)

La boucle d'interprétation

Le 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 (<em>prompt</em>)
# Lire la ligne courante
# Exécuter la commande indiquée sur cette ligne
FIN

Quelques interpréteurs populaires

Interpréteur sous Windows

  • Le programme COMMAND.COM sous MS-DOS, qui peut paraître désuet, mais qui occupe un minimum de place sur disque et en mémoire.
  • Le programme cmd.exe sous Windows NT et ses dérivés.
  • Windows PowerShell est le nouvel interpréteur de Microsoft, avec l'approche objet de .NET 2.0.
  • L'Explorateur Windows (Explorer.exe) est l'interpréteur utilisé par l'interface graphique actuelle de Windows. Il est paramétré dans le registre par l'entrée HKey_Current_User\Software\Microsoft\Windows NT\CurrentVersion\Winlogon>Shell. L'interpréteur par défaut peut être remplacé par un interpréteur non Microsoft, comme LiteStep.
  • Progman.exe était l'interpréteur graphique de Windows 3.x. Il est utilisé par le composant WoW (« Windows on Windows ») de Windows XP pour émuler les applications 16 bits. Une technique permet d'utiliser Progman comme interpréteur à la place d'Explorer sous Windows 9x.

En fait, dans la base de registre de Windows, de très nombreux programmes sont considérés comme des interpréteurs.

Interpréteurs Unix

Voir l'article Shell Unix et la catégorie Shell Unix

Exemple

Une session avec l'interpréteur tcsh :

 [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%

Voir aussi

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Interpr%C3%A9teur de commandes ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Command-line interface de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Command Line Interface — Command Line Interface,   CLI …   Universal-Lexikon

  • Command-line interface — Screenshot of a sample Bash session. GNOME Terminal 3, Fedora 15 …   Wikipedia

  • Command Line Interface — Die Kommandozeile, Befehlszeile oder aus dem Englischen command line interface, kurz CLI, oft auch als Konsole oder Terminal bezeichnet, ist ein Eingabebereich (interface) für die Steuerung einer Software, insbesondere eines Betriebssystems, der… …   Deutsch Wikipedia

  • Command line interface — Die Kommandozeile, Befehlszeile oder aus dem Englischen command line interface, kurz CLI, oft auch als Konsole oder Terminal bezeichnet, ist ein Eingabebereich (interface) für die Steuerung einer Software, insbesondere eines Betriebssystems, der… …   Deutsch Wikipedia

  • command line interface — tekstinė sąsaja statusas T sritis informatika apibrėžtis Kompiuterio ↑sąsaja su žmogumi, išreikšta tekstu. Kompiuteris rodo tekstinius pranešimus ir užklausas, žmogus klaviatūra renka komandas, parametrų reikšmes ir kitus duomenis. Naudota… …   Enciklopedinis kompiuterijos žodynas

  • Command Line Interface — (Computers) any interface in which one must type commands after a command prompt (as opposed to a graphical user interface) …   English contemporary dictionary

  • command line interface — noun A user interface in which the user interacts with the computer through lines of text instead of graphical images. Abbreviated as CLI. Syn: character user interface, CUI Ant: graphical user interface …   Wiktionary

  • command line interface — noun a user interface in which you type commands instead of choosing them from a menu or selecting an icon • Syn: ↑CLI • Hypernyms: ↑interface, ↑user interface …   Useful english dictionary

  • Command line completion — is a common feature of command line interpreters, in which the program automatically fills in partially typed tokens. Depending on the specific interpreter and its configuration, these elements may include commands, arguments, environment… …   Wikipedia

  • Command-line interpreter — A command line interpreter (also command line shell, command language interpreter) is a computer program that reads lines of text entered by a user and interprets them in the context of a given operating system or programming language. Command… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”