一 前言

最近发现mac的存储空间不够了,看一下系统的存储空间如下图所示,这个其他占了160+G的存储空间,那么这个其他到底包含什么东西呢?在网上查了很久,找到一种比较认可的说法是这样的:

不同Mac上显示的“其他”可能包含不同的信息。Mac存储空间共有系统、应用、文稿、废纸篓、照片、音乐创作、邮件、废纸篓等12种类别,但并不是所有Mac上都会显示这些类别。例如有的Mac上显示“系统”、“应用、“文稿”、“音乐创作”、“其他”,这时候“其他”就表示不包括在上述4种类别中的文件。有一点可以肯定的是,“其他”包含了Spotlight(聚焦搜索)无法识别的文件以及应用插件或者扩展功能。

二 各文件夹中有些啥?

上面这种对其他的解释比较笼统,我们也不知道这个里面到底放了什么东西。在网上查了很久也没找到其他有用的信息,所以最后决定自己捣鼓系统中的内一个文件夹,去看看每个文件夹的大小和内容。经过一番查看后,大致了解了每个部分所对应的大小和基本内容如下图。

  • 系统:这没什么好多的,系统盘,不要删任何的东西
  • 用户:这个就比较杂了,我们可以看到占到的空间也是达到了恐怖的131.85G,我们上面其他中很大一部分内容就在这了。里面的内容也是五花八门,基本上我们平时下载的文件、视频、桌面资料,还有各种软件的配置文件、缓存等都会在这个里面。我们分析里面的各个文件后发现,所有的文件加起来只有不到20G的内容,这就很奇怪了??通过查询资料才发现,这个目录下有一个隐藏的资料库文件夹,该文件夹的大小有103G,这个就是我们的终极大boss了。

    • 用户中的资料库占用了高达103.62G的存储空间,下面是该文件夹的基本内容和大小分布,这个文件夹中主要存储的是用户安装的各类软件所需要的一些配置工具、缓存等内容。其中比较大的两个文件夹是containers和developer。

      • containers:这个里面主要是系统需要的一些扩展插件和工具等,不能删除
      • developer:主要就是xcode中产生的一些缓存、插件等内容,可以优化,也是我们进行优化的重点对象。具体优化方案在后面我们会具体提到

  • 资源库:这个主要就是系统中我们安装的各个软件的配置工具和缓存

    • 我这里这个文件夹中主要是这个 /Library/Developer/CoreSimulator/ 占了很大一部分内容,有30.6G,这个里面主要就是存放的是xcode下载的模拟器系统,我们如果不需要就可以删掉一些以前下载的不需要再用的系统就行,后面如果需要也可以在xcode中重新下载,不影响开发

  • 应用程序:这个也没啥好说的,就是我们安装的应用程序,不需要的就直接在这个文件夹中删掉就是卸载
  • preboot:这个是系统文件,不能删除,也不大,不用管
  • 最后发现所有的垃圾文件都是因为xcode开发过程中产生的。mac中的文件目录结构如下:

三、存储空间的优化

在前面的分析中,我们发现优化的地方其实就两个部分,一个是系统资料库中的  /Library/Developer/CoreSimulator/ 这一部分,另一个是用户资料库中的 /Users/mukekeheart/Library/Developer  这一部分,这两部分都是我们在xcode开发过程产生的一些缓存和下载文件。关于这两部扥优化方案如下:

1. /Users/mukekeheart/Library/Developer/Xcode/DerivedData/

这个文件夹中保存的是Xcode的缓存文件,曾经在Xcode跑过的所有项目的索引、build的信息等都会保存在这里。删除后在下次打开项目编译的时候将会重新生成。由于这里包含了大量已经没用的项目的信息又懒得去筛选,于是把整个文件夹删了。

2. /Users/mukekeheart/Library/Developer/Xcode/iOS DeviceSupport/

每次把一个设备接入电脑进行真机调试之前,电脑会对设备建立索引,也在此文件夹下生成对该设备系统的支持文件。于是这里存在了一堆对旧版本iOS设备支持的文件。而我最近基本只对iOS9.3的设备进行真机调试。于是删除了所有低于9.3的文件夹。

3. /Users/mukekeheart/Library/Developer/Xcode/Archives/

每次打包App的dSYM等数据就保存在这里,把一些没用的版本删了。如果是上线了的版本还是保留吧。

4. /Users/mukekeheart/Library/Developer/Xcode/Products/

同上,把没用的删了。

5. /Users/mukekeheart/Library/Developer/CoreSimulator/Devices/

一堆模拟器的数据。每个文件夹里包含的就是一个特定系统版本的设备的数据。每个文件夹对应哪个设备可以在其下device.plist中查看。亲测删除之后的效果跟在模拟器里重置相同。省得一个个去重置了,删吧。

6. /Users/mukekeheart/Library/Developer/XCPGDevices/

这里保存了playground的项目缓存。全删了。

7. /Library/Developer/CoreSimulator/Profiles/Runtimes

这里保存的是xcode下载的不同版本的目标模拟器,可以删除不需要的目标模拟器

