在日常工作中,能够快速并准确的使用命令是提升工作效率的不二法则,下面为大家介绍一下其中的小技巧。

一、查找命令历史——history

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

# history

wKioL1U4qi7jVyKcAACqrGQheyw917.jpg

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

    额外选项:

# 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.调用上一条命令的最后一个参数——!$

例如:我查看/var/log/目录下的所有文件,此时/var/log/就是ls命令的参数值。

# ls /var/log/

wKiom1U63ZKiSC9RAAA5FVcGQXA354.jpg

    这时我要查看此目录下的message文件,就可以用如下方式输入,请看下方(为了不被刷屏,使用了less命令)。

# cat !$messages | less

wKiom1U63oPAfz2dAABfr0Q5R_s767.jpg

    从上图我们可以看出,系统自动将!$替换为了/var/log/目录,是不是很方便!同样的,你按下ESC键,然后松开再按.也是调用上条命令的参数值,请大家自行尝试。

    这里只是初步的为大家介绍一些小技巧,如果您从中发现了什么问题,请联系我,QQ:82800452,感谢大家,谢谢!