可行的平民命令解决方法,简单又可靠
- 找出系统大的文件夹
1
2 1sudo du -a / | sort -n -r | head -n 50
2
看看那个大文件夹的数据是多余,以本人为例子,就找出不少多余而又大的文件
例如: /CoreSimulator/Devices/ 这个目录就很多不要的数据
删除命令:
1
2 1xcrun simctl delete unavailable
2
- ~/Library/Caches/ 的清理
cache 文件大小排序
1
2 1du -sh ~/Library/Caches/* | sort -h
2
然后再Finder go 到 ~/Library/Caches/ 找出不要的cache删除掉
本人为例,很多Idea以前版本的cache, 是可以删除每个都2G以上
以下是有风险谨慎使用
一、首先:
查到了官方解释 https://support.apple.com/zh-cn/HT202867
官方说 在 macOS Sierra 中,当您打开优化 Mac 储存空间时,会显示“可清除”内容。当需要储存空间时,Mac 可自动从“可清除”部分清理出储存空间
可是 可是 我根本没有打开 优化Mac 存储空间 这个东西。至少对于我的情况,不属于这种情况。
然后:
查到论坛有人发现 “可清除”是在开了time machine后产生的备份文件
可是 可是 我根本没有打开
time machine 这种情况也不属于我。
最后:
我开始观察到底是哪个目录文件再使用中越来越大。
最后找到在/System/Library/Caches/com.apple.coresymbolicationd 目录下 有个data文件和“可清除”大小差不多,并不断壮大。
我不知道这个文件干嘛用的 查了一下 似乎是可以删除的 为了保险 我把data剪切移动到了移动硬盘里。
重启电脑,3.5g的“可清除”变成了只有170M大小。而data文件也自己重新自动生成了。所以data文件应该是可以删除的。
至少知道“可清除”是哪里来的了。以后“可清除”再变大心理也有数了。
⚠️注意1:
目录/System/Library/Caches/com.apple.coresymbolicationd 需要root 才能访问 普通管理用户是无法访问和操作的。
访问方法最后介绍。
⚠️注意2: 本方法仅供有需求的人参考,不一定适用于所有情况。
终端登录root并删除data文件方法:
1,打开终端
2, 获得管理员权限,按提示输入密码
命令:
sudo -s
3,切换到操作目录 命令:
cd
/System/Library/Caches/com.apple.coresymbolicationd
4, 查看目标目录下data文件的大小 命令:
ls -lh 此命令会显示当前目录下文件的详细信息(包含文件大小 第五列),这时候你可以看到data文件的大小了。
5, 比对data文件大小和你的“可清除”大小 ,确定下是否是data占用了大量空间。
如果data确实很占空间,可以删除
命令:
rm -f data
5,重启电脑
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 1#!/bin/bash
2echo "开始计算在‘可清除’容量中能够释放的容量,请输入密码"
3dir="/System/Library/Caches/com.apple.coresymbolicationd/"
4file="$dir"data
5
6size=$(sudo ls -lh $dir | grep "data" | awk '{print $5}')
7
8if [ -n "$size" ]
9 then
10 read -p "可释放容量为 "$size",是否释放(y/n):" input
11 if [ "$input" == "y" -o "$input" == "Y" ]
12 then
13 if [ $(echo "$file" | wc -m) -eq 57 ]
14 then
15 sudo rm -f $file
16 echo "删除成功"
17 exit 0
18 else
19 echo "失败"
20 exit 12
21 fi
22
23 elif [ "$input" == "N" -o "$input" == "n" ]
24 then
25 echo "您选择了不释放空间,程序退出"
26 exit 0
27 else
28 echo "输入错误,程序退出"
29 exit 11
30 fi
31
32 else
33 echo "没有可以释放的容量,程序结束"
34 exit 10
35fi
36
二、清理时间机器。
一般每次系统更新都会自动进行一次系统快照。(就算没有打开时间机器也一样)
命令行运行:
sudo tmutil listlocalsnapshots /
查看当前本机的快照(注意最后斜杠中间有有空格)
删除快照:
tmutil deletelocalsnapshots 2017-12-09-112246
三、清除缓存
sudo rm -rf /private/var/log/*;
sudo rm -rf /private/var/folders/;
cd /private/var/tmp/;
rm -rf TM*;
cd ~/Library/Caches/;
rm -rf ~/Library/Caches/*;;