温馨提示×

CentOS如何清理历史记录

小樊
61
2026-07-20 15:52:13
栏目: 智能运维

在 CentOS 系统中,“清理历史记录”通常指 清理命令历史记录(history),也可能包括 日志、缓存、登录记录 等。下面按常见场景给你一个完整说明。


一、清理当前用户的命令历史记录(最常见)

1️⃣ 查看当前历史记录

history

2️⃣ 清空当前会话的历史记录

history -c

⚠️ 注意:
这只是清空内存中的历史,不会立即删除 ~/.bash_history 文件。

3️⃣ 删除历史文件

rm -f ~/.bash_history

4️⃣ 防止历史再次被写入

unset HISTFILE

或者临时关闭历史记录:

set +o history

二、立即生效(推荐做法)

history -c
history -w

或一条命令:

cat /dev/null > ~/.bash_history && history -c

三、清理所有用户的历史记录(root 操作)

for user in $(ls /home); do
    > /home/$user/.bash_history
done

> /root/.bash_history

四、清理系统日志(谨慎操作)

1️⃣ 清理 systemd 日志

journalctl --vacuum-time=1d

或保留 100MB:

journalctl --vacuum-size=100M

2️⃣ 清空传统日志文件

> /var/log/messages
> /var/log/secure
> /var/log/audit/audit.log

⚠️ 不建议直接删除日志文件,否则服务可能异常。


五、清理登录记录(审计相关)

> /var/log/wtmp     # 登录记录
> /var/log/btmp     # 错误登录
> /var/log/lastlog  # 最后登录

查看登录历史:

last
lastb

六、清理 yum / dnf 缓存

yum clean all

或(CentOS 8+):

dnf clean all

七、防止历史记录被保存(长期方案)

编辑 ~/.bashrc

export HISTSIZE=0
export HISTFILESIZE=0

或完全禁用:

unset HISTFILE

生效:

source ~/.bashrc

八、彻底但危险(不推荐生产环境)

shred -u ~/.bash_history

✅ 推荐安全做法(运维常用)

history -c
cat /dev/null > ~/.bash_history

如果你是想:

  • 防止别人看到你执行了什么
  • 服务器安全加固
  • 脚本执行后不留痕迹
  • Docker / 容器环境清理

可以告诉我具体使用场景,我可以给你更精准的方案。

0