终端,控制台,命令行管理程序和命令行之间有什么区别?
简短答案:
长答案:
控制台和终端紧密相关。原来,他们的意思一台设备,通过它你可以与计算机交互:在UNIX的早期,这意味着一个电传式的装置类似一台打字机,有时也被称为速记一台电传打字机,或“TTY”。从电子的角度来看,“终端”这个名字,从家具的角度来看,这个名字是“控制台”。在Unix历史的早期,电子键盘和显示器已成为终端的规范。
用unix术语来说,终端是一种特殊的设备文件,它实现了除读写之外的许多其他命令(ioctls)。某些终端由内核代表硬件设备提供,例如,输入来自键盘,输出进入文本模式屏幕,或者输入和输出通过串行线路传输。其他终端(有时称为伪终端或伪tty)由称为终端仿真器的程序(通过薄内核层)提供。某些类型的终端仿真器包括:
单词终端还可以具有一种设备的更传统的含义,通过该设备,人们可以与计算机(通常是键盘和显示器)进行交互。例如,X终端是一种瘦客户机,是一种专用计算机,其唯一目的是驱动键盘,显示器,鼠标以及偶尔其他人机交互外围设备,而实际应用程序则在另一台功能更强大的计算机上运行。
甲控制台一般是在物理意义上,是由一些定义直接连接到机器主终端的终端。控制台在操作系统中显示为(内核实现的)终端。在某些系统上,例如Linux和FreeBSD,控制台显示为几个终端(ttys)(特殊的组合键在这些终端之间切换)。只是为了混淆,给每个特定终端的名称可以是“控制台”,“虚拟控制台”,“虚拟终端”和其他变体。
另请参见为什么虚拟终端是“虚拟的”,以及“真正的”终端在什么/为什么/在哪里?。
甲命令行是用户类型的命令的接口(其表达为字符序列-通常是一个命令的名称,随后由一些参数)并按压Return来执行命令键。
一个壳是主界面,用户登录时看到的,其主要目的是启动其他程序。(我不知道最初的隐喻是shell是用户的家庭环境,还是该shell是其他程序在其中运行。)
在unix圈子中,shell专门指命令行外壳,以输入要启动的应用程序的名称为中心,然后输入应用程序应作用的文件或其他对象的名称,然后按Enter键。其他类型的环境(最近值得注意的Gnome Shell例外)通常不使用“ shell”一词;例如,窗口系统涉及“窗口管理器”和“桌面环境”,而不是“外壳”。
有许多不同的unix外壳。Ubuntu的默认外壳是Bash(与大多数其他Linux发行版一样)。流行的替代方法包括zsh(强调功能和可定制性)和fish(强调简单性)。
命令行外壳包含用于组合命令的流控制构造。除了在交互式提示下键入命令外,用户还可以编写脚本。最常见的shell具有基于Bourne_shell的通用语法。在讨论“ shell编程”时,几乎总是将shell暗示为Bourne风格的shell。一些经常用于脚本编写但缺乏高级交互功能的外壳包括Korn外壳(ksh)和许多ash变体。几乎所有类似Unix的系统都安装了Bourne风格的shell /bin/sh
,通常是ash,ksh或bash。在Ubuntu,/bin/sh
是短跑,灰变种(选择,因为它是更快和使用较少的内存比bash)的。
在Unix系统管理中,用户的外壳程序是他们登录时调用的程序。普通用户帐户具有命令行外壳程序,但是访问受限的用户可能具有受限的外壳程序或某些其他特定命令(例如,用于文件传输) -仅帐户)。
端子和外壳之间的分工并不完全明显。这是他们的主要任务。
\e[D
)。Shell将控制序列转换为命令(例如\e[D
→ backward-char
)。M-x shell
在Emacs中。foo
”,“将前景色切换为绿色”,“将光标移动到下一行”之类的指令。终端根据这些指令进行操作。从Unix和Linux回收
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句