一 前言

最近发现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. WYT的刷子

    WYT的刷子 题目描述 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米:每列的高度单位也为米,由输入数据给出). 使用刷子的规则是: 与地面垂 ...

  2. css属性inline-block的应用

    1. 让两个块级元素处于同一行 2. 需要元素撑开边框的时候

  3. python-study-文件操作

    # 一.文件操作的作用 :读取内容.写入内容.备份内容.... # 文件的基本操作,文件操作包含:打开.关闭.读.写.复制.... # 打开 读写 关闭 # 文件备份 # 文件和文件夹的操作 # 总结 ...

  4. .net core 发布程序命令(自带运行环境)

    dotnet publish -c Release -r linux-x64 --self-contained true

  5. Monster Audio 使用教程 (六) 发送音轨的设置

    因为最近有些用户,不太清楚怎么发送给混响音轨,所以这里我简单介绍一下. Monster Audio的音轨,主要分为两种类型: 1.白色推子:表示普通音轨 2.蓝色推子:表示“可接收发送音轨”,其他音轨 ...

  6. 水题----B - Badge CodeForces - 1020B

    In Summer Informatics School, if a student doesn't behave well, teachers make a hole in his badge. A ...

  7. NanoHTTPD服务

    需要导入nanohttpd2.3,jar包 继承NanoHTTPD public class HttpServer extends NanoHTTPD { public HttpServer(int ...

  8. java 心跳机制

    心跳机制:就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开. 心跳包 心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定 ...

  9. php实现导出数据分类合并单元格功能

    <?php $conn = mysql_connect("localhost","root","root"); $db = mysql ...

  10. 搭建vue项目的步骤

    新建vue脚手架 vue-element-cms步骤: 1. vue create ……………(文件名)---这里取为vue-element-cms 2. 命令行工具进入这个文件夹,安装路由依赖包 n ...