栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Unix快捷键与信号

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unix快捷键与信号

Unix快捷键与信号
键盘映射

Unix有一些特殊的信号,来控制程序的运行,例如intr信号(interrupt,中断)表示终止当前程序。而这些信号通常会被某个快捷键映射,例如Ctrl+C映射到intr信号,因此当我们按下Ctrl+C就可以终止当前程序。

我们可以使用命令stty -a来查看当前终端所有的信号都被映射哪个快捷键了,这些映射通常由于终端的不同而不同,使用命令echo $TERM可以查看当前的终端类型。由于时代发展,现在都用PC机运行终端仿真程序来访问Linux,终端类型要么是xterm,要么是VT100,所以键盘映射也都差不多。例如

[root@centos ~]# stty -a
speed 38400 baud; rows 23; columns 166; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar 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 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

tip:由于写快捷键时,写Ctrl很麻烦,所以使用^来代表Ctrl,例如^C代表Ctrl+C,下面我也将采用这种方式


常见的信号含义与快捷键
信号描述快捷键
intr终止当前程序^C
erase删除光标前一个字符backspace
werase删除光标前一个单词^W
kill删除光标前所有字符^U
stop/start暂停/开始屏幕显示,当有大量输出时可以暂停查看^S/^Q
eof输入结束,可用于告诉shell输入结束,来退出登陆^D

修改键盘映射

使用命令stty 信号 快捷键即可,例如

stty erase ^H

tip:可以映射到任意键上,例如stty kill K,这样当按下k,将清空输入,非常好玩。


换行字符和返回字符

换行字符对应^J,返回字符对应^M

在Unix中,将键盘键入的数据视为与从文件中读取的数据相同,这一特性称为标准输入,在Unix看来,他们都是输入,没有区别。

在Unix的标准输入中,每行输入都必须以一个^J结束

当我们按下Enter键时,将发送^M,为了满足标准输入,Unix会将键盘输入的 ^M 替换成 ^J
当将文本打印到控制台时,会将^J 替换成 ^M^J

tips:在文本文件中,Unix使用^J作为每行结束,而Windows使用^M^J作为每行结束

重置终端

当终端输入出现问题时,可以尝试使用如下命令重置终端

stty sane
reset

如果回车键被敲坏了,可以使用^J替代

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641918.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号