286 votes

Quelle est la différence entre Terminal, Console, Shell et Ligne de commande ?

Quelle est la différence entre Terminal, Console, Shell et Ligne de commande ?

7voto

Michael Kay Points 71

Je pense qu'au début des ordinateurs à temps partagé, chaque utilisateur disposait d'un terminal (quand il pouvait en avoir un !), mais seuls les opérateurs système avaient une console. La console pouvait être utilisée pour des tâches telles que le redémarrage de la machine ou l'obtention de diagnostics système qui n'étaient pas possibles à partir des terminaux des utilisateurs. La console se trouvait dans la salle des machines, une partie intrinsèque de l'ordinateur, alors que les terminaux pouvaient être distants. La console comprenait également des lumières et des interrupteurs matériels, et pas seulement des entrées et sorties de texte.

Je dirais que la ligne de commande est une zone où un utilisateur peut taper une commande, alors que le Shell est le programme qui interprète/obéit à cette commande. Le terme "Shell" est très particulier aux dérivés d'Unix ; "ligne de commande" est plus dans la tradition de Windows/DOS. L'équivalent sur les mainframes est généralement appelé "langage de contrôle des tâches".

Il est clair que ces distinctions initiales se sont estompées au fil du temps avec l'évolution de la technologie.

3voto

Moreaki Points 145

Essayer une réponse courte centrée sur l'utilisateur :

ligne de commande - la ligne où vous entrez les commandes. Il est généralement utilisé pour indiquer que vous devez exécuter quelque chose dans une fenêtre en mode texte (interface de ligne de commande) fournie par votre système d'exploitation.

Shell - le programme réel exécuté par le système d'exploitation pour traiter les données que vous entrez dans le système. command line . D'où le nom - Shell convivial pour un noyau OS non convivial. Il fournit une invite de commande, telle que $ o > qui exécute ses propres commandes et applications. Vous travaillez toujours par le biais du shell et n'opérez jamais directement avec la console ou le terminal.

console - est une fenêtre dans laquelle vos programmes en mode texte sont exécutés. Cette fenêtre traite les pressions sur les touches, connaît sa largeur et sa hauteur. Elle peut être en plein écran.

terminal - est un appareil avec un écran pour les humains qui accepte un flux de caractères en entrée et les affiche. Il n'y a pas de retour d'information à l'utilisateur sur la hauteur ou la largeur (seulement les hacks) ou les pressions sur le clavier - seuls les caractères se déplacent vers lui. Le terminal traite des séquences spéciales dans ce flux pour colorer les choses, nettoyer l'écran et faire d'autres choses désagréables. Les terminaux sont instables, car il est facile de semer la pagaille si le fichier que vous voulez sortir contient ces séquences spéciales. Ils sont populaires dans les interfaces de mise en réseau et de débogage de périphériques, parce que vous n'avez besoin que d'un seul flux pour envoyer la sortie et contrôler le périphérique de sortie et vous pouvez juste tap dans la conversation sans avoir besoin d'initialiser ou de créer une fenêtre.

console série - est une console qui traite le flux d'entrée comme un terminal.

3voto

user1534664 Points 131

C'est un sujet vague, car les termes sont très ambigus. Je vous recommande vivement de lire les liens que j'ai fournis tout au long de cette réponse, qui sont également mes sources pour cette réponse.

