Shell,Terminal,Console and CommandLine

7erry

Shell,Terminal,Console,Command Line之间有什么区别?

**壳程序(Shell)终端(Terminal)控制台(Console)命令行(CommandLine)**,是程序员们需要频繁打交道的东西,且往往会被关联地提起,且不时地会被混用。他们的区别是什么?

Shell

Shell是一种可以处理指令,输入并提供输出的程序,其本质是一个命令解释器。它提供了一系列可用的且可以拓展的指令(运行程序),为用户与系统提供交互的接口。按照geeksforgeeks上的文章Difference between Terminal, Console, Shell, and Command Line的说法,shell是位于内核之上的一个层,它解释和处理用户输入的命令。用户只能通过使用shell和输入命令来实现对内核的访问。而与用户不同,shell可以调用系统的API和各种程序从而访问内核。

Terminal

Terminal本应该是一个实体层面上的概念,指代物理终端机这一仪器本身。但如今它应该是指代终端程序(Terminal Simulator),我们可以将其理解为一个运行shell的环境与容器。他是一个纯文本的窗口,能够模拟一个GUI中的控制台,接受字符串并将字符串输出使得人类可读。

Console

Console是一个宽泛的概念,可以指代大部分具有控制功能的面板。在计算机领域中它可以被视为终端中的具有控制功能的一种终端

Command Line

命令行是命令提示符(例如$)右侧的一个区域,然后命令行存在的这个界面(往往就是终端的窗口)被叫做命令行界面

简单概括,就是Shell在Terminal上运行,终端上输入命令的区域(命令提示符右侧)被叫做Command Line,如果Terminal具有控制功能那他也可以被叫做Console.

当然,我的这些理解是较为粗浅的,如有错误还有望指正。

  • Title: Shell,Terminal,Console and CommandLine
  • Author: 7erry
  • Created at : 2023-07-04 21:25:31
  • Updated at : 2023-07-04 21:25:31
  • Link: http://7erry.com/2023/07/04/Shell-Terminal-Console-and-CommandLine/
  • License: This work is licensed under CC BY-NC 4.0.