Mac中的垃圾文件的清理的更多相关文章

  1. 在linux和Mac中访问某个文件夹中所有的文件

    在linux和Mac中访问某个文件夹中所有的文件——输出所有的文件名 #include <stdio.h> #include <dirent.h> int main() { s ...

  2. [Mac]Mac中显示资源库文件夹

    在 Mac OS X 10.7 Lion 之后的版本中 , 用户的个人目录内的资源库文件默认是隐藏状态. 这个设定可能是为了避免用户误操作. 但是对于中高级用户来说会有些不变. 通过如下方式可以找回被 ...

  3. 如何优雅地删除 Linux 中的垃圾文件

    不知道大家是否也跟我一样,是一只要把的自己电脑文件安排的条理有序,把没用的文件会及时删掉的程序猿呢?如果是的话,那么我们可以愉快地探讨下文章的内容.如果不是的话,你也可以留下来凑凑热闹嘛(>-& ...

  4. Mac中如何查找文件

    https://blog.csdn.net/fungleo/article/details/78489552

  5. Atitit.论图片类型 垃圾文件的识别与清理  流程与设计原则 与api概要设计 v2 pbj

    Atitit.论图片类型 垃圾文件的识别与清理  流程与设计原则 与api概要设计 v2 pbj 1. 俩个问题::识别垃圾文件与清理策略1 2. 如何识别垃圾图片1 2.1. 体积过小文件<1 ...

  6. Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc

    Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc 1. 俩个问题::识别垃圾文件与清理策略1 1.1. 文件类型:pic,doc,v,m cc,isho pose ...

  7. [教训] windows 电脑的垃圾文件清理...

    坑你没商量! 这个名叫 “清除系统垃圾.bat“ 的文件在网上传播很广,但是,却出现了错误的版本,如果按照它逐条执行,将导致系统文件夹被一锅端,只能再重装的悲剧! 举个栗子: 错误版本:http:// ...

  8. Mac OS X 恢复 VMware Fusion 虚拟机中的 vmdk 文件

    今天手贱把 VMware Fusion 虚拟机中的 Windows 10 搞挂了,原因是磁盘清理了下,然后重启就蓝屏了,Windows 10 自动修复.手动还原.手动重置系统,试过都不行,恢复系统是没 ...

  9. CCleaner 垃圾文件清理规则 编写指南

    以下内容的英文版本来源于 CCleaner 官方论坛,仅供参考.欢迎大家编写并分享针对常用国产软件的垃圾文件清理规则!需要说明的是规则文件(Winapp2.ini)需和程序文件放于同一文件夹下,才能被 ...

随机推荐

  1. PJzhang:python基础入门的7个疗程-seven

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第19天:开源模块 数据 ...

  2. echarts 实战 : 恼人的间隔问题

    使用 echarts 的时候,可能我们需要这个图表的间隔是固定的.比如 3个 4个 5个. (注意计算间隔数量的时候是不算 x轴 本身的.) 这个问题看似简单,其实有点麻烦. yAxis.splitN ...

  3. three.js 数学方法之Plane

    今天郭先生就来继续说一说three.js数学方法中的plane(平面).在三维空间中无限延伸的二维平面,平面方程用单位长度的法向量和常数表示.构造器为Plane( normal : Vector3, ...

  4. 学会Python除了不能生孩子,其他的都能做。

    随着人工智能的迅猛发展,相信大家对于it行业最熟悉的词莫过于 Python.那么,Python究竟可以做些什么呢?一个资深程序员说:“学会Python除了不能生孩子,其他的都能做.”加入3137821 ...

  5. Mybatis——@MapperScan原理

    @MapperScan配置在@Configuration注解的类上会导入MapperScannerRegistrar类. 而MapperScannerRegistrar实现了ImportBeanDef ...

  6. 2020数字中国创新大赛虎符网络安全赛道-pwn count

    比赛结束前半个小时才看的题,等我做出来比赛已经结束了.难受Orz 本地文件无法执行,远程调试. 题目大概意思就是让你计算200道四则运算.(实际上格式是固定的.先乘一次然后再加两次).200道题都正确 ...

  7. Vue、Nuxt服务端渲染,NodeJS全栈项目,面试小白的博客系统~~

    Holle,大家好,我是李白!! 一时兴起的开源项目,到这儿就告一段落了. 这是一个入门全栈之路的小项目,从设计.前端.后端.服务端,一路狂飙的学习,发量正在欣喜若狂~~ 接触过WordPress,H ...

  8. 在Dockerfile中使用和“Source”的Run指令不起作用?

    报错误 /bin/sh: 1: source: not found sh不支持source bash支持source RUN rm /bin/sh && ln -s /bin/bash ...

  9. 将ip加入到防火墙

    五分钟内访问次数最多的ip加入到防火墙 #!/bin/bash cat /etc/httpd/logs/access_log|grep `date -d '1-minute-ago' +%d/%b/% ...

  10. jmeter正则表达式,萌新入门篇

    @@@@@@@@@@@@ 透过现象看本质 jmeter中正则表达式对我们来说,就是一个工具,他可以帮助我们做的事就是从一堆数据中截取出我们想要的字段,比如从setcookie:DERF12456DAS ...