#!/bin/bash
# Kali Linux 2025/2026 完整历史记录清除脚本
# 文件名: clear_all_history.sh
# 使用方法: sudo bash clear_all_history.sh
echo "=========================================="
echo " Kali Linux 2025/2026 历史记录深度清理"
echo "=========================================="
echo ""
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 检查是否以root运行
if [ "$EUID" -ne 0 ]; then
echo -e "${YELLOW}[警告] 建议以root权限运行以获得最佳清理效果${NC}"
echo "当前以普通用户身份运行,部分系统日志可能无法清理"
echo ""
fi
echo -e "${GREEN}[1/8] 正在清理 Bash 历史记录...${NC}"
# 清理当前Bash历史
history -c 2>/dev/null
# 清理.bash_history文件
if [ -f ~/.bash_history ]; then
cat /dev/null > ~/.bash_history
rm -f ~/.bash_history
echo " ✓ ~/.bash_history 已清空并删除"
fi
# 清理.bash_history备份文件
rm -f ~/.bash_history.*
echo " ✓ Bash历史备份文件已清理"
echo ""
echo -e "${GREEN}[2/8] 正在清理 Zsh 历史记录...${NC}"
# 清理Zsh历史(Kali 2025+默认使用Zsh)
if [ -f ~/.zsh_history ]; then
cat /dev/null > ~/.zsh_history
rm -f ~/.zsh_history
echo " ✓ ~/.zsh_history 已清空并删除"
fi
# 清理Zsh相关文件
rm -f ~/.zsh_history.*
rm -f ~/.zcompdump*
echo " ✓ Zsh相关缓存已清理"
echo ""
echo -e "${GREEN}[3/8] 正在清理其他Shell历史...${NC}"
# 清理其他可能的shell历史
for shell_hist in ~/.sh_history ~/.ksh_history ~/.csh_history ~/.tcsh_history; do
if [ -f "$shell_hist" ]; then
cat /dev/null > "$shell_hist" 2>/dev/null
rm -f "$shell_hist"
echo " ✓ $shell_hist 已清理"
fi
done
echo ""
echo -e "${GREEN}[4/8] 正在清理命令行缓存...${NC}"
# 清理readline历史
if [ -f ~/.inputrc ]; then
rm -f ~/.inputrc
echo " ✓ ~/.inputrc 已删除"
fi
# 清理less历史
rm -f ~/.lesshst 2>/dev/null
echo " ✓ less历史已清理"
# 清理mysql历史
rm -f ~/.mysql_history 2>/dev/null
echo " ✓ MySQL历史已清理"
# 清理psql历史
rm -f ~/.psql_history 2>/dev/null
echo " ✓ PostgreSQL历史已清理"
# 清理redis历史
rm -f ~/.rediscli_history 2>/dev/null
echo " ✓ Redis历史已清理"
echo ""
echo -e "${GREEN}[5/8] 正在清理系统日志(需要root权限)...${NC}"
if [ "$EUID" -eq 0 ]; then
# 清理认证日志
if [ -f /var/log/auth.log ]; then
cat /dev/null > /var/log/auth.log
echo " ✓ /var/log/auth.log 已清空"
fi
# 清理系统日志
if [ -f /var/log/syslog ]; then
cat /dev/null > /var/log/syslog
echo " ✓ /var/log/syslog 已清空"
fi
# 清理消息日志
if [ -f /var/log/messages ]; then
cat /dev/null > /var/log/messages
echo " ✓ /var/log/messages 已清空"
fi
# 清理内核日志
if [ -f /var/log/kern.log ]; then
cat /dev/null > /var/log/kern.log
echo " ✓ /var/log/kern.log 已清空"
fi
# 清理dpkg日志
if [ -f /var/log/dpkg.log ]; then
cat /dev/null > /var/log/dpkg.log
echo " ✓ /var/log/dpkg.log 已清空"
fi
# 清理apt历史
rm -rf /var/log/apt/*
echo " ✓ APT日志已清理"
# 清理lastlog
cat /dev/null > /var/log/lastlog 2>/dev/null
echo " ✓ lastlog已清空"
# 清理wtmp
cat /dev/null > /var/log/wtmp 2>/dev/null
echo " ✓ wtmp已清空"
# 清理btmp
cat /dev/null > /var/log/btmp 2>/dev/null
echo " ✓ btmp已清空"
# 清理journal日志(systemd)
if command -v journalctl &> /dev/null; then
journalctl --rotate 2>/dev/null
journalctl --vacuum-time=1s 2>/dev/null
echo " ✓ systemd journal日志已清理"
fi
else
echo -e " ${YELLOW}! 需要root权限才能清理系统日志${NC}"
fi
echo ""
echo -e "${GREEN}[6/8] 正在清理临时文件和缓存...${NC}"
# 清理/tmp目录下的用户文件
rm -rf /tmp/* 2>/dev/null
echo " ✓ /tmp 已清理"
# 清理用户缓存
rm -rf ~/.cache/*
echo " ✓ ~/.cache 已清理"
# 清理缩略图缓存
rm -rf ~/.thumbnails/* 2>/dev/null
echo " ✓ 缩略图缓存已清理"
# 清理最近使用文件
rm -f ~/.local/share/recently-used.xbel 2>/dev/null
rm -rf ~/.local/share/RecentDocuments/* 2>/dev/null
echo " ✓ 最近使用文件记录已清理"
# 清理Vim/Neovim历史
rm -f ~/.viminfo 2>/dev/null
rm -rf ~/.vim/view/* 2>/dev/null
rm -rf ~/.config/nvim/view/* 2>/dev/null
rm -f ~/.nvimlog 2>/dev/null
echo " ✓ Vim/Neovim历史已清理"
# 清理nano历史
rm -f ~/.nano_history 2>/dev/null
echo " ✓ Nano历史已清理"
echo ""
echo -e "${GREEN}[7/8] 正在清理浏览器历史(如存在)...${NC}"
# 清理Chrome/Chromium
rm -rf ~/.config/google-chrome/Default/History* 2>/dev/null
rm -rf ~/.config/chromium/Default/History* 2>/dev/null
echo " ✓ Chrome/Chromium历史已清理"
# 清理Firefox
rm -rf ~/.mozilla/firefox/*/places.sqlite 2>/dev/null
echo " ✓ Firefox历史已清理"
echo ""
echo -e "${GREEN}[8/8] 正在禁用历史记录功能...${NC}"
# 创建/修改.bashrc禁用历史
cat >> ~/.bashrc << 'EOF'
# === 历史记录禁用配置(由清理脚本添加)===
unset HISTFILE
export HISTSIZE=0
export HISTFILESIZE=0
export HISTCONTROL=ignorespace
set +o history
# ==========================================
EOF
# 创建/修改.zshrc禁用历史(Kali 2025+默认Zsh)
if [ -f ~/.zshrc ]; then
cat >> ~/.zshrc << 'EOF'
# === 历史记录禁用配置(由清理脚本添加)===
unset HISTFILE
export HISTSIZE=0
export SAVEHIST=0
setopt NO_HIST_BEEP
setopt NO_SHARE_HISTORY
# ==========================================
EOF
echo " ✓ Zsh历史记录已禁用"
fi
echo " ✓ Bash历史记录已禁用"
echo ""
echo "=========================================="
echo -e "${GREEN} 清理完成!${NC}"
echo "=========================================="
echo ""
echo "重要提示:"
echo "1. 请执行 'source ~/.bashrc' 或重新登录以使配置生效"
echo "2. 如需恢复历史记录功能,请手动删除.bashrc和.zshrc中添加的配置"
echo "3. 部分系统日志需要root权限才能完全清理"
echo "4. 建议重启系统以确保所有更改生效"
echo ""
# 提示用户是否立即退出
read -p "是否立即退出当前会话?(y/n): " choice
if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then
echo -e "${RED}正在退出...${NC}"
kill -9 $$
fi
08-23
3134
3134
10-14
676
676
08-29
4857
4857

被折叠的 条评论
为什么被折叠?



