因为误操做误登陆了别人的服务器,作了一系列操做后,忽然发觉不对,赶忙销毁现场。
使用history命令删除本次登陆后作过的历史记录,可是保留原始的记录。
首先使用help history
,命令查看帮助文档:linux
[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
web
若是只是想要删除某一条历史记录,可使用history -d 第几条
命令,在帮助文档中也有说明。缓存
因为登陆后,history命令都会保存在内存中,前操做的其实都是存在在内存中的历史记录缓存。在使用history
命令后,会将当前操做写入~/.bash_history
文件,而后打印出来。若是没有执行history
命令的话,直接使用history -r
,会将文件中的历史记录在此刷入缓存,那么以前操做的记录就不会保存了。bash
若是已经使用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
文件内容。svg