<ijse blog />

一些BASH的快捷键

下文中C代表Ctrl,M代表Alt。 C-a C-e 光标快速移动到行首,行尾

C-f C-b 向前,向后移动一个字符(前也就是右,后也就是左)

M-f M-b 向前,向后移动一个单词

C-d C-h 向前,向后删除一个字符

M-d C-w 向前,向后删除一个单词

C-u 删除光标字符到行首(这个东东当你输入密码错误的时候就很管用了的)

C-k 删除光标字符到行尾

C-t 交换光标所在字符和它左边的字符并跳转到下一个字符(像我这样指法不标准的经常会把字符打错位置可以试试哈)

M-t 和上面相似,只不过交换的是一个单词

M-c 把光标所在处的字符改为大写,然后跳到下一个单词的词首

M-l 把光标所在处字符到单词结束的字符都改为小写

M-u 把光标所在处字符到单词结束的字符都改为大写

C-/ 可以撤销对命令的修改(undo)

C-xx 可以在光标所在位置和行首来回切换

C-p C-n 查阅命令历史,类似方向上下键

C-r 这个算是我最喜欢的命令了,可以查看命令历史,找到前面执行过的命令.(这个不太好描述,谁用谁知道,用了自然就不会再像之前用history|grep xxx找到之后再!nnn来执行了),当搜索到想要的命令时,直接Enter就可以运行;你也可以用C-j,搜索到的命令就会放到命令行中,进行你想要的编辑之后再运行;C-g退出刚才的C-r模式.

M-. 输出上次命令的最后一个参数(可能没说太清楚,举个例子)

这里发现cd到一个文档错了,下次你就输入cat,再按M-.就会自动把后面的/etc/passwd补充上了的.

[benbenbear@wanghs ~]$ cd /etc/passwd -bash: cd: /etc/passwd: Not a directory [benbenbear@wanghs ~]$ cat /etc/passwd

C-M-y 同上,也是输出上次命令的最后一个参数