Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2445164
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: 系统运维

2011-03-15 15:21:34



终端设备的由来
  •     最传统的终端控制台——VT100
VT100是串行口接的字符终端(Text Terminal),作为控制台
  •     现代的控制台终端——键盘+显示器
  •     虚拟终端仿真
现在都是通过应用程序模拟一个终端,叫虚拟终端,如WINDOWS的超级终端

 
  tty设备
    tty是Teletype的缩写,指终端设备
    tty是一种字符型设备(c设备),有多种类型
    设备名放在/dev/下,终端特殊设备文件一般有以下几种:
/dev/ttySn
/dev/tts/0或/dev/ttyS0、/dev/tts/1或/dev/ttyS1等
串口终端Serial Port Terminal
对应于的COM1、COM2等
设备号分别是(4,0)、(4,1)等
/dev/ttyn
tty1 –tty6
控制台终端/虚拟终端
当你在控制台上登录时,使用的是tty1,使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去
tty0
tty0是“当前”所使用虚拟终端的一个别名,指向当前正在使用的虚拟终端tty1-tty6之一
dev/tty 
/控制台终端
类似于tty0,也是当前终端的链接或别名
/dev/pty/ 伪终端(Pseudo Terminal)
通过使用适当的软件,就可以把两个甚至多个伪终端设备连接到同一个物理串行端口上


    Consoletype
[root@localhost macg]# /sbin/consoletype
pty


    console口扮演两个角色
1。在SERVER COM口的输入输出
2。在SERVER的CONSOLE控制台或XWIN的CONSOLE窗口的输出


   如何找 console文件?
[root@localhost etc]# ls -l /dev
。。。
crw-rw----  1 root root 5, 1 May 12  2007 /dev/console
[root@mm mac]# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

local7.*                                                /var/log/boot.log


   简单的输出信息到console
 [root@vm /]# echo haha > /dev/console
 在console显示器,或xwin 的console窗口,可以看到haha


   编写 crontab时,常用到输出到/dev/console
*/5 * * * * /bin/date >/dev/console         

   注意只有root才可以写入/dev/console,其他人不可以写
[root@localhost etc]# ls -l /dev/console
crw-rw----  1 root root 5, 1 May 12  2007 /dev/console


    COM口的连线——NULL MODEM CABLE
两台电脑,用COM口互联,需要"NULL MODEM CABLE"
"NULL MODEM CABLE"直译过来大致是"交叉MODEM线",和网线的交叉线意思相近,这是用来"背靠背"联接两个DTE设备的,也简称“串口线”
两头都是9针母头

    两台电脑背靠背COM口联结的含义
一台电脑为SERVER,另一台电脑为操作者/配置者
  系统console口 <wbr>,设备COM口


   测试null modem cable联通性
管理工作站和服务器接上交叉线后,可以简单地来测试一下这条线是否起作用。
 管理工作站
用超级终端新建一个联接,速率9600,8数据位,1停止位,无奇偶校验位,无硬件"Flow control"
 服务器
echo '1'>/dev/ttyS0
 在管理工作站超级终端里观察是否能收到数字1
不能收到则要在服务器上检查一下各信号引脚是否正确


   要向一个串口发送数据,在命令行上把标准输出STDIN重定向到这些DEV文件名上即可
echo test > /dev/ttyS1            ”test”发送到连接在ttyS1(COM2)端口的设备上


   为什么CISCO 的CONSOLE和LINUX的CONSOLE无法兼容? 问题出在哪里?
   为什么用CONSOLE线连LINUX,能看到启动信息,但到LOGIN:就不响应了?
CONSOLE线肯定没问题,
问题主要出在终端仿真程序的设置上!
 secureCRT linux session  secureCRT cisco session
 96008N1  96008N1
主要是在流控flow control的设置上
  secureCRT linux session  secureCRT cisco session
 UNIX CONSOLE对流控是要设置的
1。在secureCRT上,三个流控选项(XON/XOFF,RTS/CTS,DTR/DSR)必须都为空(UNCHECK)

2。在windows 终端仿真上,三个流控选项(XON/XOFF,硬件,无)必须选择无.
   缺省是“硬件”,即RTS/CTS,这对CISCO是支持的,但对LINUX就不行,必须选择“无"

3.SecureCRT缺省是RTS/CTS CHECKED,这对CISCO是支持的,但LINUX就不行,必须UNCHECK RTS/CTS
   
 CISCO CONSOLE无所谓流控任何流控都支持,通常不设置流控或保持缺省流控
cisco CONSOLE支持:
RTS/CTS  CHECK
RTS/CTS  UNCHECK
XON/XOFF CHECK
XON/XOFF UNCHECK
DTR/DSR CHECK
DTR/DSR UNCHECK


   dmesg看系统的串口分配情况
[root@oscar root]# dmesg | grep tty
ttyS0 at 0x03f8 (irq = 4) is a 16550A
ttyS1 at 0x02f8 (irq = 3) is a 16550A


   statserial 查看当前串行口的状态
statserial - display serial port modem status lines
statserial [-n |  -d | -x]
[root@localhost mac]# statserial /dev/tty?
tty    tty12  tty17  tty21  tty26  tty30  tty35  tty4   tty44  tty49  tty53  tty58  tty62  ttyS0  ttyS5 
tty0   tty13  tty18  tty22  tty27  tty31  tty36  tty40  tty45  tty5   tty54  tty59  tty63  ttyS1  ttyS6 
tty1   tty14  tty19  tty23  tty28  tty32  tty37  tty41  tty46  tty50  tty55  tty6   tty7   ttyS2  ttyS7 
tty10  tty15  tty2   tty24  tty29  tty33  tty38  tty42  tty47  tty51  tty56  tty60  tty8   ttyS3 
tty11  tty16  tty20  tty25  tty3   tty34  tty39  tty43  tty48  tty52  tty57  tty61  tty9   ttyS4 
[root@localhost mac]# statserial /dev/ttyS0

Device: /dev/ttyS0

Signal  Pin  Pin  Direction  Status  Full
Name    (25) (9)  (computer)         Name
-----   ---  ---  ---------  ------  -----
FG                       Frame Ground
TxD            out          Transmit Data
RxD            in           Receive  Data
RTS            out          Request To Send
CTS            in           Clear To Send
DSR            in           Data Set Ready
         在CABLE对端不接管理工作站时或者线序错误时DSR状态为0
GND                      Signal Ground
DCD            in           Data Carrier Detect
DTR     20        out          Data Terminal Ready
RI      22        in           Ring Indicator

   最详细的文档:Linux Serial Console HOWTO.mht


转载自:http://blog.sina.com.cn/s/blog_6151984a0100ejfg.html
阅读(3657) | 评论(0) | 转发(0) |
0

上一篇:linux autofs

下一篇:系统级别环境文件profile

给主人留下些什么吧!~~