linux图形teminal和命令行区别,终端,控制台,命令行管理程序和命令行之间有什么区别?...

这些术语经常一起使用,因此人们使用其中一个术语来引用集合。(即从上下文中通常很明显,它们表示一个提供与命令行shell界面的终端窗口)。

为了避免这个问题变得冗长,我只想说xterm是XTerm / Gnome Terminal / Konsole / mrxvt / etc / etc的替代者。bash也是如此。

控制台还有其他多种特定含义,因此暂时将其忽略。

终端:通过双向ASCII / UTF8 /其他字符流(通常使用VT100或类似的转义码处理)提供与程序的人机交互的功能。(例如,退格键,删除键,箭头键等会生成转义码。程序可以打印转义码,以在终端屏幕上移动光标,切换为粗体和/或彩色,清除或滚动屏幕等。)过去,这通常是带有屏幕和键盘以及串行端口的专用设备。现在,它通常是xterm之类的程序。

有设备文件供程序从终端读取/写入终端,虚拟终端也可以将另一端作为设备文件访问。这是xterm写入您的输入的地方,以便bash可以读取它。

每个终端(包括虚拟终端)处于煮熟(而不是原始)模式时,都可以提供基本的行编辑。这由内核代码处理。bash提供了可以使用箭头键进行的行编辑的功能。(cat如果您想查看内核提供的基本行编辑是什么样的,请尝试运行并输入内容。退格键有效,并且根据您的stty设置,还可以进行其他操作。)

即使终端设备后面有很多内核代码,也将其称为终端处理代码,而不是终端本身。

编辑:吉尔(Gilles)已经说服我,将tty称为终端是正确的用法。终端仿真器以及与终端连接运行的交互式程序,都取决于内核实现的终端语义。(大多数行为是由POSIX标准化的,并且在Linux / * BSD /其他Unix中是相同的。)全屏文本编辑器取决于Unix tty行为以及光标移动转义码处理,和终端仿真器的许多其他功能。

但是,具有屏幕,键盘和串行端口的物理VT100是终端的一个实例。它不需要串行端口另一端的Unix内核即可完成。可能完全不同的是,将其发送转义码和ASCII文本,然后从中接收相同的内容。它只是VT100,而不是Unix终端。终端仿真器加上Unix tty语义构成了通常运行bash之类的Unix终端的完整程序包。

命令行是一种用户界面样式,您可以在其中键入一些内容,然后按回车键以使某些事情发生。它也用作命令行shell(如bash或MS-DOS)的简写,但是您也可以对fdisk之类的内容说“这是一个命令行工具”。仅考虑将终端用于其UI的程序,两个主要族是命令行和全屏文本(例如,诸如vi或的编辑器emacs -nw)。

通常在终端上运行的命令行程序几乎始终可以将其输入和输出重定向到文件上,但是基于终端的全屏程序(例如编辑器或电子邮件客户端)仅是交互式的,因此无法使用。

一个外壳是启动其他程序的程序。在Unix上下文中,通常指的是命令行shell(即Bourne shell或等效的C shell)。Unix shell也可以从文件(即shell脚本)读取其输入。它们是完整的编程语言,具有变量,循环和条件,并且许多程序都是用bash编写的(或者仅具有/bin/shPOSIX shell功能,以提高可移植性)。也可以轻松地for i in *.something; do some_program "$i";done 在交互式shell中编写快捷方式 。

放在一起,像bash这样的shell(或通过运行shell命令启动的任何程序)将/dev/pts/N在xterm将您的输入写入到伪终端一侧后,从终端设备接收字符。如果您运行cat,然后点击^c,则内核tty代码将作用于上^c,并将a发送SIGINT到该终端上的前台进程。(注意终端的用法在这种情况下,它表示的是Unix tty,而不是终端仿真器或连接到串行端口的东西。)之所以发生这种情况,是因为Shell在启动任何程序之前将终端置于“煮熟”模式,这意味着内核将对某些控件进行操作-序列。(tty代码仍然与处理VT100转义代码无关,只是与一些低ASCII控制代码无关。)如果您使用Linux控制台文本终端而不是xterm,则内核正在执行VT100仿真,并且处理所有这些东西。可以在没有虚拟控制台文本终端支持的情况下编译Linux,但在没有tty支持的情况下不能编译。

控制台有时被用作终端的同义词(KDE甚至有一个名为Konsole的终端仿真器)。

正如0xSheepdog指出的那样,它还有另一个含义:本地连接的人机交互硬件。

在内核上下文中,控制台还有另一种特定含义:控制台是写入引导消息的终端。这可以是一个串行端口。当然,通常情况下,通常是内核在图形硬件和USB / ps2 / AT键盘驱动程序之上实现的文本控制台。如果console=tty0 console=ttyS0,115200n8在命令行中使用Linux启动,则会在屏幕上以及在串行端口上获得内核消息。

Linux实现了虚拟控制台(/dev/tty1至N)。您可以使用Ctrl+ Alt+ 交换您的物理屏幕/键盘正在控制的屏幕。典型的Linux发行版创建6,然后全部启动,因此即使您不能启动X11,也可以登录6次并在命令,手册页和其他任何内容之间切换运行屏幕之类的程序。Linux(内核)包括VT100样式的终端仿真器,可通过虚拟控制台上的屏幕和键盘提供终端接口。FNgetty

带登录提示的标准6个虚拟终端是Ctrl+ Alt+带F7您回到X11会话的原因:X服务器获取下一个可用的虚拟控制台。(不过,X服务器会/dev/input/...直接打开,而不是从中获取按键/dev/tty7。)

因此,“交换到文本控制台”意味着按下Ctrl+ Alt+ F1并使用该终端。早在计算机运行缓慢且没有太多RAM的时候,有些人在文本控制台上花费了很多时间,因为它们速度很快,您可以设置一个不错的字体,甚至将终端大小更改为较小的字符,但是一次在屏幕上显示更多。 Alt+ Left和Alt+ Right交换到上一个/下一个控制台。(当然,X11为其控制台禁用了此功能,仅保留Ctrl+ Alt+ 组合键。)FN

因此,控制台是其中唯一没有一个明确定义的技术含义的术语。它有几个不同的。(根据您对终端正确与终端加上tty处理的感觉,您可以说终端也有多种含义。)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值