linux 控制终端

来源:百度知道 编辑:UC知道 时间:2024/06/08 21:45:34
我是通过伪终端连接到linux服务器的,我搞不明白的是标准输入、标准输出、标准错误这些设备和终端是什么关系?它们是终端的一部分是吗?比如说一个shell命令的执行过程我的理解是这样的:我们先通过键盘输入命令(在显示终端上显示),一回车就写到了标准输入,然后终端把命令发送给linux服务器,然后linux解释命令,并把结果返回,写到终端的标准输出,然后在显示器上显示。这样理解对吗?

标准输入,就是用键盘输入。举个例子,把要输入的东西先保存成一个文件,然后用 < 重定向,那么从文件中读取的内容就作为标准输入的内容。

标准输出,是输出在屏幕上。如果用把 > 输出的内容重定向到一个文件,或者打印出来,就是非标准的输出。

标准输入、标准输出跟在哪个终端上没关系。

标准输入输入除了你说的那些特征,在Linux下最大的特征是可控的
比如用>表示标准输出到文件比如ls > catlist,这样你ls执行的东西就输出到文件catlist里面了,同理<标准输入到某个文件,而同理2>标准错误到某个log
所以不见得只是你可以看到的那些,如果看不到,你仍旧可以操作

基本上是这样的,linux做服务器的它输入输出和非linux终端的输入输出不同,比如你用Windows的telnet登录到linux服务器上在输入字符后如果你想删除这些字符,只能按delete键,而在Windows的终端上你不仅可以用delete还可以用backspace键来删除,但是backspace键在真正的linux终端上是不识别的,或者识别成别的键盘码,起不到删除字符作用,可以说这个就不是linux的标准输入。输出也有一定不同,例如,Windows终端一般支持汉字,有的linux终端不支持汉字,或者支持的汉字编码和其他汉字编码不同。

去CU论坛看一下 天问13章