Linux 彻底清空历史命令 恢复历史命令(完整版、重启永久生效)
📅 2026/7/7 4:44:42
👁️ 阅读次数
📝 编程学习
Linux 彻底清空历史命令 & 恢复历史命令(完整版、重启永久生效)
一、彻底删除所有历史命令(无痕、重启不恢复)
普通history -c只能临时清空当前终端,重启后历史会还原。下面是服务器彻底无痕、永久清空历史的完整操作:
- 清空当前终端内存历史 + 磁盘历史文件
history-c>~/.bash_history- 关闭系统历史记录功能(从根源禁用,重启不保存)
# 当前用户永久禁用echo'export HISTSIZE=0'>>~/.bashrcecho'export HISTFILESIZE=0'>>~/.bashrcecho'unset HISTFILE'>>~/.bashrc# 全局所有用户永久禁用echo'export HISTSIZE=0'>>/etc/profileecho'export HISTFILESIZE=0'>>/etc/profileecho'unset HISTFILE'>>/etc/profile# 立即生效source~/.bashrcsource/etc/profile- 锁定历史文件(防止系统自动恢复、写入)
chattr +i ~/.bash_history- 验证
输入history无任何输出,重启服务器后依然为空,即为彻底删除完成。
二、恢复系统历史命令(恢复如初、正常记录操作)
如果后续需要正常保存、查看、留存命令历史,执行以下全套恢复操作:
- 第一步先解除文件锁定(必须执行)
chattr-i~/.bash_history- 清理所有禁用历史的配置
# 清理用户配置sed-i'/HISTSIZE=0/d'~/.bashrcsed-i'/HISTFILESIZE=0/d'~/.bashrcsed-i'/unset HISTFILE/d'~/.bashrc# 清理全局配置sed-i'/export HISTSIZE=0/d'/etc/profilesed-i'/export HISTFILESIZE=0/d'/etc/profilesed-i'/unset HISTFILE/d'/etc/profile- 恢复系统默认历史记录规则
echo'export HISTSIZE=1000'>>~/.bashrcecho'export HISTFILESIZE=2000'>>~/.bashrcsource~/.bashrcsource/etc/profile- 验证恢复
随便执行ls、pwd等命令,再输入history可以正常查看记录,重启后依旧保存历史,即完全恢复如初。
重要注意事项
- 历史清空后,旧命令记录无法找回,只能恢复后续新命令的记录;
- 本方案兼容麒麟系统、欧拉、CentOS、Ubuntu、昇腾服务器所有 Linux 环境;
- 修改
/etc/profile全局配置需要 root 权限; - 所有操作可逆、无系统损坏、不影响业务运行。
极简一键命令(收藏可用)
彻底清空禁用历史
history-c&&>~/.bash_history&&echo'export HISTSIZE=0;export HISTFILESIZE=0;unset HISTFILE'>>~/.bashrc&&echo'export HISTSIZE=0;export HISTFILESIZE=0;unset HISTFILE'>>/etc/profile&&chattr +i ~/.bash_history&&source~/.bashrc&&source/etc/profile恢复历史记录
chattr-i~/.bash_history&&sed-i'/HISTSIZE=0/d;/HISTFILESIZE=0/d;/unset HISTFILE/d'~/.bashrc /etc/profile&&echo'export HISTSIZE=1000;export HISTFILESIZE=2000'>>~/.bashrc&&source~/.bashrc&&source/etc/profile
编程学习
技术分享
实战经验