linux 历史命令快捷键,Linux历史命令及bash快捷键

本文环境 Centos7

1.历史命令

1.1 在使用linux中熟练的使用历史命令,能给我很多便捷,下面我来总结一些常用的一些历史命令。

a) 执行上一条命令,这个很重要 ,执行上一条命令有四种方法,如下:

[root@CentOS-7-64data]#

[root@CentOS-7-64 data]# ls[a-z] kas kokoa l1234bd l1234bd1dada l12k l12ka l2a

b3e1085236941aa18c89777aca51e6eb.png

当然这个命令很简单,但是命令很复杂呢?使用 ↑ ,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

catkas

hello world

hello world

[root@CentOS-7-64 data]#

933972673bf74e8d02605f86550d5572.png

c) 在历史命令中执行包含red的命令,这条命不同于上条,上条是开头,这条是包含,使用方法:

!?red   !?+你要包含的命令

[root@CentOS-7-64 data]# cat /etc/redhat-release

CentOS Linux release7.7.1908(Core)

[root@CentOS-7-64 data]# !?redcat /etc/redhat-release

CentOS Linux release7.7.1908(Core)

[root@CentOS-7-64 data]#

8b41776e0999696764d326d08dcfa6eb.png

d) 打印以kas开头的命令,只打印不执行  方法  !command:p

[root@CentOS-7-64 data]# !kas:p

kas

7f4bace90361d1a5bf48edbc934ee587.png

e) 执行前一条命令(去除参数)并打印出命令  方法 !:0

[root@CentOS-7-64 data]# catkas

hello world

hello world

[root@CentOS-7-64 data]# !:0kokoacatkokoa

hello china

hello china

[root@CentOS-7-64 data]#

4d1a0577672cd18c9a332b08390e19f7.png

f) 得到前一个命令的第一个参数并打印命令   用法  !:1

[root@CentOS-7-64 data]# catkokoa

hello china

hello china

[root@CentOS-7-64 data]# vim !:1vim 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]#

bf34c109d032ada85b5f6e1eda4628c5.png

16f40dfba136144c032cb4cbd29b3091.png

Esc + 点   得到前一个命令的参数

[root@CentOS-7-64 data]# catkokoa

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          向左删除至单词首

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值