Shell、终端、控制台和 CLI(命令行界面)之间的区别
TL:DR Shell - 与内核通信的输入。执行命令的地方。 终端 - 它是运行 shell 的程序。例如 Gnome 终端、xTerm、iTerm2。 控制台或 CLI(命令行界面)- 用于指代终端 + shell 或 tty 控制台的抽象。 外壳 [](https://res.cloudinary.com/practicaldev/image/fetch/s--3j0SdE67--/c_li
TL:DR
Shell - 与内核通信的输入。执行命令的地方。
终端 - 它是运行 shell 的程序。例如 Gnome 终端、xTerm、iTerm2。
控制台或 CLI(命令行界面)- 用于指代终端 + shell 或 tty 控制台的抽象。
外壳
[](https://res.cloudinary.com/practicaldev/image/fetch/s--3j0SdE67--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws .com/i/dbdhi9hmxuo43wniznwe.png)
它是一个用于处理命令并带来相同结果的程序。基本上,它以一种更抽象、更少底层的方式与操作系统内核交互。
终端
[](https://res.cloudinary.com/practicaldev/image/fetch/s--gF37kB0V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/ https://dev-to-uploads.s3.amazonaws.com/i/m2utb6960htf4lnrb45b.png)
它是一个运行 shell 的程序。过去,它们是连接到远程计算机的处理能力最小的设备。为了区分,只需记住终端表示某事的终点,例如,在向计算机输入和输出数据的情况下。
控制台或 CLI(命令行)
[](https://res.cloudinary.com/practicaldev/image/fetch/s--cj5Eo2Ok--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880 / https://dev-to-uploads.s3.amazonaws.com/i/lz3b44d44avgvwpczlqg.png)
这些是表示使用终端+shell 的抽象。 Linux 控制台还可以指示终端,默认为 6 个,由内核直接实现。我们可以使用快捷键 CTRL + ALT + F/n 访问它们,例如 /dev/tty1 可以使用 CTRL + ALT + F1 访问,而快捷键 CTRL + ALT + F7 可以让您回到图形模式。
奖金 :)
让我们了解 Login Shell 与 Interactive Shell 与 Non-Interactive Shell 之间的区别。
登录外壳
它是用于登录的外壳。例如,它可以通过终端或 ssh 访问。它运行最少的配置文件,因此我们可以使用该系统。另一个示例是您访问控制台 1 或 /dev/tty1,如上面的示例所示。
交互式外壳
它是您运行的 shell,例如登录后,如 bash。然后你问我:“哦,但我在登录后没有执行任何操作,我是在登录还是交互式 shell 中?”,答案是你在登录/交互式 shell 中。另一个例子是打开一个新终端。
非交互式外壳
它是一个没有用户交互的外壳。目前很难找到并且不适合我们的场景。
今天就到这里啦!
感谢您的访问,留下您的喜欢并关注有关系统开发的新文章。
@feiler 没有推特
了解更多
https://askubuntu.com/questions/506510/what-is-the-difference-between-terminal-console-shell-and-command-line
https://stackoverflow.com/questions/18186929/what-are-the-differences-between-a-login-shell-and-interactive-shell
更多推荐
所有评论(0)