[root@localhost ~]# history [选项] [历史命令保存文件]
选项:如果 history 命令直接回车,则用于查询系统中的历史命令,命令如下:
[root@localhost ~]# history
…省略部分输出…
421 chmod 755 hello.sh
422/root/sh/hello.sh
423 ./hello.sh
424 bash hello.sh
425 history
[root@localhost ~]#vi /etc/profile
…省略部分输出…
HISTSIZE=1000
…省略部分输出…
[root@localhost ~]#vi /etc/profile
…省略部分输出…
HISTSIZE=10000
…省略部分输出…
如果某个用户的历史命令总了历史命令保存条数,那么新命令会变成最后一条命令,而最早的命令则被删除。假设系统保存 1000 条历史命令,而我已经保存了 1000 条历史命令,那么我新输入的命令会被保存成第 1000 条命令,而最早的第一条命令会被删除。
还要注意一下,我们使用 history 命令查看的历史命令和 ~/.bash_history 文件中保存的历史命令是不同的。那是因为当前登录操作的命令并没有直接写入 ~/.bash_history 文件中,而是保存在缓存当中的,需要等当前用户注销之后,缓存中的命令才会写入 ~/.bash_history 文件中。
如果我们需要把内存中的命令直接写入 ~/.bash_history 文件中,而不等用户注销时再写入,就需要使用"-w"选项。命令如下:
[root@localhost ~]# history -w
#把缓存中的历史命令直接写入~/.bash_history
如果需要清空历史命令,则只需要执行如下命令:
[root@localhost ~]# history -c
#清空历史命令
历史命令的调用
如果想要使用原先的历史命令,则有这样几种方法:- 使用上、下箭头调用以前的历史命令。
- 使用"!n"重复执行第 n 条历史命令。
[root@localhost ~]# history
…省略部分输出…
421 chmod 755 hello.sh
422/root/sh/hello.sh
423 ./hello.sh
424 bash hello.sh
425 history
[root@localhost sh]# !424
#重复执行第424条命令
- 使用"!!"重复执行上一条命令。
[root@localhost sh]#!!
#如果接着上一条命令,则会把424命令再执行一遍
- 使用"!字符串"重复执行最后一条以该字符串开头的命令。
[root@localhost sh]#!bash
#重复执行最后一条以bash开头的命令,也就是第424条命令bash hello.sh
- 使用"!$"重复上一条命令的最后一个参数。
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
#查看网卡配置文件内容
[root@localhost ~]# vi !$
# "!$"代表上一条命令的最后一个参数,也就是/etc/sysconfig/network-scripts/ifcfg-eth0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。