ALT key shortcuts
| 快捷键 | 说明 |
|---|---|
| Alt + b | 按单词后移(左向) |
| Alt + c | 从光标处更改为首字母大写的单词 |
| Alt + d | 从光标处删除至字尾 |
| Alt + f | 按单词前移(右向) |
| Alt + l | 从光标处更改为全部小写的单词 |
| Alt + t | 交换光标处和之前的单词 |
| Alt + u | 从光标处更改为全部大写的单词 |
| Alt + . | 粘贴上一条命令的最后一个参数 |
| Alt + Backspace | 与Ctrl + w相似,但分隔符略有不同 |
| Alt + [0-9] Alt + . | 粘贴上一条命令的第[0-9]个参数 |
CTRL key shortcuts
| 快捷键 | 说明 |
|---|---|
| Ctrl + a | 移到命令行首 |
| Ctrl + b | 按字符后移(左向) |
| Ctrl + c | 终止命令 |
| Ctrl + d | 删除光标处的字符 |
| Ctrl + e | 移到命令行尾 |
| Ctrl + f | 按字符前移(右向) |
| Ctrl + g | 从历史搜索模式(Ctrl + r)退出 |
| Ctrl + h | 删除光标前的字符 |
| Ctrl + j | 与回车键Enter相同 |
| Ctrl + k | 从光标处删除至命令行尾 |
| Ctrl + l | 清屏 |
| Ctrl + n | 历史中的下一条命令,要先使用Ctrl + p后才有用 |
| Ctrl + m | 与回车键Enter相同 |
| Ctrl + o | 执行当前命令,并选择上一条命令 |
| Ctrl + p | 历史中的上一条命令 |
| Ctrl + q | 允许屏幕继续输出,在使用Ctrl + s锁屏之后,使用此组合键解锁屏幕 |
| Ctrl + r | 逆向搜索命令历史,连续按Ctrl + r可以匹配更早之前的命令(fzf) |
| Ctrl + s | 阻止屏幕输出,如tail -f命令输出日志时 |
| Ctrl + t | 交换光标处和之前的字符 |
| Ctrl + v | 标记开始输入特殊字符,如Ctrl + v Ctrl + m |
| Ctrl + u | 从光标处删除至命令行首 |
| Ctrl + w | 从光标处删除至字首 |
| Ctrl + xx | 在命令行首和光标之间移动(需要连击x键二下) |
| Ctrl + x Ctrl + e | 调出系统默认编辑器编辑当前输入的命令,退出编辑器时,命令执行 |
| Ctrl + y | 在光标后粘贴Ctrl + w或Ctrl + k删除的内容 |
| Ctrl + z | 挂起命令 |
| Ctrl + [ | 与Esc键相同 |
| Ctrl + ] | 从当前光标往后搜索字符串,用于快速移动到该字符串 |
| Ctrl + Alt + ] | 从当前光标往前搜索字符串,用于快速移动到该字符串 |
| Ctrl + _ | 撤销输入,需要按下Shift键 |
Miscellaneous
| 快捷键 | 说明 |
|---|---|
| ESC + t | 交换最后二个单词的位置 |
| Ctrl + Insert | 复制 |
| Shift + Insert | 粘贴 |
| Enter ~ . | 退出僵死或者中断的SSH连接 |
Bang (!) 命令
这组不是快捷键,只是命令行中方便添加之前命令中参数到当前命令中,主要常用就是sudo !!。
| ! 命令 | 说明 |
|---|---|
!! |
执行上一条命令 |
!blah |
执行最近的以blah开头的命令,如!ls |
!blah:p |
仅打印输出,而不执行 |
!$ |
上一条命令的最后一个参数,与Alt + .相同 |
!$:p |
打印输出!$的内容 |
!* |
上一条命令的所有参数 |
!*:p |
打印输出!*的内容 |
^blah |
删除上一条命令中的blah |
^blah^foo |
将上一条命令中的blah替换为foo |
^blah^foo^ |
将上一条命令中所有的blah都替换为foo |
Bash默认为emacs编辑模式,可通过以下命令设置:
set -o emacs |
cheatsheet of bash shell shortcuts