admin 管理员组文章数量: 1184232
由于误操作误登录了别人的服务器,做了一系列操作后,突然发觉不对,赶紧销毁现场。
使用history命令删除本次登录后做过的历史记录,但是保留原始的记录。
首先使用
help history
,命令查看帮助文档:
[root@10 ~]# help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
显示或操纵历史列表。
带行号显示历史列表,将每个被修改的条目加上前缀 `*'。
参数 N 会仅列出最后的 N 个条目。
选项:
-c 删除所有条目从而清空历史列表。
-d 偏移量 从指定位置删除历史列表。
-a 将当前绘画的历史行追加到历史文件中
-n 从历史文件中读取所有未被读取的行
-r 读取历史文件并将内容追加到历史列表中
中
-w 将当前历史写入到历史文件中
并追加到历史列表中
-p 对每一个 ARG 参数展开历史并显示结果
而不存储到历史列表中
-s 以单条记录追加 ARG 到历史列表中
如果给定了 FILENAME 文件名,则它将被作为历史文件。否则
如果 $HISTFILE 变量有值的话使用之,不然使用 ~/.bash_history 文件。
如果 $HISTTIMEFORMAT 变量被设定并且不为空,它的值会被用于
strftime(3) 的格式字符串来打印与每一个显示的历史条目想关联的时
间戳,否则不打印时间戳。
退出状态:
返回成功,除非使用了无效的选项或者发生错误。
清空历史记录
通常使用
history -c
可以清除掉缓存,但是由于使用不同的用户登录,会在不同的用户目录中创建
~/.bash_history
文件,所以要想彻底删除,还需要将
.bash_history
中的内容清空。
一键命令:
history -c && >~/.bash_history
删除某一条历史记录
如果只是想要删除某一条历史记录,可以使用
history -d 第几条
命令,在帮助文档中也有说明。
删除当前会话执行命令的记录
由于登录后,history命令都会保存在内存中,前操作的其实都是存在在内存中的历史记录缓存。在使用
history
命令后,会将当前操作写入
~/.bash_history
文件,然后打印出来。
如果没有执行
history
命令的话
,直接使用
history -r
,会将文件中的历史记录在此刷入缓存,那么之前操作的记录就不会保存了。
随意更新历史记录
如果已经使用
history
或者
history -a
将历史记录写入
~/.bash_history
文件的话,那么直接操作
~/.bash_history
文件就可以直接修改历史记录了。可以改成任意的样子。
修改完成后,执行:
history -c清空当前会话中的历史记录缓存history -r读取~/.bash_history文件中的历史记录到缓存中
可以看到已经更新了。
有一条命令可以一键执行:
sed -i 'n,1000d' -i ~/.bash_history && history -c && history -r
其中,
n
为从哪一条开始删除,命令可以打印出更新后的
.bash_history
文件内容。
版权声明:本文标题:CentOS7新手必学:如何安全清除历史操作日志 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1771800404a3548702.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论