现如今, 我在终端上花的时间更多, 尝试在命令行完成比在图形界面更多的工作随着时间推移, 我学了许多 BASH 的技巧这是一份每个 Linux 用户都应该知道的 BASH 快捷键, 这样在终端做事就会快很多我不会说这是一份完全的 BASH 快捷键清单, 但是这足够让你的 BASH shell 操作比以前更快了学习更快地使用 BASH 不仅节省了更多时间, 也让你因为学到了有用的知识而感到自豪那么, 让我们开始吧
ALT 快捷键
ALT+A 光标移动到行首
ALT+B 光标移动到所在单词词首
ALT+C 终止正在运行的命令 / 进程与 CTRL+C 相同
ALT+D 关闭空的终端 (也就是它会关闭没有输入的终端) 也删除光标后的全部字符
ALT+F 移动到光标所在单词词末
ALT+T 交换最后两个单词
ALT+U 将单词内光标后的字母转为大写
ALT+L 将单词内光标后的字母转为小写
ALT+R 撤销对从历史记录中带来的命令的修改
正如你在上面输出所见, 我使用反向搜索拉取了一个指令, 并更改了那个指令的最后一个字母, 并使用 ALT+R 撤销了更改
ALT+. (注意末尾的点号) 使用上一条命令的最后一个单词
如果你想要对多个命令进行相同的操作的话, 你可以使用这个快捷键来获取前几个指令的最后一个单词例如, 我需要使用 ls -r 命令输出以文件名逆序排列的目录内容同时, 我也想使用 uname -r 命令来查看我的内核版本在这两个命令中, 相同的单词是 -r 这就是需要 ALT+. 的地方快捷键很顺手首先运行 ls -r 来按文件名逆序输出, 然后在其他命令, 比如 uname 中使用最后一个单词 -r
CTRL 快捷键
CTRL+A 快速移动到行首
我们假设你输入了像下面这样的命令当你在第 N 行时, 你发现在行首字符有一个输入错误
$ gind . -mtime -1 -type
注意到了吗? 上面的命令中我输入了 `gind` 而不是 `find` 你可以通过一直按着左箭头键定位到第一个字母然后用 `g` 替换 `f` 或者, 仅通过 `CTRL+A` 或 `HOME` 键来立刻定位到行首, 并替换拼错的单词这将节省你几秒钟的时间
2. `CTRL+B` 光标向前移动一个字符
这个快捷键可以使光标向前移动一个字符, 即光标前的一个字符或者, 你可以使用左箭头键来向前移动一个字符
3. `CTRL+C` 停止当前运行的命令
如果一个命令运行时间过久, 或者你误运行了, 你可以通过使用 `CTRL+C` 来强制停止或退出
4. `CTRL+D` 删除光标后的一个字符
如果你的系统退格键无法工作的话, 你可以使用 `CTRL+D` 来删除光标后的一个字符这个快捷键也可以让你退出当前会话, 和 exit 类似
5. `CTRL+E` 移动到行末
当你修正了行首拼写错误的单词, 按下 `CTRL+E` 来快速移动到行末或者, 你也可以使用你键盘上的 `END` 键
6. `CTRL+F` 光标向后移动一个字符
如果你想将光标向后移动一个字符的话, 按 `CTRL+F` 来替代右箭头键
7. `CTRL+G` 退出历史搜索模式, 不运行命令
正如你在上面的截图看到的, 我进行了反向搜索, 但是我执行命令, 并退出了历史搜索模式
8. `CTRL+H` 删除光标签的一个字符, 和退格键相同
9. `CTRL+J` 和 ENTER/RETURN 键相同
回车键不工作? 没问题! `CTRL+J` 或 `CTRL+M` 可以用来替换回车键
10. `CTRL+K` 删除光标后的所有字符
你不必一直按着删除键来删除光标后的字符只要按 `CTRL+K` 就能删除光标后的所有字符
11. `CTRL+L` 清空屏幕并重新显示当前行
别输入 `clear` 来清空屏幕了只需按 `CTRL+M` 即可清空并重新显示当前行
12. `CTRL+M` 和 `CTRL+J` 或 RETURN 键相同
13. `CTRL+N` 在命令历史中显示下一行
你也可以使用下箭头键
14. `CTRL+O` 运行你使用反向搜索时发现的命令, 即 CTRL+R
15. `CTRL+P` 显示命令历史的上一条命令
你也可以使用上箭头键
16. `CTRL+R` 向后搜索历史记录(反向搜索)
17. `CTRL+S` 向前搜索历史记录
18. `CTRL+T` 交换最后两个字符
这是我最喜欢的一个快捷键假设你输入了 `sl` 而不是 `ls` 没问题! 这个快捷键会像下面这张截图一样交换字符
![][2]
19. `CTRL+U` 删除光标前的所有字符(从光标后的点删除到行首)
这个快捷键立刻删除前面的所有字符
20. `CTRL+V` 逐字显示输入的下一个字符
21. `CTRL+W` 删除光标前的一个单词
不要和 CTRL+U 弄混了 CTRL+W 不会删除光标前的所有东西, 而是只删除一个单词
![][3]
22. `CTRL+X` 列出当前单词可能的文件名补全
23. `CTRL+XX` 移动到行首位置(再移动回来)
24. `CTRL+Y` 恢复你上一个删除或剪切的条目
记得吗, 我们在第 21 个命令用 `CTRL+W` 删除了单词 - al 你可以使用 `CTRL+Y` 立刻恢复
![][4]
看见了吧? 我没有输入 - al 取而代之, 我按了 `CTRL+Y` 来恢复它
25. `CTRL+Z` 停止当前的命令
你也许很了解这个快捷键它终止了当前运行的命令你可以在前台使用 `fg` 或在后台使用 `bg` 来恢复它
26. `CTRL+[` 和 `ESC` 键等同
### 杂项
1. `!!` 重复上一个命令
2. `ESC+t` 交换最后两个单词
这就是我所能想到的了将来我遇到 Bash 快捷键时我会持续添加的如果你觉得文章有错的话, 请在下方的评论区留言我会尽快更新
- Cheers!
- --------------------------------------------------------------------------------
- via: https://www.ostechnix.com/list-useful-bash-keyboard-shortcuts/
来源: http://igeekbar.com/igeekbar/post/1065.htm