Qu’est-ce qu’un shell ?
Un shell est un programme qui permet à un utilisateur d’interagir avec un système d’exploitation. Il reçoit les commandes saisies par l’utilisateur, les interprète et les transmet au système pour exécution.
Le shell agit comme une interface entre l’humain et la machine. Il est souvent utilisé dans les systèmes de type Unix ou Linux, mais existe aussi sous d'autres formes sur Windows.
Il peut être graphique, mais le plus courant est le shell en ligne de commande (ou CLI, pour "Command Line Interface").
À quoi sert un shell ?
Le shell permet d'exécuter facilement des commandes pour gérer un système informatique. Il est utilisé pour lancer des programmes, manipuler des fichiers ou consulter des informations sur le système.
Dans un cadre professionnel, les administrateurs systèmes et les développeurs s’en servent pour automatiser des tâches. Les ingénieurs DevOps s’en servent aussi pour déployer des applications ou configurer des serveurs à distance.
Les utilisateurs avancés l’utilisent pour gagner du temps via des scripts, par exemple pour copier des fichiers, compresser des archives ou planifier des sauvegardes.
Comment fonctionne un shell ?
Le shell attend que l’utilisateur saisisse une commande. Lorsqu’une commande est tapée, le shell traduit cette demande et la passe au système d’exploitation.
Il affiche ensuite le résultat, que ce soit un fichier, un message d’erreur ou un retour en texte.
Certains shells permettent aussi d’écrire des scripts. Ce sont de petits programmes écrits dans un langage spécifique au shell, comme Bash. Ces scripts exécutent une série de commandes de façon automatique.
Différences avec des notions proches
Le shell est parfois confondu avec la console ou le terminal. La console est l’interface matérielle ou logicielle qui affiche le shell. Le terminal est un programme qui permet d’utiliser un shell en mode texte.
Le shell n’est pas non plus un langage de programmation généraliste. Il permet principalement d’exécuter des commandes système ou de gérer des fichiers.
Il existe plusieurs types de shell. Les plus courants sont :
- Bash : Shell par défaut sur de nombreuses distributions Linux.
- Zsh : Variante avancée de Bash avec plus de fonctionnalités.
- PowerShell : Shell Microsoft pour l'automatisation sur Windows et d’autres systèmes.
Exemples ou cas d’usage concrets
Un administrateur système utilise le shell pour redémarrer un service ou inspecter les journaux d’erreurs d’un serveur.
Un développeur crée un script shell pour compiler automatiquement son application et la tester à chaque mise à jour du code.
Un recruteur technique peut demander à un candidat de manipuler des fichiers textes ou de parcourir une arborescence grâce à des commandes shell.
Une personne en reconversion apprend le shell pour mieux comprendre les bases de Linux ou pour automatiser des tâches simples.