Interface En Ligne De Commande

ÔĽŅ
Interface En Ligne De Commande

Interface en ligne de commande


Une interface en ligne de commande est une interface homme-machine dans laquelle la communication entre l'utilisateur et l'ordinateur s'effectue en mode texte :

  • l'utilisateur tape du texte au clavier pour demander √† l'ordinateur d'effectuer diverses op√©rations
  • l'ordinateur affiche du texte correspondant au r√©sultat de l'ex√©cution des commandes demand√©es ou √† des questions qu'un logiciel pose √† l'utilisateur.

Une interface en ligne de commandes peut servir aussi bien pour lancer l'exécution de divers logiciels au moyen d'un interpréteur de commandes, que pour les dialogues avec l'utilisateur de ces logiciels.

Sommaire

Historique

L'interface en ligne de commande est la plus ancienne des interfaces conversationnelles d√©velopp√©es sur des ordinateurs. Avant cela, les ordinateurs fonctionnaient en traitement par lots : on faisait ingurgiter √† l'ordinateur des donn√©es enregistr√©es sur une s√©rie de cartes perfor√©es ou une bande perfor√©e. Ces donn√©es indiquaient √† l'ordinateur quels programmes lancer et de quelles informations ces programmes disposaient pour s'ex√©cuter. Le r√©sultat du traitement (r√©ussi ou erron√©) √©tait imprim√© sans qu'aucun dialogue avec l'utilisateur ne soit intervenu.

L'apparition des télétypes dans les années 1960, puis, plus tard des consoles à partir des années 1970, qui sont des périphériques qui reçoivent et envoient des caractères à l'ordinateur, a permis le travail sur ordinateur sous la forme de sessions. Le dialogue entre l'utilisateur et l'ordinateur s'effectuait alors en ligne de commandes.

A partir des années 1980, l'apparition de terminaux en mode graphique et des souris a permis les développement des interfaces graphiques, plus appréciés du grand public, peut être parce qu'elles ne nécessitent pas d'apprendre les noms de différentes commandes avant d'utiliser un ordinateur. Néanmoins, tout particulièrement sur les systèmes d'exploitations dérivés d'Unix, les interfaces en ligne de commandes restent encore de nos jours appréciées de certains informaticiens, étant donné la richesse de leurs possibilités.

L'interface en lignes de commandes sous Unix

L'une des particularités du système d'exploitation Unix, dont Linux est dérivé, est que, dès son origine, il a disposé de plus d'une centaine de logiciels, effectuant souvent des traitements très simple, tous utilisables en ligne de commandes.

Syntaxe générale des commandes

Les commandes √©l√©mentaires sous Unix sont de la forme :

commande options fichiers_ou_données

La commande apparaissant en début de ligne est presque toujours le nom d'un logiciel. Ce logiciel peut être une commande du système d'exploitation, un logiciel écrit par un utilisateur (souvent en langage C) ou un shell. Quelques rares commandes comme la commande cd (changement de répertoire) ne peuvent pas être traitées correctement par un logiciel spécifique. Elles sont dans ce cas directement exécutées par l'interpréteur de commandes.

Certaines de ces commandes peuvent s'exécuter en tapant au clavier seulement leur nom. Mais la plupart des commandes acceptent des options (un tiret suivi d'une ou plusieurs lettres) qui permettent d'utiliser la commande autrement que dans son mode de fonctionnement par défaut. Enfin, bon nombre de commandes sont suivies d'un ou plusieurs noms de fichier, répertoire ou autre, avec lesquels elles vont travailler. Toutes les informations séparées par des espaces à droite du nom de la commande sont appelées arguments de la ligne de commandes.

Le langage C a été conçu pour permettre de récupérer facilement les arguments de la ligne de commandes depuis le logiciel qui les utilise.

Les redirections d'entrées/sorties

Par défaut, les commandes conversationnelles récupèrent les données tapées par l'utilisateur au clavier. Le résultat de leur exécution s'affiche à l'écran. En cas d'erreur à l'exécution, les messages d'erreur apparaissent aussi à l'écran.

Il est possible d'indiquer √† l'interpr√©teur de commandes que des donn√©es en entr√©e ou en sortie doivent √™tre r√©cup√©r√©es/stock√©es dans des fichiers plut√īt qu'au clavier et √† l'√©cran. Pour cela, diff√©rents types de redirection des entr√©es/sorties sont disponibles :

  • < entree signifie que les donn√©es de la commande seront lues dans le fichier de nom entree plut√īt qu'au clavier.
  • > sortie signifie que les donn√©es g√©n√©r√©es par la commande seront √©crites dans le fichier de nom sortie plut√īt qu'√† l'√©cran. Si le fichier sortie existait d√©j√†, son ancien contenu est effac√©, sinon ce fichier est cr√©√© au lancement de la commande.
  • >> sortie semblable au cas pr√©c√©dent sauf que si le fichier sortie existait d√©j√†, son ancien contenu est conserv√© et les nouvelles donn√©es sont copi√©es √† la suite.
  • 2> erreur signifie que les messages d'erreur g√©n√©r√©s par la commande seront √©crits dans le fichier de nom erreur plut√īt qu'√† l'√©cran. Si le fichier erreur existait d√©j√†, son ancien contenu est effac√©, sinon ce fichier est cr√©√© au lancement de la commande.
  • 2>> erreur semblable au cas pr√©c√©dent sauf que si le fichier erreur existait d√©j√†, son ancien contenu est conserv√© et les nouveaux messages d'erreur sont copi√©s √† la suite.
  • 2>&1 les messages d'erreurs sont fusionn√©s avec les donn√©es en sortie
  • 1>&2 les donn√©es en sortie sont fusionn√©s avec les messages d'erreurs (cas rare).

