stty Linux ctrl 组合键

2019年6月28日

[root@www ~]# stty [-a] 选项不参数:

speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-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
我们可以利用 stty -a来列出目前环境中所有的按键列表,在上头的列表当中,需要注意的是特殊字体那几个, 此外,如果出现 ^ 表示 [Ctrl] 那个按键的意思。举例来说, intr = ^C 表示利用 [ctrl] + c 来达成的。几个重要的代表意义是:
 eof : End of file 的意思,代表『结束输入』。
 erase : 向后初除字符,
 intr : 送出一个 interrupt (中断) 的讯号给目前正在 run 的程序;
 kill : 初除在目前命令列上的所有文字;
 quit : 送出一个 quit 癿讯号给目前正在 run 的程序;
 start : 在某个程序停止后,重新启动他的 output
 stop : 停止目前屏幕的输出;
 susp : 送出一个 terminal stop 的讯号给正在 run 的程序。
记不记得我们在第五章讱过几个 Linux 热键啊?没错! 就是这个 stty 设定值内的 intr / eof 啰~至亍删除字符,就是 erase 那个设定值啦! 如果你想要用 [ctrl]+h 来进行字符的初除,那么可以下达:

[root@www ~]# stty erase ^h
那么从此以后,你的删除字符就得要使用 [ctrl]+h 啰,按下 [backspace] 则会出现 ^? 字样呢! 如果想要恢复利用 [backspace] ,就下达 stty erase ^? 即可啊! 至亍更多的 stty 说明,记得参考一下 man stty 的内容喔! 除了 stty 之外,其实我们的 bash 还有自己的一些终端机设定值呢!那就是利用 set 来设定的! 我们之前提到一些发量时,可以利用 set 来显示,除此之外,其实 set 还可以帮我们设定整个指令输出/输入的环境。 例如记录历史命令、显示错诨内容等等。

在Shell命令行中:

一些常用的:

Ctrl+f/b:光标向前/向后;

Ctrl+a/e:光标到行首/行尾;

Ctrl+u/k:删除光标前/后所有字符;

Ctrl+?=Ctrl+xu:撤销上次操作;

Ctrl+r:查找最近匹配命令;

Ctrl+d = del;

Ctrl+h = backspace;

Ctrl+s/q:暂停/撤销暂停,注意只是输出暂停,不是整个Linux系统;

Ctrl+c:中止,建新行;

另外还有两个好用但是不属于这的快捷键:

pushd/popd:cd到某路径并将路径存入栈,将路径弹出栈并cd到此路径。

一些不常用的:

Ctrl+x:切换当前位置和行首;

Ctrl+v:插入特殊字符,比如tab键,一些组合键等;

Ctrl+z:中止,未实现Ctrl+c时常用;

Ctrl+p/n:同向上/向下,上一条/下一条命令;

Ctrl+w:删除到字头;

Ctrl+o = Ctrl+j = Ctrl+m = enter;

Ctrl+t:交换当前光标及前一个字符,如果当前光标在行首,无动作。

没有评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注