A Shell est la couche située au-dessus du noyau :

  • Il interprète les commandes saisies par l'utilisateur et les traite. Le Shell a accès au noyau, contrairement aux utilisateurs. Les utilisateurs ne peuvent accéder au noyau qu'en entrant des commandes à l'aide d'un Shell, et en utilisant des processus (c'est-à-dire en exécutant des programmes). Les programmes utilisent appels de système pour accéder aux fonctionnalités du noyau. L'ensemble des appels système constitue l'API système.
  • Des exemples de coquilles sont donnés dans la deuxième définition du terminal.

A terminal a de nombreuses significations :

  • (1) A terminal de texte . Il s'agit de la combinaison d'un écran d'affichage et d'un clavier. Un câble reliait le terminal à l'ordinateur (souvent indirectement). On l'appelait terminal car il était situé à l'extrémité de ce câble. Ces terminaux étaient généralement séparés physiquement de l'ordinateur, car à l'époque, de nombreux terminaux étaient connectés à un seul ordinateur central/ordinateur, de sorte que plusieurs utilisateurs pouvaient avoir accès à l'ordinateur en même temps.
  • (2) A fenêtre de terminal alias. émulateur de terminal . Sous Linux, une fenêtre de terminal est l'émulation d'une console, contenue dans une fenêtre GUI. C'est la CLI dans laquelle vous tapez votre texte, et cette entrée est lue par le Shell que vous utilisez. Il existe de nombreux types de shells (par exemple bash, dash, ksh88) et de terminaux (par exemple konsole, gnome).
  • (3) Pour une explication sur pseudo-terminaux , vue ce . Il s'agit d'une paire de deux "fichiers de périphérique" utilisés pour la communication entre un processus et un émulateur de terminal.

A console a de nombreuses significations :

  • (1) un tableau de bord contenant les commandes d'un ordinateur.
  • (2) A Console du système alias. console d'ordinateur . Il s'agit de la combinaison d'un écran d'affichage et d'un clavier connectés à un ordinateur. C'est le synonyme de ce que nous appelons un "terminal de texte". Parfois, d'autres périphériques d'entrée de l'utilisateur, comme une souris, font également partie d'une console.
  • (3) Une interface de ligne de commande qui couvre la totalité de l'écran. Par opposition à une fenêtre de terminal, qui est une interface graphique avec un X dans le coin supérieur droit pour la fermer. Ce sont les deux modes d'affichage pour les CLI (interfaces de ligne de commande) dans les systèmes de type Unix. Tout comme une fenêtre de terminal, la console peut également exécuter de nombreux shells.

Souvent, les systèmes d'exploitation vous permettent d'exécuter plusieurs consoles sur une console physique (définition de la console 2). Ces consoles sont appelées consoles virtuelles alias. terminaux virtuels et on peut y accéder par ctrl + alt + Fx combinaisons. Par exemple, si vous voulez ouvrir la 3ème console virtuelle, vous utilisez la combinaison ctrl + alt + F3 .

Les consoles (définition 3) peuvent vous sembler anachroniques, mais les experts devraient être à l'aise pour les utiliser, car de nombreux systèmes d'exploitation ne prennent pas en charge les interfaces graphiques. En outre, si une interface graphique cesse de répondre, la console peut toujours fonctionner.

2voto

Mark Points 121

Le plus terminaux sont aujourd'hui à proprement parler émulateurs de terminal . Il s'agit d'un type de rôle dans le fonctionnement d'un système de type UNIX et en même temps l'interface de base offerte par les systèmes. En fait, tout, y compris l'interface graphique, se construit par-dessus.
Dans le langage courant, le terme "terminal" peut également désigner les points d'extrémité d'un réseau informatique présentant une topographie en étoile.

Console fait référence aux interfaces (matérielles) des terminaux. C'est-à-dire qu'il existe série consoles et aujourd'hui surtout virtuel les uns et les autres.
La fenêtre familièrement appelée "console" est un Shell, connecté à un terminal du système, via une console virtuelle.

À l'époque où les ordinateurs étaient coûteux, une installation pouvait disposer d'un ordinateur réel et de plusieurs terminaux connectés à celui-ci, via des câbles série ("console série"). Le système d'exploitation, les opérations, etc. étaient exécutés sur l'ordinateur physique, les entrées et les sorties se faisaient sur la ou les consoles.
Vous pouvez passer d'un terminal virtuel à l'autre en appuyant sur CTRL + ALT + F1 (par le biais de F6 ) : un vestige de cette époque.
Aujourd'hui, le concept de "clients légers" va dans ce sens : centraliser des quantités massives de ressources et fournir juste assez de matériel pour offrir une interface de pointe sur le lieu de travail réel.

Shell est le "moteur" que vous voyez dans le terminal. Il fournit l'interopérabilité avec le système lui-même et ajoute de belles fonctionnalités comme l'autocomplétion, les variables, etc.
Il fait des allers-retours entre le système d'exploitation ou le noyau qui utilise les appels système et vous. Les appels système sans Shell sont un peu comme du codage assembler et un Shell vous donne au moins C .

ligne de commande fait référence à la méthode d'échange d'entrées et de sorties via une fenêtre de texte. A proprement parler, la ligne dans laquelle vous tapez est le site ligne de commande (actuelle). La méthode en général est plus correctement appelée interface de ligne de commande ou CLI.

  1. Noyau
  2. offre un terminal
  3. est connecté via une console
  4. la console exécute Shell
  5. les commandes et la sortie sont échangées via la ligne de commande (interface)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X