Mac系统清理、占用空间大、空间不够、查看系统文件大小分布
背景:
最近老提示空间不够,很尴尬,一直弹系统提示

如图,256的空间,就剩下几个G了,其中最大头的系统占用:160G,占比60%多
正常情况下:我们可以点击管理,进入到系统磁盘优化界面:

这种适用于简单的文件占用分析,一般我们能够通过 清理文稿 和 回收箱 来解决空间不够的问题。
1、清空回收站。
2、在文稿里,按文件大小排序,删除不需要的文件。
3、对于GarageBand,这个是系统上的模拟乐器,一般都使用不到。
清除方法:
rm -rf /Library/Application\ Support/GarageBand
rm -rf /Library/Application\ Support/Logic
rm -rf /Library/Audio/Apple\ Loops

不过,对于罪魁祸首,系统的160G,我们怎么才能知道她的内部存储分布呢?
正文:
关于如何查看系统的文件占用详情。
一、首先打开终端,输入
du -sh *
这个命令用来查看根目录下,所有文件的大小分布,如图所示:

其中,我们很容易能看到每个文件的大小占比,快速定位到最大占比的文件:Library
二、输入命令,进入到Library文件路径
cd ~/Library

然后,查看Library下的所有文件大小分布。
输入:
du -d -h

很容易我们可以找到最大的文件:/Developer
当然,其他的文件大小,我们也都能看到,一目了然。
三、到这里,我们基本就能知道下面的套路了,我们可以继续往下查看
比如,我这里继续进入到Developer文件,再查看他的每个子文件大小:

基本,查看个两三层,就基本能知道大概的原因了,我这边由于是程序猿,所以Xcode是根本原因,占了系统160G的一半大小。
到这里为止,如果你也是程序猿,有兴趣的,可以继续看;如果没有兴趣的可以直接跳第四步。


基本这就到底了,大概的空间占用分布从上面几张图,也基本有数了。
以上是讲如何查看及分析文件,如果你是iOS程序猿,这边附上几个清理步骤(清理Xcode缓存)
经过测试,我暂时发现这几个文件可以适当清理下:

1 ./Archives 这个文件存储的是你所有的历史打包文件,你可以将一些历史的包删掉,最近的如果不放心可以先留着,不过全部删除也是没问题的,但是,如果你删除了,我们Xcode打包上传界面就看不到东西了(如下图所示,该界面的东西就没了)

2 ./DerivedData 这个文件大家应该比较熟悉了,存储的是所有项目的一些缓存数据、包括编译缓存文件等等,这个文件是可以全部清理的,当然,你也可以保留一些最近的项目,先暂时清理历史项目的缓存。
3 ./iOS DeviceSupport 这个文件里面存储的是xcode对手机各个版本的支持文件,这里如果你的项目不再需要支持iOS6、iOS7等,可以先把里面的基于iOS6、iOS7的支持文件清除。
4 附上 完整版Xcode瘦身方法大全 ,有兴趣的可对照此文操作。
四、经过第三步的层层分析,我们基本能知道了每个文件的大小分布,也能找到一些不需要用的垃圾文件,其中大多以缓存文件居多,大家可以适当进行清理~
最后,如果有对命令不感冒的人,也可以通过Finder来进行可视化的查看。
打开Spotlight(Command+空格 或 Ctrl+空格),输入 ~/Library

能进入到资源库文件路径:

最右边的文件就对应刚才命令出来的文件,我们可以根据命令查找到的占用最大的文件,这里点进去查看,然后再根据自己的需求进行适当清理。
比如,我上面的最后分析的路径:

