命令历史是bash提供的功能之一,记录之前我们执行过的命令(也包括执行失败的命令)。
Linux命令-history
原创
©著作权归作者所有:来自51CTO博客作者小辉hui的原创作品,请联系作者获取转载授权,否则将追究法律责任
我们可以通过history命令查看命令历史:
那么,这些历史命令保存在哪里呢?
历史命令保存在~/.bash_history文件中:
为什么文件是空白的?那是因为执行过的命令暂时保存在一段命名空间为HISTFILE的内存中,当正确的登出bash后,
内存中的历史命令就会保存到~/.bash_history中。
我们正确logout,再login进来,查看此文件:
我们也可以使用history命令手动将暂时保存在内存中的命令历史记录保存到~/.bash_history中:
history -w :将当前内存中的history保存并覆盖~/.bash_history。
查看~/.bash_history:
查看当前history:
执行history -w,并查看historyfile:
history n:列出最近的n次命令。
history -c:清空当前history列表。
history -r :读取histfile到内存中。
1问:命令历史为什么保存在~/.bash_history中?
如果我们更改HISTFILE的值,命令历史应该就保存到新的位置了吧!
执行history -w,查看/tmp/root.history内容:
果然命令历史保存到此文件。
2问:当前history可以保存多少条命令历史呢?
查看HISTSIZE得知,当前history最多保存1000条命令历史。
3问:histfile最多保存多少条命令历史呢?
查看HISTFILESIZE得知,当前histfile最多保存1000条命令历史。
4问:
由上图可以看出,重复执行的命令被bash记录了多次和以空格开始的命令也被记录,如何控制bash的记录方式?
HISTCONTROL就是用来控制只记录重复命令1次和忽略以空格开头的命令,它有3个值:
ignorespace:忽略空格开头的命令
可以看出,以空格开头的history命令没有被记录,但是重复执行的命令被重复记录。
ignoredups:重复的命令只记录一次
重复执行的命令不再重复记录,但是以空格开头的命令被记录。
ignoreboth:兼有上面两个功能
重复执行的命令不再重复记录,而且以空格开头的history命令没有被记录。
几个常用的快捷命令:
!num:history中第num个命令
!!:上一个命令
!-num:从倒数第num个命令
!string:最近一次以string开始的命令
下一篇:Linux命令-用户和组管理
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux history命令
Linux history命令
历史记录 bash 搜索 -
linux之history命令
history
linux 基础 知识 -
Linux history命令详解
Linux命令
Linux命令 bash 历史记录 命令缓冲区