Lire en anglais

Partager via


Qu’est-ce qu’un interpréteur de commandes ?

De nombreuses personnes utilisent les termes de l’interpréteur de commandes, outil en ligne de commandeet terminal de façon interchangeable, ce qui peut prêter à confusion. Cet article explique la différence entre ces concepts et fournit des exemples de chacun d’eux.

Un interpréteur de commandes est une interface de ligne de commande interactive pour gérer un ordinateur, également appelée un Read-Eval-Print Loop (REPL).

Un interpréteur de commandes prend une entrée à partir du clavier, évalue cette entrée et exécute l’entrée en tant que commande shell ou transfère l’entrée au système d’exploitation à exécuter. La plupart des interpréteurs de commandes peuvent également lire des commandes à partir d’un fichier de script et inclure des fonctionnalités de programmation telles que des variables, un contrôle de flux et des fonctions.

Types d’interpréteurs de commandes

Il existe deux types principaux d’interpréteurs de commandes :

  • Shells de commandes à usage général

    Les interpréteurs de commandes à usage général sont conçus pour fonctionner avec le système d’exploitation et vous permettent d’exécuter n’importe quelle commande prise en charge par le système d’exploitation. Ils incluent également des commandes spécifiques à l’interpréteur de commandes et des fonctionnalités de programmation. La liste suivante contient quelques exemples d’interpréteurs de commandes à usage général :

  • Interpréteurs de commandes utilitaires

    Les interpréteurs de commandes utilitaires sont conçus pour fonctionner avec des applications ou des services spécifiques. Ces interpréteurs de commandes peuvent uniquement exécuter des commandes spécifiques à l’application ou au service. Certains interpréteurs de commandes utilitaires prennent en charge l’exécution de commandes à partir d’un script batch, mais n’incluent pas de fonctionnalités de programmation. En règle générale, ces interpréteurs de commandes ne peuvent être utilisés que de manière interactive.

    • AI Shell : interpréteur de commandes interactif uniquement utilisé pour communiquer avec les services IA tels qu’Azure OpenAI.
    • netsh - L’interpréteur de commandes réseau (netsh) est un utilitaire de ligne de commande qui vous permet de configurer et d’afficher l’état de divers composants réseau sur Windows. Il s’agit à la fois d’un outil en ligne de commande et d’un interpréteur de commandes. Il prend également en charge l’exécution de commandes à partir d’un fichier de script.

Outils en ligne de commande

Un outil en ligne de commande est un programme autonome que vous exécutez à partir d’un interpréteur de commandes. Les outils en ligne de commande sont généralement conçus pour effectuer une tâche spécifique, comme la gestion des fichiers, la configuration des paramètres ou l’interrogation d’informations. Les outils en ligne de commande peuvent être utilisés dans n’importe quel interpréteur de commandes prenant en charge l’exécution de programmes externes.

  • Azure CLI : collection d’outils en ligne de commande pour la gestion des ressources Azure qui peuvent être exécutées dans n’importe quel interpréteur de commandes pris en charge.
  • Azure PowerShell : collection de modules PowerShell pour la gestion des ressources Azure qui peuvent être exécutées dans n’importe quelle version prise en charge de PowerShell.
  • OpenSSH pour Windows : inclut un client de ligne de commande et un serveur qui fournit une communication sécurisée sur un réseau.
  • Commandes Windows : collection d’outils en ligne de commande intégrés à Windows.

En général, les outils en ligne de commande ne fournissent pas d’interface REPL (Command Shell). La commande netsh dans Windows est une exception, car il s’agit à la fois d’un outil en ligne de commande et d’un interpréteur de commandes interactif.

Terminaux

Un terminal est une application qui fournit une fenêtre basée sur du texte pour héberger des interpréteurs de commandes. Certains terminaux sont conçus pour fonctionner avec un interpréteur de commandes spécifique, tandis que d’autres peuvent héberger plusieurs interpréteurs de commandes. Ils peuvent également inclure des fonctionnalités avancées telles que :

  • Possibilité de créer plusieurs volets dans une seule fenêtre
  • Possibilité de créer plusieurs onglets pour héberger plusieurs interpréteurs de commandes
  • Possibilité de modifier des jeux de couleurs et des polices
  • Prise en charge des opérations de copie et de collage

La liste suivante contient quelques exemples d’applications terminales :

  • terminal Windows : application de terminal moderne pour Windows qui peut héberger plusieurs interpréteurs de commandes.
  • hôte de console Windows : l’application hôte par défaut sur Windows pour les applications textuelles. Il peut également héberger l’interpréteur de commandes Windows ou PowerShell.
  • Terminal pour macOS : application de terminal par défaut sur macOS qui peut héberger l’interpréteur de commandes bash ou zsh.
  • iTerm2 pour macOS - une application de terminal tierce populaire pour macOS.
  • Azure Cloud Shell : application de terminal basée sur un navigateur hébergée dans Microsoft Azure. Azure Cloud Shell vous offre le choix d’utiliser bash ou PowerShell. Chaque interpréteur de commandes est préconfiguré avec de nombreux outils en ligne de commande pour la gestion des ressources Azure.