LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: johnny_jiang

[求助]终端和Shell的关系?

[复制链接]
发表于 2006-2-25 01:25:48 | 显示全部楼层
问一下,界面是 接 serial 接口,是不是不支持设置字体?
总是提示我找不到合适的 font之类的。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-25 17:19:34 | 显示全部楼层
Post by yongjian
终端不是程序。是一个char device.你可以看看
  1. ls -la /dev/console or ls -la /dev/tty*
复制代码
的属性,都是c开头的。通常文件描述符都链接到这些终端设备上从而可以接收输入输出。


There is even a basic line editor inside the terminal.
这段是不是指终端里有个基本的命令行编辑器?

/dev/console和/dev/tty*有什么区别吗?

yongjian兄能否解释一下终端是如何接受我们的keystokes,在交给当前运行的程序呢?

麻烦了,万分感谢
回复 支持 反对

使用道具 举报

发表于 2006-2-25 18:39:32 | 显示全部楼层
/dev/console是系统控制台,或者说是物理控制台,而/dev/ttyn则是虚拟控制台,你可以传导诸如console=ttyS1的启动参数给内核,使得ttyS1(第二个串口控制台)成为系统控制台。如果没有传导这个参数给内核,内核就会自动寻找可用的设备作为系统控制台,首先是VGA显示卡,其次才是串口。

/dev/console的初始早于虚拟控制台。启动信息都是打印到/dev/console。

single模式登录,也是登录到/dev/console

内核的printk信息,比如netfilter过滤了包的信息,也会打印到/dev/console,所以有人会问为何屏幕都是包过滤的信息。
/proc/sys/kernel/printk,控制了printk的level。
/dev/tty是当前进程连接的控制台,你可以echo something >/dev/tty 看看结果。
/dev/tty0则是当前前台的视频控制台,你也可以echo something看看。
/dev/tty1-n则是虚拟控制台。

晕。说错纠正啊。
回复 支持 反对

使用道具 举报

发表于 2006-2-25 19:35:56 | 显示全部楼层
谢谢,让我明白了 Xen 里边的一些设置是什么意思了。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-25 20:00:39 | 显示全部楼层
Post by seamonkey
/dev/console是系统控制台,或者说是物理控制台,而/dev/ttyn则是虚拟控制台,你可以传导诸如console=ttyS1的启动参数给内核,使得ttyS1(第二个串口控制台)成为系统控制台。如果没有传导这个参数给内核,内核就会自动寻找可用的设备作为系统控制台,首先是VGA显示卡,其次才是串口。

/dev/console的初始早于虚拟控制台。启动信息都是打印到/dev/console。

single模式登录,也是登录到/dev/console

内核的printk信息,比如netfilter过滤了包的信息,也会打印到/dev/console,所以有人会问为何屏幕都是包过滤的信息。
/proc/sys/kernel/printk,控制了printk的level。
/dev/tty是当前进程连接的控制台,你可以echo something >/dev/tty 看看结果。
/dev/tty0则是当前前台的视频控制台,你也可以echo something看看。
/dev/tty1-n则是虚拟控制台。

晕。说错纠正啊。


每一个设备文件都应该计算机上的设备对吗,总感觉终端就是显示器,呵呵。。。
/dev/tty0还是不太理解前台的视频控制台是什么意思?

stty是对哪个设备文件产生作用?
各位大虾可否提供些关于设备文件的参考资料,感觉很神奇哦,不知道linux是怎么产生设备文件和控制他们的
回复 支持 反对

使用道具 举报

发表于 2006-2-25 20:14:00 | 显示全部楼层
很多机器是没有显示器的。。比如连接打印机,或者只提供远程登录,等等。

stty 应该是对当前的控制台 有效。man stty 看看里边的内容。

tty,另外一个程序,可以打出当前连接到输入设备的终端。
tty - print the file name of the terminal connected to standard input
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-25 21:07:34 | 显示全部楼层
Post by 终极幻想
很多机器是没有显示器的。。比如连接打印机,或者只提供远程登录,等等。

stty 应该是对当前的控制台 有效。man stty 看看里边的内容。

tty,另外一个程序,可以打出当前连接到输入设备的终端。
tty - print the file name of the terminal connected to standard input


感觉这些概念满抽象的,还是先找些资料看看吧,什么都不懂的情况下,问题问得也没水准

:confused:
回复 支持 反对

使用道具 举报

发表于 2006-2-26 06:43:24 | 显示全部楼层
Post by johnny_jiang
There is even a basic line editor inside the terminal.
这段是不是指终端里有个基本的命令行编辑器?

/dev/console和/dev/tty*有什么区别吗?

yongjian兄能否解释一下终端是如何接受我们的keystokes,在交给当前运行的程序呢?

麻烦了,万分感谢

我记得大致是输入设备的信号被终端截获后显示在显示屏上,同时存储到内存的cache中(ascii码),等接收到enter的信号时,这些信息被传递给shell进行处理。我记得还有码的转换,因为计算机接收的实际是ascii码,但是具体的过程不知道。要查书了。seamonkey兄别高抬我,我也就知道那么多的。
回复 支持 反对

使用道具 举报

发表于 2006-2-26 07:32:49 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-26 15:12:39 | 显示全部楼层


我怎么打不开链接啊,不管怎么样,多谢yongjian,seamonkey,终极幻想的提点,小弟谢过了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表