Linux历史命令及bash快捷键

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux历史命令及bash快捷键
本⽂环境 Centos7
1.历史命令
1.1 在使⽤linux中熟练的使⽤历史命令,能给我很多便捷,下⾯我来总结⼀些常⽤的⼀些历史命令。

a) 执⾏上⼀条命令,这个很重要,执⾏上⼀条命令有四种⽅法,如下:
[root@CentOS-7-64 data]#
[root@CentOS-7-64 data]# ls
[a-z] kas kokoa l1234bd l1234bd1dada l12k l12ka l2a
当然这个命令很简单,但是命令很复杂呢?使⽤↑,ctrl+p ,!-1 ,!! 这四种⽅式可以执⾏上条命令
[root@CentOS-7-64 data]# !!
ls
[a-z] kas kokoa l1234bd l1234bd1dada l12k l12ka l2a
[root@CentOS-7-64 data]# ls # 我这⾥按的是 ctrl+p
[a-z] kas kokoa l1234bd l1234bd1dada l12k l12ka l2a
[root@CentOS-7-64 data]# !-1
ls
[a-z] kas kokoa l1234bd l1234bd1dada l12k l12ka l2a
[root@CentOS-7-64 data]# ls # 这⾥是↑键
[a-z] kas kokoa l1234bd l1234bd1dada l12k l12ka l2a
[root@CentOS-7-64 data]#
b) 在历史命令中执⾏最新⼀条以cat开头的命令,要执⾏以什么开头的命令,在叹号后⾯加上你要执⾏的命令,执⾏的是最后⼀条以cat开头的命令⽤法 !cat
[root@CentOS-7-64 data]# !cat
cat kas
hello world
hello world
[root@CentOS-7-64 data]#
c) 在历史命令中执⾏包含red的命令,这条命不同于上条,上条是开头,这条是包含,使⽤⽅法:
!?red !?+你要包含的命令
[root@CentOS-7-64 data]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@CentOS-7-64 data]# !?red
cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@CentOS-7-64 data]#
d) 打印以kas开头的命令,只打印不执⾏⽅法 !command:p
[root@CentOS-7-64 data]# !kas:p
kas
e) 执⾏前⼀条命令(去除参数)并打印出命令⽅法 !:0
[root@CentOS-7-64 data]# cat kas
hello world
hello world
[root@CentOS-7-64 data]# !:0 kokoa
cat kokoa
hello china
hello china
[root@CentOS-7-64 data]#
f) 得到前⼀个命令的第⼀个参数并打印命令⽤法 !:1
[root@CentOS-7-64 data]# cat kokoa
hello china
hello china
[root@CentOS-7-64 data]# vim !:1
vim kokoa
[root@CentOS-7-64 data]#
g) 要重新调⽤前⼀个命令中最后⼀个参数并打印命令有⼏种⽅法我就写我常⽤的⽤法 !$ Esc + . 英⽂点[root@CentOS-7-64 data]# !grep
grep"hello" kokoa kas
kokoa:hello china
kokoa:hello china
kas:hello world
kas:hello world
[root@CentOS-7-64 data]# vim !$
vim kas
[root@CentOS-7-64 data]#
Esc + 点得到前⼀个命令的参数
[root@CentOS-7-64 data]# cat kokoa
hello china
hello china
[root@CentOS-7-64 data]# vim kokoa
1.2 ⽤好这些历史命令的正确⽅式能给我们的⼯作很⼤的便利,还有很多类似的命令,我就不⼀⼀演⽰了,就写在下⾯了
!$:p 打印上⼀条命令的最后⼀个参数
!*:p 打印上⼀条命令的所有参数
!^:p 打印上⼀条命令的第⼀个参数
^command 删除上⼀条命令中的第⼀个command,并执⾏删除 command 后的结果
^command1^command2 将上⼀条命令中的第⼀个command1替换为command2
!:gs/command1/command2 将上⼀条命令中所有的command1都替换为 command
ctrl + r 搜索历史命令 ctrl+g 退出搜索
command !^ 将上个命令的第⼀个参数作command的参数
command !$ 将上个命令的最后⼀个参数作command的参数
command !* 将上个命令的所有参数作command的参数
command !:n 将上个命令的第n个参数作command的参数
command !n:^ 获取第n条命令的第⼀个参数
command !n:$ 获取第n条命令的最后⼀个参数
command !n:m 获取第n条命令的第m个参数
command !n:* 获取第n条命令的所有参数 
command !cmd:^ 在命令历史中搜索以 cmd 开头的命令,并获取它的第⼀个参数
command !cmd:$ 在命令历史中搜索以 cmd 开头的命令,并获取它的最后⼀个参数
command !cmd:n 在命令历史中搜索以 cmd 开头的命令,并获取它的第n 个参数
command !cmd:* 在命令历史中搜索以 cmd 开头的命令,并获取它的所有参数
1.3 历史命令的环境变量
HISTSIZE 记录历史命令条数
HISTFILE 记录历史命令的⽂件
HISTFILESIZE 命令历史⽂件记录历史的条数
HISTTIMEFORMAT 显⽰历史命令时间这个很有⽤如:HISTTIMEFORMAT="%T-%F " 后⾯留了⼏个空格,你试试不留空格的效果?
HISTIGNORE
HISTCONTROL 以下是HISTCONTROL的值与效果
ignoredups 默认,忽略重复的命令,连续且相同为“重复”
ingorespace 不记录以空格开头的命令
ingoreboth 是以上两个值的效果,不记录空格开头,忽略重复
erasedups 删除重复命令
2. bash快捷键常⽤的很多没列出
ctrl+l 清屏
ctrl+y 将删除的粘贴到光标处
ctrl+z 挂起
ctrl+c 强⾏终⽌
ctrl+s 锁定屏幕,组织输出
ctrl+t 交换字符,将光标前的字符与光标处的字符交换 ctrl+q 对应以上ctrl+s的命令,对ctrl+s进⾏恢复
ctrl+o 执⾏当前命令,并重新显⽰本命令
ctrl+e 将光标移⾄⾏尾
ctrl+a 将光标移⾄⾏⾸
ctrl+u 删除到⾏⾸
ctrl+k 删除到⾏尾
ctrl+d 删除光标上的字符
ctrl+h 删除光标前的字符
ctrl+w 向左删除⾄单词⾸
alt+r 删除整⾏
alt+f 光标向右移⾄单词尾
alt+b 光标向左移⾄单词⾸
alt+t 将光标处的单词与前⼀个单词换位置
alt+d 向左删除⾄单词⾸。

相关文档
最新文档