终端设备的由来
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,另一台电脑为操作者/配置者
测试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
1
-
-
- Frame Ground
TxD
2
3
out
- Transmit Data
RxD
3
2
in
- Receive
Data
RTS