Exemples :

sort monfichier

affiche √† l'√©cran les lignes du fichier monfichier class√©es par ordre alphab√©tique. Si le fichier monfichier n'existe pas, un message d'erreur appara√ģt √† l'√©cran.

sort monfichier > resultat 2> problemes

m√©morise dans le fichier resultat les lignes du fichier monfichier class√©es par ordre alphab√©tique. Si le fichier monfichier n'existe pas, un message d'erreur appara√ģt dans le fichier problemes.

Encha√ģnement des commandes

Les syst√®mes d'exploitation de type Unix permettent d'encha√ģner l'ex√©cution de plusieurs commandes. Les donn√©es en sortie d'une commande sont utilis√©es en entr√©e de la commande suivante sans qu'il soit n√©cessaire de recourir √† des fichiers interm√©diaires.

La syntaxe g√©n√©rale est :

commande1 options arguments | commande2 options | commande3 ...

Exemple :

find / -size +1000k -mtime -7 | sort | tee trace | less
  • la commande find recherche dans tous les r√©pertoires de l'ordinateur les fichiers de plus de 1000 koctets modifi√©s durant les 7 derniers jours et affiche leur chemin d'acc√®s
  • la commande sort fait un tri alphab√©tique des donn√©es re√ßues en entr√©e
  • la commande tee envoie √† la fois √† l'√©cran et dans le fichier trace les donn√©es re√ßues en entr√©e
  • la commande less permet de visualiser un texte trop long pour tenir en entier √† l'√©cran. On peut se d√©placer dans ce texte en utilisant le clavier.

En une seule ligne de commandes, la commande ci-dessus recherche dans tous les répertoires de l'ordinateur les fichiers de plus de 1000 koctets modifiés durant les 7 derniers jours, en affiche page par page avec possibilité de se déplacer dans la liste les chemins d'accès triés par ordre alphabétique, et mémorise également ces chemins d'accès dans le fichier trace.

Les métacaractères

Des m√©tacaract√®res peuvent √™tre utilis√©s dans les lignes de commandes pour exprimer des noms de fichiers qui poss√®dent une partie commune :

  • ? signifie n'importe quel caract√®re
  • * signifie n'importe quel caract√®re, 0, une ou plusieurs fois
  • [c1-c2] signifie n'importe quel caract√®re de l'ensemble ordonn√© commen√ßant par le caract√®re c1 et finissant part le caract√®re c2. Il peut aussi y avoir une liste de caract√®res entre les [ ] .
  • \ signifie que le caract√®re qui le suit ne doit pas √™tre trait√© comme un m√©tacaract√®re
  • le caract√®re . en premi√®re position doit √™tre pr√©cis√© explicitement

Exemples :

  • * signifie tous les fichiers du r√©pertoire courant (sauf ceux dont le nom commence par un point)
  • /usr/bin/vi* signifie tous les fichiers du r√©pertoire /usr/bin dont le nom commence par vi
  • /dev/hd[abcd][0-9] signifie tous les fichiers du r√©pertoire /dev dont le nom commence par hda, hdb, hdc, hdd, suivi d'un chiffre unique
  • ?a? signifie tous les fichiers du r√©pertoire courant dont le nom comporte 3 caract√®res avec un a au milieu (et pas de point au d√©but)

Utilisation du résultat d'une commande comme argument d'une autre

