TranslateProject/published/201803/20180217 The List Of Useful Bash Keyboard Shortcuts.md
2018-03-31 23:41:11 +08:00

6.6 KiB
Raw Permalink Blame History

有用的 Bash 快捷键清单

现如今,我在终端上花的时间更多,尝试在命令行完成比在图形界面更多的工作。随着时间推移,我学了许多 BASH 的技巧。这是一份每个 Linux 用户都应该知道的 BASH 快捷键,这样在终端做事就会快很多。我不会说这是一份完全的 BASH 快捷键清单,但是这足够让你的 BASH shell 操作比以前更快了。学习更快地使用 BASH 不仅节省了更多时间,也让你因为学到了有用的知识而感到自豪。那么,让我们开始吧。

ALT 快捷键

  1. ALT+A 光标移动到行首。

  2. ALT+B 光标移动到所在单词词首。

  3. ALT+C 终止正在运行的命令/进程。与 CTRL+C 相同。

  4. ALT+D 关闭空的终端(也就是它会关闭没有输入的终端)。也删除光标后的全部字符。

  5. ALT+F 移动到光标所在单词词末。

  6. ALT+T 交换最后两个单词。

  7. ALT+U 将单词内光标后的字母转为大写。

  8. ALT+L 将单词内光标后的字母转为小写。

  9. ALT+R 撤销对从历史记录中带来的命令的修改。

    正如你在上面输出所见,我使用反向搜索拉取了一个指令,并更改了那个指令的最后一个字母,并使用 ALT+R 撤销了更改。

  10. ALT+. (注意末尾的点号) 使用上一条命令的最后一个单词。

如果你想要对多个命令进行相同的操作的话,你可以使用这个快捷键来获取前几个指令的最后一个单词。例如,我需要使用 ls -r 命令输出以文件名逆序排列的目录内容。同时,我也想使用 uname -r 命令来查看我的内核版本。在这两个命令中,相同的单词是 -r 。这就是需要 ALT+. 的地方。快捷键很顺手。首先运行 ls -r 来按文件名逆序输出,然后在其他命令,比如 uname 中使用最后一个单词 -r

CTRL 快捷键

  1. 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/

作者:[SK][a]
译者:[heart4lor](https://github.com/heart4lor)
校对:[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

[a]:https://www.ostechnix.com/author/sk/
[2]:http://www.ostechnix.com/wp-content/uploads/2018/02/CTRLT-1.gif
[3]:http://www.ostechnix.com/wp-content/uploads/2018/02/CTRLW-1.gif
[4]:http://www.ostechnix.com/wp-content/uploads/2018/02/CTRLY-1.gif