特别更新:
本篇的清理,可能不是特别全面,比如说常用的QQ、微信软件,其实占用空间也很大(10~20G),可以查看续篇
Mac查看及清理QQ、微信本地下载的文档、图片、视频等
希望能对大家有帮助~
Mac系统清理、占用空间大、空间不够、查看系统文件大小分布的更多相关文章
- Linux 系统管理命令 - free - 查看系统内存信息
命令详解 重要星级: ★★★★★ 功能说明: free 命令用于显示系统内存状态,具体包括系统物理内存.虚拟内存.共享内存和系统缓存等. 语法格式: free [option] free [选项] 说 ...
- Mac系统占用空间大、空间不够、查看系统文件大小分布
最近电脑老提示空间不够,甚是心烦,决定研究下,为啥空间这么快就花完了. 如图,256的空间,就剩下几个G了,其中最大头的系统占用:160G,占比60%多,我勒个擦... 正常情况下:我们可以点击管理, ...
- [记录]一则清理MySQL大表以释放磁盘空间的案例
一则清理MySQL大表以释放磁盘空间的案例 一.基本情况: 1.dbtest库554G,先清理st_online_time_away_ds(37G)表的数据,保留半年的数据: 1)删除的数据:sele ...
- 如何查看系统的界面,比如费用申请单的序时簿界面引用的是哪一个ListUi.快捷键alt+shift+d 然后选中该ListUI大框框,就可以看到引用的是哪一个了.
如何查看系统的界面,比如费用申请单的序时簿界面引用的是哪一个ListUi.快捷键alt+shift+d 然后选中该ListUI大框框,就可以看到引用的是哪一个了.
- linux查看系统未被挂载的磁盘空间的方法
原文URL:https://www.cnblogs.com/lemon-flm/p/7597403.html 解决AWS 挂载.解决挂载完重启就消失等问题 linux上的盘和window的有区别,磁盘 ...
- docker 容器大小查看及清理docker磁盘空间
本文为博主原创,转载请注明出处: 今天打开服务器下载文件时,发现服务器内存不足,并开始清理服务器内存,排查及清理方法如下: 1. 查看服务器内存大小: df -h 通过 df - ...
- Mac电脑清理硬盘"其他"
作为一个MacBook的使用者,无不感受到苹果对于系统和硬件的完美匹配. 苹果电脑不适合玩游戏,所以我只用它开发iOS使用.电脑里除了Xcode和常用办公软件与通讯软件以外,我没有装其他的任何大应用. ...
- 如何利用 CleanMyMac X 进行系统清理
CleanMyMac X是一款颇受欢迎的专业清理软件,拥有十多项强大的功能,可以进行系统清理.清空废纸篓.清除大旧型文件.程序卸载.除恶意软件.系统维护等等,并且这款清理软件操作简易,非常好上手,特别 ...
- CleanMyMac X是如何进行Mac文件清理的
Mac系统进行文件清理,一般是直接将文件拖动入"废纸篓"回收站中,然后通过清理回收站,就完成了一次文件清理的操作,但是这么做并无法保证文件被彻底删除了,有些文件通过一些安全恢复手段 ...
随机推荐
- 为什么你作为一个.NET的程序员工资那么低?(转)
最近看到很多抱怨贴,也许有一定的道理,但是你想过没,为什么大部分.NET程序员工资相对低?我个人是这么看的: 大批半罐子水的程序员,永远被局限在.NET的原始的小圈圈里.前端不会(你放弃了一项很重要的 ...
- Context Application 使用总结 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 大数据开发实战:Hive表DDL和DML
1.Hive 表 DDL 1.1.创建表 Hive中创建表的完整语法如下: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [ (col_nam ...
- Laravel5.5 Jwt 1.0 beta 配置
https://github.com/tymondesigns/jwt-auth/issues/860 1 下载开发者版本 image.png 修改composer.json,添加 "t ...
- 用Maven构建单机Mahout项目
Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, ...
- WPF装饰元素
Border: <Style TargetType="Border"> <Setter Property="CornerRadius" Val ...
- 原:wireshare使用技巧收集
/data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap 先抓一个pcap的包. 1. 查看所有的链接与流量 统计->对话 这 ...
- Eclipse使用hibernate插件
首先安装好hibernate插件,进入安装界面,输入下载地址http://download.jboss.org/jbosside/updates/stable,点击下载javaee web 以下的hi ...
- Spring中默认bean名称的生成策略/方式修改
最近公司项目打算模块化,其实一个原因也是为了能够整合公司多个业务的代码,比如一个资源xxx,两个业务中都有对这个资源的管理,虽然是一个资源,但是是完全不同的定义.完全不同的表.不同的处理逻辑.所以打算 ...
- LintCode: Flatten Binary Tree to Linked List
C++ Traverse /** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, ...