在日常工作中,能够快速并准确的使用命令是必不可少的,下面为大家介绍一下其中的小技巧。
一、查找命令历史——history
使用history能够快速的找到之前输入过的命令。
# history
大家可以看到,你输入过的命令会在列表中显现出来。前面是命令编号,有什么用?请看下方详解。
额外选项:
# history N 显示最近的N条命令,例如history 5 # history -d N 删除第N条命令,这个N就是前面的编号,例如history -d 990 # history -c 清空命令历史 # history -a 将当前会话中的命令历史写入指定文件
指定文件是什么?就是历史记录的环境变量信息,它通常会保存在用户家目录下的.bash_history。
# echo $HISTFILE 使用此命令查看环境变量
# echo $HISTFILESIZE 查看最大保存数目
二、快速调用bash命令
当我们敲完一条命令后,系统就会将其记录下来,以备查看或快速调用。那么如何实现bash命令的快速使用?请看下方。
-
1.执行命令历史中的第N条命令
# !N
例如:上面截图中显示,989条命令为ls,当我们使用!989,系统就会再次执行一次ls命令。
-
2.执行上一条命令
# !!
例如:我执行uptime命令,之后马上使用!!,系统就会告知你上一条命令使用的是什么,并执行取回结果的。
-
3.执行命令历史中最近一次以字符串(string)开头的命令
# !string
例如:我在家目录下新建文件夹mkdir test,然后删除之rm -rf test。
现在看,家目录下没有test目录了。我执行!mk,大家可以看,刚才创建目录的命令又被执行了,再用!rm,目录又被删除了。但是注意,这样虽然很方便,但是由于有些命令开头很相似,因此很容易造成误操作,安全的办法还是看下history吧!
# !mk
# !rm
4.调用上一条命令的最后一个参数—— !$ 我首先ls /var/log/目录,此时/var/log/就是ls命令的参数。
下面我想查看此目录下的messages文件,就可以这么写(为防止刷屏,使用了less)。
大家可以看到,命令会自动替换!$为/var/log/,是不是很方便!同样的,按下ESC,放开再按.也可以调用上个命令的参数,请大家自行尝试下。 如果上述描述有任何不对或者错误的地方,还请大家为我指认,感谢大家观看,谢谢! QQ:82800452