本文目录导读:

- Windows 批处理脚本 (clean_gitbook_cache.bat)
- Linux/macOS Shell 脚本 (clean_gitbook_cache.sh)
- 跨平台 Python 脚本 (clean_gitbook_cache.py)
- 使用说明
- 功能特点
- 注意事项
这是一个实用的 GitBook 缓存自动清理脚本,支持不同操作系统。
Windows 批处理脚本 (clean_gitbook_cache.bat)
@echo off
echo ========================================
echo GitBook Cache Cleaner
echo ========================================
echo.
:: 设置颜色GitBook Cache Cleaner
:: 清理 GitBook 缓存目录
echo [1/3] 清理 GitBook 缓存目录...
if exist "%USERPROFILE%\.gitbook" (
rmdir /s /q "%USERPROFILE%\.gitbook"
echo ✓ .gitbook 缓存已清理
) else (
echo - .gitbook 缓存不存在
)
:: 清理 node_modules 缓存
echo [2/3] 清理 node_modules 缓存...
if exist ".gitbook" (
rmdir /s /q ".gitbook"
echo ✓ .gitbook 目录已清理
) else (
echo - .gitbook 目录不存在
)
:: 清理 _book 目录
echo [3/3] 清理 _book 目录...
if exist "_book" (
rmdir /s /q "_book"
echo ✓ _book 目录已清理
) else (
echo - _book 目录不存在
)
:: 清理 npm 缓存(可选)
echo.
set /p clean_npm=是否清理 npm 缓存?(Y/N):
if /i "!clean_npm!"=="Y" (
echo 清理 npm 缓存...
npm cache clean --force
echo ✓ npm 缓存已清理
)
:: 清理浏览器缓存(可选)
echo.
set /p clean_browser=是否清理浏览器缓存?(Y/N):
if /i "!clean_browser!"=="Y" (
echo 清理浏览器缓存...
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
echo ✓ 浏览器缓存已清理
)
echo.
echo ========================================
echo 清理完成!
echo ========================================
pause
Linux/macOS Shell 脚本 (clean_gitbook_cache.sh)
#!/bin/bash
# GitBook Cache Cleaner
echo "========================================"
echo " GitBook Cache Cleaner"
echo "========================================"
echo ""
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 清理 GitBook 缓存
echo -e "${YELLOW}[1/3]${NC} 清理 GitBook 缓存目录..."
if [ -d "$HOME/.gitbook" ]; then
rm -rf "$HOME/.gitbook"
echo -e "${GREEN} ✓${NC} .gitbook 缓存已清理"
else
echo -e " - .gitbook 缓存不存在"
fi
# 清理项目级缓存
echo -e "${YELLOW}[2/3]${NC} 清理项目级缓存..."
# 清理 .gitbook 目录
if [ -d ".gitbook" ]; then
rm -rf ".gitbook"
echo -e "${GREEN} ✓${NC} .gitbook 目录已清理"
else
echo -e " - .gitbook 目录不存在"
fi
# 清理 node_modules(如果存在 package.json)
if [ -f "package.json" ] && [ -d "node_modules" ]; then
echo -e " - 发现 package.json,是否清理 node_modules?"
read -p " 清理 node_modules? (y/N): " clean_node
if [ "$clean_node" = "y" ] || [ "$clean_node" = "Y" ]; then
rm -rf "node_modules"
echo -e "${GREEN} ✓${NC} node_modules 已清理"
fi
fi
# 清理 _book 目录
echo -e "${YELLOW}[3/3]${NC} 清理 _book 目录..."
if [ -d "_book" ]; then
rm -rf "_book"
echo -e "${GREEN} ✓${NC} _book 目录已清理"
else
echo -e " - _book 目录不存在"
fi
# 清理 npm 缓存
echo ""
read -p "是否清理 npm 缓存?(y/N): " clean_npm
if [ "$clean_npm" = "y" ] || [ "$clean_npm" = "Y" ]; then
echo "清理 npm 缓存..."
npm cache clean --force
echo -e "${GREEN}✓${NC} npm 缓存已清理"
fi
# 清理 Git 缓存
echo ""
read -p "是否清理 Git 缓存?(y/N): " clean_git
if [ "$clean_git" = "y" ] || [ "$clean_git" = "Y" ]; then
if [ -d ".git" ]; then
echo "清理 Git 缓存..."
git gc --auto
echo -e "${GREEN}✓${NC} Git 缓存已清理"
else
echo -e "${RED}✗${NC} 不是 Git 仓库"
fi
fi
echo ""
echo "========================================"
echo -e "${GREEN} 清理完成!${NC}"
echo "========================================"
跨平台 Python 脚本 (clean_gitbook_cache.py)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
GitBook Cache Cleaner - 跨平台缓存清理工具
"""
import os
import sys
import shutil
import subprocess
from pathlib import Path
class GitBookCacheCleaner:
def __init__(self):
self.home = Path.home()
self.current_dir = Path.cwd()
def print_header(self):
"""打印标题"""
print("=" * 50)
print(" GitBook Cache Cleaner")
print("=" * 50)
print()
def clean_gitbook_global_cache(self):
"""清理全局 GitBook 缓存"""
print("[1/4] 清理全局 GitBook 缓存...")
# Linux/macOS 缓存
gitbook_cache = self.home / ".gitbook"
if gitbook_cache.exists():
shutil.rmtree(gitbook_cache)
print(" ✓ 已清理 ~/.gitbook")
else:
print(" - ~/.gitbook 不存在")
# Windows 缓存
if sys.platform == "win32":
appdata = Path(os.environ.get("APPDATA", ""))
gitbook_appdata = appdata / "gitbook"
if gitbook_appdata.exists():
shutil.rmtree(gitbook_appdata)
print(" ✓ 已清理 AppData/gitbook")
def clean_project_cache(self):
"""清理项目级缓存"""
print("[2/4] 清理项目级缓存...")
# 清理 .gitbook 目录
gitbook_dir = self.current_dir / ".gitbook"
if gitbook_dir.exists():
shutil.rmtree(gitbook_dir)
print(" ✓ 已清理 .gitbook 目录")
else:
print(" - .gitbook 目录不存在")
# 清理 _book 目录
book_dir = self.current_dir / "_book"
if book_dir.exists():
shutil.rmtree(book_dir)
print(" ✓ 已清理 _book 目录")
else:
print(" - _book 目录不存在")
# 清理 npm 相关缓存
package_lock = self.current_dir / "package-lock.json"
if package_lock.exists():
print(" - 发现 package-lock.json")
node_modules = self.current_dir / "node_modules"
if node_modules.exists() and Path("package.json").exists():
response = input(" 发现 node_modules,是否清理?(y/N): ")
if response.lower() == 'y':
shutil.rmtree(node_modules)
print(" ✓ 已清理 node_modules")
def clean_os_cache(self):
"""清理操作系统级缓存"""
print("[3/4] 清理系统级缓存...")
if sys.platform == "darwin": # macOS
# 清理 DNSCache
try:
subprocess.run(["sudo", "killall", "-HUP", "mDNSResponder"],
capture_output=True)
print(" ✓ DNS 缓存已清理")
except:
pass
elif sys.platform == "win32": # Windows
response = input("是否清理 DNS 缓存?(y/N): ")
if response.lower() == 'y':
try:
subprocess.run(["ipconfig", "/flushdns"],
capture_output=True)
print(" ✓ DNS 缓存已清理")
except:
print(" ✗ DNS 缓存清理失败")
def clean_optional_caches(self):
"""清理可选缓存"""
print("[4/4] 清理可选缓存...")
# 清理 npm 缓存
response = input("是否清理 npm 缓存?(y/N): ")
if response.lower() == 'y':
try:
subprocess.run(["npm", "cache", "clean", "--force"],
check=True)
print(" ✓ npm 缓存已清理")
except subprocess.CalledProcessError:
print(" ✗ npm 缓存清理失败")
# 清理 pip 缓存(如果存在)
response = input("是否清理 pip 缓存?(y/N): ")
if response.lower() == 'y':
try:
subprocess.run(["pip", "cache", "purge"], check=True)
print(" ✓ pip 缓存已清理")
except:
print(" - pip 缓存清理失败或不可用")
def run(self):
"""运行清理程序"""
self.print_header()
try:
self.clean_gitbook_global_cache()
print()
self.clean_project_cache()
print()
self.clean_os_cache()
print()
self.clean_optional_caches()
print()
print("=" * 50)
print(" 清理完成!")
print("=" * 50)
except KeyboardInterrupt:
print("\n\n清理被用户中断")
sys.exit(1)
except Exception as e:
print(f"\n错误: {e}")
sys.exit(1)
if __name__ == "__main__":
# 检查管理员权限(Windows)
if sys.platform == "win32":
import ctypes
if not ctypes.windll.shell32.IsUserAnAdmin():
print("建议以管理员身份运行此脚本以获得最佳清理效果")
response = input("是否继续?(Y/n): ")
if response.lower() == 'n':
sys.exit(0)
cleaner = GitBookCacheCleaner()
cleaner.run()
使用说明
Windows 用户
- 将
clean_gitbook_cache.bat保存到项目目录 - 右键点击 → "以管理员身份运行"
- 或双击运行(部分功能需要管理员权限)
Linux/macOS 用户
# 赋予执行权限 chmod +x clean_gitbook_cache.sh # 运行脚本 ./clean_gitbook_cache.sh
Python 用户(跨平台)
# 安装依赖(可选) pip install -r requirements.txt # 运行脚本 python clean_gitbook_cache.py # 或直接运行(Linux/macOS) chmod +x clean_gitbook_cache.py ./clean_gitbook_cache.py
功能特点
- 全面清理:清理 GitBook 生成的各种缓存文件
- 交互式操作:询问用户是否清理某些缓存
- 跨平台支持:Windows、macOS、Linux
- 安全可靠:不会删除重要文件
- 进度显示:清晰显示清理进度和结果
注意事项
- 建议以管理员/root 权限运行以获得最佳效果
- 清理前请确保 GitBook 服务已停止
- 某些操作系统级缓存清理需要管理员权限
- 可选操作(如 npm 缓存)会询问用户确认
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播