一 前言

最近发现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. 【翻译】Scriban README 文本模板语言和.NET引擎

    scriban Scriban是一种快速.强大.安全和轻量级的文本模板语言和.NET引擎,具有解析liquid模板的兼容模式 Github https://github.com/lunet-io/sc ...

  2. 17 个 Python 特别实用的操作技巧,记得收藏!

    Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短.在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等 ...

  3. 最简单的VScode Python 开发环境配置以及中文化

    前置条件 Python 3.X(2020年了,建议使用Python3.X版本) 一.下载VSCode VSCode官方下载链接 由于安装过程是中文界面,此处略过. 二.VSCode中文化 不需要配置什 ...

  4. NIO入门之多路复用选择器Selector

    简介 Selector 是 java.nio.channels 包下的重要组件,阅读本文可以带你了解常用的 API.本文中把 Channel 翻译成信道,按照个人习惯也可以称作是通道.管道. Sele ...

  5. springMVC -- 对接UEditor(富文本编辑器)

    工作中需要用到UEditor编辑文本,在与springMVC进行整合时,出现了一些问题,结果导致,在进行图片上传时出现如下提示: 上网查询了很多相关资料,此处简要记录下,防止以后遇到类似问题. 一种方 ...

  6. intellij IDEA导入maven项目

    一.导入maven项目 1.打开intellij idea,点击File(如下图1),然后点击Open(如下图2)

  7. 第三节:Centos下安装Mysql5.6数据库

    1.下载mysql5.6版本 [官网-需要什么版本自己去找]https://dev.mysql.com/downloads/mysql/5.6.html [版本]linux通用 cd /usr/loc ...

  8. paramiko上传文件到Linux

    一.传输单个文件到Linux服务器 import paramiko transport = paramiko.Transport(('host',22)) transport.connect(user ...

  9. 解决node 运行接口 出现 Cannot destructure property `us` of 'undefined' or 'null'.

    出现 参数是 undefined or null 一.检查是否安装 body-parser server.js中是否引入 app.use(bodyParser.urlencoded({ extende ...

  10. Fortify Audit Workbench 笔记索引

    Password Management: Password in Configuration File(明文存储密码) https://www.cnblogs.com/mahongbiao/p/124 ...