---
author: Sk
category: 技术
comments_data: []
count:
  commentnum: 0
  favtimes: 4
  likes: 0
  sharetimes: 0
  viewnum: 6195
date: '2018-03-11 12:34:00'
editorchoice: false
excerpt: 学习更快地使用 BASH 不仅节省了更多时间，也让你因为学到了有用的知识而感到自豪。那么，让我们开始吧。
fromurl: https://www.ostechnix.com/list-useful-bash-keyboard-shortcuts/
id: 9430
islctt: true
largepic: /images/p/201803/11/123955cv78v9z911zi8iry.jpg
permalink: /article-9430-1.html
pic: /images/p/201803/11/123955cv78v9z911zi8iry.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 学习更快地使用 BASH 不仅节省了更多时间，也让你因为学到了有用的知识而感到自豪。那么，让我们开始吧。
tags:
- 快捷键
- bash
thumb: false
title: 有用的 Bash 快捷键清单
titlepic: true
translator: heart4lor
updated: '2018-03-11 12:34:00'
---

![](/images/p/201803/11/123955cv78v9z911zi8iry.jpg)


现如今，我在终端上花的时间更多，尝试在命令行完成比在图形界面更多的工作。随着时间推移，我学了许多 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+L` 即可清空并重新显示当前行。
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` 。没问题！这个快捷键会像下面这张截图一样交换字符。


![](/images/p/201803/11/123503wr7ys71r711yidjx.gif)
19. `CTRL+U` – 删除光标前的所有字符（从光标后的点删除到行首）。
这个快捷键立刻删除前面的所有字符。
20. `CTRL+V` – 逐字显示输入的下一个字符。
21. `CTRL+W` – 删除光标前的一个单词。
不要和 CTRL+U 弄混了。CTRL+W 不会删除光标前的所有东西，而是只删除一个单词。


![](/images/p/201803/11/123504rui1c7rioruhmevc.gif)
22. `CTRL+X` – 列出当前单词可能的文件名补全。
23. `CTRL+XX` – 移动到行首位置（再移动回来）。
24. `CTRL+Y` – 恢复你上一个删除或剪切的条目。
记得吗，我们在第 21 个命令用 `CTRL+W` 删除了单词“-al”。你可以使用 `CTRL+Y` 立刻恢复。


![](/images/p/201803/11/123506i62msz8qg5mq8om5.gif)


看见了吧？我没有输入“-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](https://www.ostechnix.com/author/sk/) 译者：[heart4lor](https://github.com/heart4lor) 校对：[wxy](https://github.com/wxy)


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