清空历史kali针对2025-2026

#!/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西城男孩(0t0)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值