#!/bin/bash # 清理随身 WiFi 上的空间。 # 用户明确授权删除:hexo / git / nodejs / .npm / .vscode-server # 每一步都先确认路径存在,不做通配删除。 set -u echo "===== 删之前 =====" df -h / | tail -1 echo free_mb() { df -m / | tail -1 | awk '{print $4}' } BEFORE=$(free_mb) # ---- 1. VS Code Server(646M,最大的一块)---- if [ -d /root/.vscode-server ]; then SZ=$(du -sh /root/.vscode-server 2>/dev/null | cut -f1) echo "删除 /root/.vscode-server ($SZ)" rm -rf /root/.vscode-server else echo "跳过 /root/.vscode-server(不存在)" fi # ---- 2. hexo 博客 ---- if [ -d /root/hexo ]; then SZ=$(du -sh /root/hexo 2>/dev/null | cut -f1) echo "删除 /root/hexo ($SZ)" rm -rf /root/hexo else echo "跳过 /root/hexo(不存在)" fi # ---- 3. npm 缓存 ---- if [ -d /root/.npm ]; then SZ=$(du -sh /root/.npm 2>/dev/null | cut -f1) echo "删除 /root/.npm ($SZ)" rm -rf /root/.npm else echo "跳过 /root/.npm(不存在)" fi # ---- 4. nodejs(apt 装的,用 apt 干净移除)---- if command -v node >/dev/null 2>&1; then echo "移除 nodejs / npm" DEBIAN_FRONTEND=noninteractive apt-get purge -y nodejs npm >/dev/null 2>&1 \ || echo " apt 移除失败,改用删目录" rm -rf /usr/lib/node_modules /usr/share/nodejs 2>/dev/null rm -f /usr/bin/node /usr/bin/npm /usr/bin/npx 2>/dev/null else echo "跳过 nodejs(没装)" fi # ---- 5. git ---- if command -v git >/dev/null 2>&1; then echo "移除 git" DEBIAN_FRONTEND=noninteractive apt-get purge -y git git-man >/dev/null 2>&1 \ || echo " apt 移除失败,改用删目录" rm -rf /usr/lib/git-core /usr/share/git-core 2>/dev/null rm -f /usr/bin/git 2>/dev/null else echo "跳过 git(没装)" fi # ---- 6. 收尾 ---- echo echo "清理 apt 缓存和无用依赖…" DEBIAN_FRONTEND=noninteractive apt-get autoremove -y >/dev/null 2>&1 apt-get clean >/dev/null 2>&1 AFTER=$(free_mb) echo echo "===== 删之后 =====" df -h / | tail -1 echo echo "释放了 $((AFTER - BEFORE)) MB,现在可用 ${AFTER} MB" echo echo "===== 内存 =====" free -m | head -2