history介绍及bash命令快速调用

    在日常工作中,能够快速并准确的使用命令是必不可少的,下面为大家介绍一下其中的小技巧。

一、查找命令历史——history

    使用history能够快速的找到之前输入过的命令。

# history

大家可以看到,你输入过的命令会在列表中显现出来。前面是命令编号,有什么用?请看下方详解。

    额外选项:

# history N      显示最近的N条命令,例如history 5
 # history -d N   删除第N条命令,这个N就是前面的编号,例如history -d 990
 # history -c     清空命令历史
 # history -a     将当前会话中的命令历史写入指定文件

    指定文件是什么?就是历史记录的环境变量信息,它通常会保存在用户家目录下的.bash_history。

# echo $HISTFILE        使用此命令查看环境变量

wKiom1U4stjA8KTOAABMq1jEA3I834.jpg

# echo $HISTFILESIZE    查看最大保存数目

wKiom1U4tNrDT5N-AABBt73DCbQ866.jpg

二、快速调用bash命令

    当我们敲完一条命令后,系统就会将其记录下来,以备查看或快速调用。那么如何实现bash命令的快速使用?请看下方。

  • 1.执行命令历史中的第N条命令

# !N

例如:上面截图中显示,989条命令为ls,当我们使用!989,系统就会再次执行一次ls命令。

  • 2.执行上一条命令

# !!

例如:我执行uptime命令,之后马上使用!!,系统就会告知你上一条命令使用的是什么,并执行取回结果的。

wKiom1U5jRPx9AvbAABxA7zs7W8296.jpg

wKioL1U5jp_gYstoAACKQuNUePM860.jpg

  • 3.执行命令历史中最近一次以字符串(string)开头的命令

# !string

例如:我在家目录下新建文件夹mkdir test,然后删除之rm -rf test。

wKioL1U5kG3gNWSwAAFBhNO9QFQ748.jpg

现在看,家目录下没有test目录了。我执行!mk,大家可以看,刚才创建目录的命令又被执行了,再用!rm,目录又被删除了。但是注意,这样虽然很方便,但是由于有些命令开头很相似,因此很容易造成误操作,安全的办法还是看下history吧!

# !mk

wKiom1U5j37xVCiPAADPo0Uxxxs531.jpg

# !rm

wKioL1U5kR6D2vf-AAC5NN2J1AY057.jpg

  4.调用上一条命令的最后一个参数—— !$
我首先ls /var/log/目录,此时/var/log/就是ls命令的参数。

下面我想查看此目录下的messages文件,就可以这么写(为防止刷屏,使用了less)。

大家可以看到,命令会自动替换!$为/var/log/,是不是很方便!同样的,按下ESC,放开再按.也可以调用上个命令的参数,请大家自行尝试下。
如果上述描述有任何不对或者错误的地方,还请大家为我指认,感谢大家观看,谢谢! QQ:82800452
原文地址:https://www.cnblogs.com/tae44/p/4455747.html