加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

终端或控制台或Shell或命令提示符?

发布时间:2020-12-15 18:50:29 所属栏目:安全 来源:网络整理
导读:我发现自己使用这些术语可以互换而不知道差异.所有这些术语之间的实际区别是什么? 是的,这些术语有很多混乱.我会给它一个刺,但条件是这是真正的语义,术语在日常演讲中可互换使用: “Shell”是用于运行其他程序的任何程序.它包裹了另一个程序,因此它的名字.
我发现自己使用这些术语可以互换而不知道差异.所有这些术语之间的实际区别是什么?
是的,这些术语有很多混乱.我会给它一个刺,但条件是这是真正的语义,术语在日常演讲中可互换使用:

“Shell”是用于运行其他程序的任何程序.它包裹了另一个程序,因此它的名字.所以例如,Windows资源管理器是一个shell,即使很少有人会称之为一个.在我使用的所有语言和平台中,任何程序都可以是shell.

编辑:我没有定义一个“终端”.它的名字从与用户的通信的终点.具体来说,是用于最终用户通信的打字机.今天,它更为通用,可以意味着伪终端(Linux ps -ef中的pts),它是由GUI管理的基于字符的会话.在Windows上,这将被称为“控制台窗口”.

“控制台”是指Windows和UNIX上具体但不同的特性.在UNIX上,原来这是tty(TeleTYpewriter,一个VDU是一个“玻璃电传”),它实际上已插入机器,甚至不通过加密狗(我用UNIX回去了很长时间).发送和接收启动和关闭消息的终端,以及诸如PANIC的警报. bash和Korn shell脚本都可以作为伪守护进程运行,而无需TTY /控制台.

术语“控制台”往往与“标准输入”,“标准输出”和“标准错误”(stdin,stdout,stderr,C)混淆.这些有时被称为流,并且默认被定向到大多数系统上的终端.在UNIX上,它们是前三个文件描述符,在Windows上,前三个文件句柄,两个都是0,1,2.程序可以将它们引导到具有适当访问权限的任何文件系统,但通常它不会 – 它通常从父进程继承它们(并非所有的操作系??统都在过去这样做).

在Windows上,“控制台”程序是具有控制台窗口的程序,通常不正确地称为“DOS”框.所以,cmd.exe是一个控制台程序,Perl.exe也是如此,python.exe(但不是pythonw.exe)也是如此.

命令提示符是命令行解释器或CLI显示的请求类型.按照惯例在UNIX上,除了root以外的所有用户都以$结尾,以#结尾. csh不遵循此约定并使用%.通常,Windows CLI上的提示符以>结尾.在所有情况下,这些都可以由用户改变.

我相信Windows上的cmd.exe的快捷方式和窗口标题具有标签“命令提示符”,因为它可以访问命令提示符.我有一本名为“Windows命令行”的Microsoft新闻书,其中“命令行是通过命令shell窗口访问”.所以即使是微软混合他们的条款.

所以,cmd.exe是一个shell和一个CLI,一个控制台程序. sqlplus是一个CLI,但不是一个shell,在Windows上它是一个控制台程序. Windows资源管理器是一个shell,但不是CLI或控制台程序. Bash和Korn shell都是具有CLI的shell,并且可以从控制台运行,但并不排他.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读