Dans tous les systèmes d’exploitations modernes comme Windows, MacOSX, Linux, FreeBSD, …. on peut tomber sur les termes Shell, terminal ou console.
Mais que signifient ces termes ?
Quelles sont les différences entre un terminal, console et un shell ?
Ce tutoriel répond à toutes ces questions en vous donnant une définition et explication pour bien comprendre ce qu’ils recouvrent.
Table des matières
Qu’est-ce qu’un terminal
Un terminal est un environnement d’entrée et de sortie.
Par exemple en entrée un clavier et en sortie un écran ou une imprimante.
Il faut bien comprendre que Console, Terminal et TTY sont étroitement liés.
À l’origine, ils signifiaient un équipement à travers lequel vous pourriez interagir avec un ordinateur: au début de Unix, cela signifiait un dispositif de style téléimprimeur ressemblant à une machine à écrire, parfois appelé téléscripteurs , ou «TTY».
Le nom “terminal” est venu du point de vue électronique et le nom “console” du point de vue des meubles.
Très tôt dans l’histoire Unix, les claviers électroniques et les écrans sont devenus la norme pour les terminaux.
Terminal peut aussi désigner le nom de l’application qui permet d’accéder à un shell pour interagir avec le système.
En réalité, il s’agit plutôt de pseudo-terminaux qui émulent un terminal physique.
Par exemple :
- Sur Linux : Xterm, MobaXterm, Konsole, etc.
- Sur Windows, on trouve le terminal PowerShell, MSTSC (Microsoft Terminal Server Client) pour ouvrir un bureau à distane,
Qu’est-ce qu’une console
Une console est généralement une borne du sens physique qui est par une certaine définition le terminal primaire directement connecté à une machine.
Sur Unix la console apparaît au système d’exploitation en tant que (mise en œuvre du noyau) TTY.
Sur certains systèmes, tels que Linux et FreeBSD, la console apparaît comme plusieurs TTYS (commutateurs de combinaisons de clés spéciales entre ces TTY).
Juste pour confondre les choses, le nom donné à chaque TTY peut être “Console”, “Console virtuelle”, “Terminal virtuel” et d’autres variations.
Sur Windows, l’architecture de la console s’article autour du processus ConHost.
Tout comme sur Linux, Windows possède aussi une pseudoconsole, parfois également appelée Pseudo Console, Conty, Gold The Windows Pty.
Elle propose un mécanisme conçu pour créer un hôte externe pour des activités de sous-système de mode-mode de caractère qui remplacent la partie interactivité de l’utilisateur de la fenêtre d’hôte de la console par défaut.
Cela permet notamment l’existence de PowerShell de plus en plus présent dans le système.
De nos jours avec les ordinateurs modernes, le mot console et terminal ont plutôt tendance à se confondre.
Qu’est-ce qu’un shell
Le shell a toujours été présent – à partir de l’aube d’UNIX.
Il s’agissait du programme qui a été exécuté après avoir entré votre nom de connexion et votre mot de passe sur le terminal pour accéder à l’ordinateur central.
Le premier programme Shell était le shell Thompson (SH) de 1971, qui a été remplacée en 1977 par Bourne Shell, également appelée SH. Tôt, il a été conçu de sorte que ce n’était qu’un autre programme pouvant être mis à jour facilement et que les utilisateurs pouvaient exécuter leur propre programme au lieu de la coque par défaut.
Le Shell est l’interpréteur en ligne de commande, il permet à un utilisateur de s’identifier sur une console ou un terminal.
Il fournit un certaines nombres de commandes pour interagir avec le système d’exploitation.
En général, il permet aussi de créer des fichiers script que l’on nomme script pour exécuter plusieurs commandes l’une après l’autre. C’est donc aussi un langage de programmation.
- Sur Linux : Bourne shell (sh), KornShell (ksh), C shell (csh), tcsh ,bash, Z shell (zsh)
- Sur Windows : PowerShell
Quelle est la différence entre un terminal, un shell et une console
En résumé et pour prendre ce qui est expliqué dans ce tutoriel.
Voici les définitions :
- Terminal = TTY : Environnement d’entrée / sortie texte
- Console : terminal physique
- Shell : Interprète ligne de commande
En clair donc, lorsque vous utilisez Linux, vous ouvrez un terminal ou une console pour accéder à un Shell afin de passer des commandes.