编辑命令
光标移动 剪切、删除
Ctrl + a 行首 Ctrl + u(剪切)
Ctrl + e 行尾 Ctrl + k(剪切)
Ctrl + xx 当前字符和行首之间
Ctrl + f → 下一个字符
当前字符 Ctrl + d(删除)
Ctrl + b ← 上一个字符 Ctrl + h(删除)
Alt + b 单词词首 Ctrl + w / Alt + Backspace(剪切)
Alt + f 单词词尾 Alt + d(剪切)
粘贴
Ctrl + y 将删除的内容粘贴到当前字符后
Ctrl+u 剪切光标所在位置到行首间的字符,如果光标在最后,相当于剪切当前命令行
Ctrl+k 剪切光标所在位置到行尾间的字符,如果光标在行首,相当于剪切当前命令行
Ctrl+w 剪切光标前的单词
前后交换
Ctrl + t 字符交换(与前面的字符)
Alt + t 单词交换(与前面的单词)
大小写替换
Alt + c 当前字符大写
Alt + u 当前字符至词尾大写
Alt + l 当前字符至词尾小写
控制命令
Ctrl + l 清屏(clear,将当前的显示全部清除,保留当前行命令)
Ctrl + o 另起一行
Ctrl + z 挂起命令
Ctrl + c 终止命令(中断当前操作)
Ctrl + s 锁终端(挂起当前shell)
Ctrl + q 解锁终端(重新启用当前挂起的shell)
Ctrl + d 注销当前shell并关闭(新命令行时)
exit 退出当前shell
Ctrl + i Tab (命令或参数补全)
历史命令
Ctrl + p ↑ 显示上一条
Ctrl + n ↓ 显示下一条
!! 执行上一条命令
!-num 执行历史命令中倒数第num条命令
!num 执行历史命令中的第num条命令
!comm 执行最近以comm开头的命令
!?string? 执行最近一条包含有string字符串的命令
Alt + . ESC + . !$ 显示上一条命令的最后一个参数(最后一个字符串)
!* 显示上一条命令的所有参数
!$:p 显示!$(!$在句首会执行)
!ca:p 显示最近以ca开头的命令
!*:p 显示所有参数(!*在句首会执行)
^comm 删除上一条命令字符串的comm,并执行其他部分
^comm^foo 将上一条命令字符串的第一处comm替换为foo并执行
^comm^foo^ 将上一条命令字符串的所有comm替换为foo并执行
Ctrl + r 逆向搜索(搜索上一条匹配的命令)
Ctrl + g 退出搜索
注:
- Ctrl + d 在非空命令行中删除单个字符,在空命令行中关闭当前shell
- 以上的单词,广义上可表示一个连续的非空格的字符串