本文目录导读:

macOS Apple Notes 缓存清理脚本
#!/bin/bash
# Apple Notes 缓存清理脚本
# 适用于 macOS
echo "======================================"
echo " Apple Notes 缓存清理脚本"
echo "======================================"
# 检查 macOS 版本
macos_version=$(sw_vers -productVersion)
echo "系统版本: macOS $macos_version"
# 定义缓存路径
NOTES_CACHE_PATHS=(
"$HOME/Library/Caches/com.apple.Notes"
"$HOME/Library/Caches/com.apple.Notes.SharedServices"
"$HOME/Library/Caches/com.apple.iCloudNotes"
"$HOME/Library/Caches/CloudKit/com.apple.notes"
"$HOME/Library/Containers/com.apple.Notes/Data/Library/Caches"
"$HOME/Library/Containers/com.apple.Notes/Data/Library/Caches/com.apple.Notes"
"$HOME/Library/Containers/com.apple.iCloudNotes/Data/Library/Caches"
)
# 清理函数
clean_cache() {
local total_size=0
local cleaned_count=0
echo ""
echo "开始清理 Apple Notes 缓存..."
for cache_path in "${NOTES_CACHE_PATHS[@]}"; do
if [ -d "$cache_path" ]; then
local size=$(du -sh "$cache_path" 2>/dev/null | awk '{print $1}')
local bytes_size=$(du -sb "$cache_path" 2>/dev/null | awk '{print $1}')
# 清理缓存内容(保留目录结构)
find "$cache_path" -type f -delete 2>/dev/null
find "$cache_path" -type d -empty -delete 2>/dev/null
echo " ✓ 已清理: $cache_path"
echo " 清理前大小: $size"
total_size=$((total_size + bytes_size))
cleaned_count=$((cleaned_count + 1))
else
echo " - 路径不存在: $cache_path"
fi
done
echo ""
echo "清理完成!"
echo "共清理 $cleaned_count 个缓存目录"
# 转换为可读格式
if [ $total_size -gt 1048576 ]; then
echo "总计释放空间: $(echo "scale=2; $total_size/1048576" | bc) MB"
elif [ $total_size -gt 1024 ]; then
echo "总计释放空间: $(echo "scale=2; $total_size/1024" | bc) KB"
else
echo "总计释放空间: $total_size bytes"
fi
}
# 检查是否正在运行 Notes
check_notes_running() {
if pgrep -x "Notes" > /dev/null; then
echo ""
echo "⚠️ 注意: Apple Notes 正在运行"
read -p "是否关闭 Notes 后继续清理? (y/n): " choice
if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then
echo "正在关闭 Notes..."
killall "Notes" 2>/dev/null
sleep 2
if pgrep -x "Notes" > /dev/null; then
echo "❌ 无法自动关闭 Notes,请手动关闭后重试"
exit 1
fi
echo "✓ Notes 已关闭"
else
echo "取消清理操作"
exit 0
fi
fi
}
# 显示当前缓存大小
show_cache_size() {
echo ""
echo "当前缓存占用:"
for cache_path in "${NOTES_CACHE_PATHS[@]}"; do
if [ -d "$cache_path" ]; then
local size=$(du -sh "$cache_path" 2>/dev/null | awk '{print $1}')
echo " $cache_path: $size"
fi
done
}
# 主程序
main() {
echo ""
echo "请选择操作:"
echo "1. 查看缓存大小"
echo "2. 清理缓存"
echo "3. 退出"
read -p "请输入选项 (1-3): " option
case $option in
1)
show_cache_size
;;
2)
check_notes_running
clean_cache
;;
3)
echo "退出脚本"
exit 0
;;
*)
echo "无效选项"
exit 1
;;
esac
}
# 运行主程序
main
使用方法
-
保存脚本:
# 将脚本保存为文件 nano clean_notes_cache.sh # 粘贴脚本内容,然后保存
-
添加执行权限:
chmod +x clean_notes_cache.sh
-
运行脚本:
./clean_notes_cache.sh
设置定时自动清理(可选)
使用 macOS 的 launchd 设置定时任务:
-
创建 plist 文件:
nano ~/Library/LaunchAgents/com.clean.notes.cache.plist
-
添加以下内容:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.clean.notes.cache</string> <key>ProgramArguments</key> <array> <string>/path/to/clean_notes_cache.sh</string> </array> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>3</integer> <key>Minute</key> <integer>0</integer> </dict> <key>RunAtLoad</key> <false/> </dict> </plist> -
加载定时任务:
launchctl load ~/Library/LaunchAgents/com.clean.notes.cache.plist
注意事项
- 备份重要数据:清理前建议备份重要笔记
- 关闭 Notes 应用:清理时最好关闭 Notes
- iCloud 同步:清理本地缓存不会影响 iCloud 数据
- 权限问题:可能需要管理员权限访问某些缓存目录
这个脚本会自动清理 Apple Notes 的本地缓存文件,释放磁盘空间,同时不会影响您的笔记内容和 iCloud 同步。
版权声明: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直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播