本文涉及在linux命令行下进行快速移动光标、命令编辑、编辑后执行历史命令、Bang(!)命令、控制命令等。让basher更有效率。
说明:
- ctrl + k:先按住ctrl不动,再按k;
- Alt + k:先按住Alt不动,再按k;
- Esc + k:先单击Esc,再按k。
1. 常用命令
- ctrl+左右键:在单词之间跳转
- ctrl+a:跳到本行的行首
- ctrl+e:跳到行尾
- ctrl+u:删除当前光标前面的文字 (还有剪切功能)
- ctrl+k:删除当前光标后面的文字(还有剪切功能)
- ctrl+l:进行清屏操作
- ctrl+y:粘贴ctrl+u或ctrl+k剪切的内容
- ctrl+w:删除光标前面的单词的字符
- Alt – d :由光标位置开始,往右删除单词。往行尾删
2. 移动光标
- ctrl+a:跳到本行的行首
- ctrl+e:跳到行尾
- ctrl + b :往回(左)移动一个字符
- ctrl + f :往后(右)移动一个字符
- Alt + b :往回(左)移动一个单词
- Alt + f :往后(右)移动一个单词
- ctrl + xx :在命令行首和光标之间移动
- Esc + b :往回(左)移动一个单词
- Esc + f :往后(右)移动一个单词
3. 编辑命令
- ctrl + h :删除光标左方位置的字符
- ctrl + d :删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)
- ctrl + w :由光标位置开始,往左删除单词。往行首删
- Alt + d :由光标位置开始,往右删除单词。往行尾删
- Esc + d :由光标位置开始,删除单词,直到该单词结束。
- ctrl + k :由光标所在位置开始,删除右方所有的字符,直到该行结束。
- ctrl + u :由光标所在位置开始,删除左方所有的字符,直到该行开始。
- ctrl + y :粘贴之前删除的内容到光标后。
- ctrl + t :交换光标处和之前两个字符的位置。
- Alt + . :使用上一条命令的最后一个参数。
- ctrl + - :回复之前的状态。撤销操作。
- ctrl + a 加 Ctrl -k 或 ctrl + e 加 ctrl + u 或 ctrl + k 加 ctrl + u 组合可删除整行。
4. Bang(!)命令
输入下面的命令后,再按回车。
- !!:执行上一条命令
- ^foo^bar :把上一条命令里的foo替换为bar,并执行。
- !wget :执行最近的以wget开头的命令。
- !wget:p :仅打印最近的以wget开头的命令,不执行。
- !$ :上一条命令的最后一个参数, 与 Alt + . 和 $_ 相同。
- !* :上一条命令的所有参数
- !*:p :打印上一条命令的所有参数,也即 !*的内容。
- ^abc :删除上一条命令中的abc。
- !- n :执行前n条命令,执行上一条命令: ! -1, 执行前5条命令的格式是: !-5
5. 查找历史命令
- ctrl + p :显示当前命令的上一条历史命令
- ctrl + n :显示当前命令的下一条历史命令
- ctrl + r :搜索历史命令,随着搜索信息的输入会显示历史命令中的一条匹配的命令,Enter键执行匹配命令;ESC键在命令行显示而不执行匹配命令。
- ctrl + g :从历史搜索模式(ctrl + r)退出。
6. 控制命令
- ctrl + l :清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
- ctrl + o :执行当前命令,并选择上一条命令。
- ctrl + s :阻止屏幕输出
- ctrl + q :允许屏幕输出
- ctrl + c :终止命令
- ctrl + z :挂起命令
7. 重复执行操作动作
Esc + 操作次数 操作动作 : 指定操作次数,重复执行指定的操作。