怎么解开?
google了一下, 发现解开的方法: ctrl-q
然后想了想: 这样下去不是个办法呀. ctrl-s为什么要被搞成这种没有意义的用途呢(至少我还没有想到)
ctrl-s能不能被map到其它作用?
刚开始, 猜是terminal软件的问题, 但是测试了一下, urxvt和terminal(xfce下默认安装的一个软件)都对ctrl-s起作用. 好像自己的是想法是不对的.
找着找着, 跑入了linux的历史......
什么是tty?
The name of the program comes from teletypewriter, abbreviated "TTY".
* http://en.wikipedia.org/wiki/Teleprinter
就是输入与输出的设备. tty的man手册中写到:
tty - print the file name of the terminal connected to standard input
* 为什么没有说standard output的呢?
命令运行的结果:
jessinio@nio-laptop ~ $ tty
/dev/pts/9
什么是终端?
终端其实应该叫terminal emulate
* http://en.wikipedia.org/wiki/Terminal_emulator
tty是设备(就算pts也是模拟的), terminal amulator算是使用tty的一个软件, terminal amulator是用户与tty设备的纽带.
现在知道用户的会被两次处理:
1. 被terminal emulator处理.
1. 被tty处理.
之前猜测是terminal emulator的处理, 其实是tty的处理.
tty的设置有专用的命令, 如下:
stty - change and print terminal line settings
现有的设置:
jessinio@nio-laptop ~ $ stty -a|less
speed 38400 baud; rows 32; columns 116; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol =
eol2 =
werase = ^W; lnext =
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab3 bs0 vt0 ff0
isig -icanon iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
去掉ctrl-s的作用:
非常激动的发现了新的作用, 如下:
jessinio@nio-laptop ~ $ stty stop ^-
(i-search)`':
出现了向前搜索!!我之前一直认为bash是没有这个功能的(不想使用arrow键)
把这命令行加到~/.bashrc下即可!(当然, terminal emulator需要是login shell)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.