有时候,我们需要在 Bash 中重复执行先前的命令。你当然可以使用上方向键来查看之前曾经运行过的命令。但这里有一些更好的方式,例如,数量掌握以下的快捷键。
1) !!:重复执行上一条指令
2) !a:重复执行上一条以a为首的指令
3) !number:重复执行上一条在history表中记录号码为number的指令
4) !-number:重复执行前第number条指令
5) !$:表示获得上一条命令中的最后一项内容
6) 用Ctrl + r 组合键来进入历史搜索模式在history表中查询某条过往指令,找到需要重复执行的命令后,按回车键即可重复命令参数(即上一点中的第5条)
Ctrl+p重复上一次命令
Ctrl+a跳到第一个字符前
Ctrl+x同上但再按一次会从新回到原位置
Ctrl+b前移一个字符不删除字符情况下
Ctrl+h删除前一个字符
Ctrl+u删除提示符前的所有字符
Ctrl+w同上
Ctrl+d删除提示符后一个字符或exit或logout
Ctrl+e转到字符尾部
Ctrl+f后移一个字符
Ctrl+k删除提示符后全部字符
Ctrl+k取消
ctrl+r向前查找用过的命令
Ctrl+o Ctrl+y Ctrl+i Crtl+m这4个没搞清楚怎么用
<TAB> 命令补齐
CTRL-I 等同于按制表符<TAB>键
CTRL-W 不是删除光标前的所有字符, 它删除光标前的一个单词
CTRL-P 是recall出上一个命令 <===> CTRL-N 是recall出下一个命令
ESC-F 光标向前步进一个单词
ESC-B 光标向后步进一个单词
CTRL-M 等同于回车键
CTRL-O 等同于回车键
CTRL-V 使下一个特殊字符可以插入在当前位置, 如CTRL-V <TAB> 可以在当前位置插入一个<TAB>字符, 其ASCII是9, 否则一般情况下按<TAB>结果是命令补齐
CTRL-C 撤消当前命令行的编辑, 另起一行.
CTRL-S 暂时冻结当前shell的输入
CTRL-Q 解冻
ESC-c 使下一个单词首字母大写, 同时光标前进一个单词, 如光标停留在单词的某个字母上, 如word中的o字母上, 则o字母变大写.
而不是w
ESC-u 使下一个单词所有字母变大写, 同时光标前进一个单词, 同上, 如光标在o字母上, 则ord变大写, w不变.
ESC-l 同ESC-U, 但使之全变为小写.
把bash所有的ctrl组合键试了一遍,现总结如下(以下出现的所有键都是ctrl组合键):
1. U K Y
U将光标(不包括)以前的字符删除
K将光标(包括)以后的字符删除
Y将刚才删除的字符粘出来
2. D H
D将光标处的字符删除
H将光标前的一个字符删除
新闻热点
疑难解答