Les ` entourant une commande permettent d'utiliser le résultat de cette commande comme argument(s) dans la ligne de commande.

Exemples :

echo "Nous sommes le" `date +%d/%m/%y` "et il est" `date +%H:%M:%S`

affiche une phrase contenant la date et l'heure courante. Pour cela, la commande date est exécutée 2 fois avec un format de sortie différent.

echo "2 + 2 =" `expr 2 + 2`

affiche 2 + 2 = 4 après avoir fait le calcul.

Autres particularités

  • le ; dans une ligne de commandes permet d'ex√©cuter les unes apr√®s les autres, plusieurs commandes saisies sur la m√™me ligne
  • la suite de caract√®res && (qui signifient et) entre 2 morceaux d'une commande, a pour cons√©quence que la partie droite de la commande s'ex√©cutera seulement si la partie gauche s'est bien d√©roul√©e
  • les suites de caract√®res || (qui signifient ou) entre 2 morceaux d'une commande, a pour cons√©quence que la partie droite de la commande s'ex√©cutera m√™me si la partie gauche s'est mal d√©roul√©e
  • le & √† la fin d'une commande permet de lancer celle-ci en t√Ęche de fond.

L'interface en lignes de commandes MS/DOS

MS-DOS a été créé au tout début des années 1980. Il fonctionne en ligne de commandes avec le même genre de syntaxe que les commandes Unix. Mais la liste des commandes disponibles sous MS-DOS est beaucoup plus réduite.

Certaines commandes comme sort jouent le m√™me r√īle sous Unix et sous MS-DOS.

D'autres commandes ont un nom différent dans les 2 systèmes d'exploitation. Ainsi, la commande find

  • permet de rechercher des fichiers sous Unix
  • permet de rechercher des cha√ģnes de caract√®res dans un fichier sous MS-DOS, ce que fait la commande fgrep sous UNIX (ou grep -f sous Linux).

Les lignes de commandes MS-DOS ont globalement la même syntaxe que les commandes Unix, mais les possibilités sont plus réduites.

MS-DOS permet :

  • l'utilisation du m√©tacaract√®re *
  • la redirection des entr√©es/sorties, sauf pour la sortie erreur
  • l'encha√ģnement des commandes gr√Ęce au |
Article d√©taill√© : Command.com.

L'interface en lignes de commandes de Windows NT

cmd.exe est l'interface en ligne de commande des systèmes d'exploitation de la famille Windows NT (incluant Microsoft Windows 2000, Microsoft Windows XP, Microsoft Windows Vista...). C'est une évolution de l'interface de MS-DOS.

Avec Windows Vista, appara√ģt un nouvel environnement en ligne de commande Windows PowerShell, fonctionnant √©galement sous Windows XP SP2.

Voir aussi

  • Portail de l‚Äôinformatique Portail de l‚Äôinformatique
Ce document provient de ¬ę Interface en ligne de commande ¬Ľ.

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Interface En Ligne De Commande de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Interface en ligne de commande ‚ÄĒ Capture d √©cran d un shell Bash sous Gentoo. Une interface en ligne de commande (couramment abr√©g√© CLI en anglais) est une interface homme machine dans laquelle la communication entre l utilisateur et l ordinateur s effectue en mode texte :… ‚Ķ   Wikip√©dia en Fran√ßais

  • Ligne de commande ‚ÄĒ Interface en ligne de commande Une interface en ligne de commande est une interface homme machine dans laquelle la communication entre l utilisateur et l ordinateur s effectue en mode texte : l utilisateur tape du texte au clavier pour… ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface utilisateur graphique ‚ÄĒ Environnement graphique Pour les articles homonymes, voir GUI. Sch√©ma en couches d une interface graphique Un ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface graphique ‚ÄĒ Pour les articles homonymes, voir GUI. interface graphique En informatique, une interface graphique (anglais GUI pour graphical user interface) est un dispositif de d ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface utilisateur ‚ÄĒ Cette page d‚Äôhomonymie r√©pertorie les diff√©rents sujets et articles partageant un m√™me nom. En informatique l¬īinterface utilisateur est le dispositif qui permet √† l usager de manipuler la machine. L¬īinterface graphique est un dispositif dans… ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface Homme-Machine ‚ÄĒ Personne √©quip√©e d un visiocasque et d un gant de donn√©es de r√©alit√© virtuelle. L interface homme machine ou interaction humain machine (IHM) ou interface personne machine (IPM) √©tudie la fa√ßon dont les humains interagissent avec les ordinateurs… ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface Homme/machine ‚ÄĒ Interface Homme Machine Personne √©quip√©e d un visiocasque et d un gant de donn√©es de r√©alit√© virtuelle. L interface homme machine ou interaction humain machine (IHM) ou interface personne machine (IPM) √©tudie la fa√ßon dont les humains… ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface homme machine ‚ÄĒ Personne √©quip√©e d un visiocasque et d un gant de donn√©es de r√©alit√© virtuelle. L interface homme machine ou interaction humain machine (IHM) ou interface personne machine (IPM) √©tudie la fa√ßon dont les humains interagissent avec les ordinateurs… ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface humain-machine ‚ÄĒ Interface Homme Machine Personne √©quip√©e d un visiocasque et d un gant de donn√©es de r√©alit√© virtuelle. L interface homme machine ou interaction humain machine (IHM) ou interface personne machine (IPM) √©tudie la fa√ßon dont les humains… ‚Ķ   Wikip√©dia en Fran√ßais

  • Interface personne-machine ‚ÄĒ Interface Homme Machine Personne √©quip√©e d un visiocasque et d un gant de donn√©es de r√©alit√© virtuelle. L interface homme machine ou interaction humain machine (IHM) ou interface personne machine (IPM) √©tudie la fa√ßon dont les humains… ‚Ķ   Wikip√©dia en Fran√ßais


Share the article and excerpts

Direct link
… Do a right-click on the link above
and select ‚ÄúCopy Link‚ÄĚ

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.