linux命令行技巧

一些快捷键

移动光标

快捷键 功能
Ctrl-a 移动光标到行首
Ctrl-e 移动光标到行尾
Ctrl-f 右(前, front)移一个字符,效果同右方向键
Ctrl-b 左(后, back)移一个字符,效果同左方向键
Alt-f 前移一个单词
Alt-b 后移一个单词
Ctrl-l 移动光标到左上角(清空屏幕)

修改文本

快捷键 功能
Ctrl-d 删除光标位置的字符,效果同Delete键
Ctrl-t 光标位置的字符和前面的字符互换
Alt-t 光标位置的单词和前面的单词互换
Alt-l 从光标位置开始到单词尾的字母转换成小写
Alt-u 从光标位置开始到单词尾的字母转换成大写

剪切和粘贴

快捷键 功能
Ctrl-k 剪切从光标位置到行尾的文本
Ctrl-u 剪切从光标位置到行首的文本(相见恨晚)
Ctrl-y 粘贴文本到当前位置

搜索历史记录

在任何时候,我们都可以浏览历史记录列表:

1
$ history | less

默认情况下,bash会储存最后500个命令,我们可以把less换成grep来进行查找,例如:

1
2
$ history | grep /usr/bin
88 ls -l /usr/bin > ls-output.txt

在上面这个例子中,我们假设了搜索结果是88 ls ...,这里的88是这个命令在历史记录列表中的行号,我们可以用!N来展开这个命令,如:

1
$ !88

这样使用很不方便,通常情况下我们直接使用Ctrl-r来搜索,当搜索到了之后,可以输入回车来执行,或者输入Ctrl-j来复制这一行;而再次输入Ctrl-r则会继续寻找下一个匹配项(向上移动历史列表);输入Ctrl-g或者Ctrl-c来退出搜索。