背景:

最近老提示空间不够,很尴尬,一直弹系统提示

如图,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系统占用空间大、空间不够、查看系统文件大小分布的更多相关文章

  1. Linux系统运维笔记(一),查看系统版本和设置系统时间

    Linux系统运维笔记 查看系统版本和设置系统时间 查看系统版本 lsb_release -a (适用于所有的linux,包括Redhat.SuSE.Debian等发行版,但是在debian下要安装l ...

  2. linux系统top命令查看系统状态

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 使用SSH ...

  3. linux怎样使用top命令查看系统状态

    有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程. Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分 ...

  4. Linux--top命令查看系统状态,所有值讲解

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 一.top ...

  5. Linux centos7 日常运维——使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令

    一.使用w查看系统负载 w .uptime查看系统负载,0.00表示1分钟之内负载为0 cat  /proc/cpuinfo查看cpu核数 二.vmstat命令,查看进程.cpu.memory.交换. ...

  6. 77 swapon-激活Linux系统中交换空间

    Linux swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存. 语法 /sbin/swapon -a [-v] /sbin/swapon [-v] ...

  7. Linux系统查看系统版本命令

    以下操作在centos系统上实现,有些方式可能只适用centos/redhat版本系统 uname -a |uname -r查看内核版本信息 [root@node1 ~]# uname -a Linu ...

  8. 使用top命令查看系统状态

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高? 使用SSH ...

  9. Mac系统清理、占用空间大、空间不够、查看系统文件大小分布

    背景: 最近老提示空间不够,很尴尬,一直弹系统提示 如图,256的空间,就剩下几个G了,其中最大头的系统占用:160G,占比60%多 正常情况下:我们可以点击管理,进入到系统磁盘优化界面: 这种适用于 ...

随机推荐

  1. 局域网内补丁更新80072EE2错误

    在公网中,80072ee2通常是在进行自动更新时遇到的连接性错误.通常由于三防杀毒软件或者浏览器,代理服务器设置不正确而导致的.那么如果是在局域网中遇到该问题,该如何解决呢? 错误截图: 1.首先确认 ...

  2. 脚本语言:Xmas(三)

    自从将Xmas的GC换成现在的非迁移式的全局收集器后,最近几个月一直耗在Xmas上面:最明显的改变就是:更彻底地支持了面向对象.更强大的编译器. 所以,本文就来说说,真正的Xmas. 一.目标 一门语 ...

  3. 【算法系列学习】codeforces C. Mike and gcd problem

    C. Mike and gcd problem http://www.cnblogs.com/BBBob/p/6746721.html #include<iostream> #includ ...

  4. C#基础知识-流程控制的应用(四)

    流程控制我们在编程中运用到的地方非常的多,在上篇中仅仅只是简单的介绍每一种的使用,并没有运用到实例中,很难去理解它真正的作用.下面我们将实际的运用流程控制的代码写一些实例相关的程序,加深对流程控制的理 ...

  5. Linux 按时间批量删除文件(删除N天前文件)

    需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据. 可以使用下面一条命令去完成: -name "*.*" -ex ...

  6. java jdk中安装证书的步骤

    需要注意的是:导入证书时,请确认导入的JDK为当前程序运行所用的JDK,且路径是jdk目录下的jre目录路径,非与jdk同级的jre目录 首先你可以把需要导入的证书放在keytool的同级目录下,然后 ...

  7. vs2015c++/MFC入门知识全集/实例规范书籍视频下载孙鑫c++对话框计算器基础控件使用教程系列

    VIP教程可免费看.可免费下载前部分试看教程地址:http://dwz.cn/4PcfPk免费下载地址:http://dwz.cn/mfc888 本课程目录 67章 [MFC项目开发第01天]Wind ...

  8. 深入理解Java常用类----String(二)

    上篇介绍了String类的构造器,获取内部属性等方法,最后留下了最常用的局部操作函数没有介绍,本篇将接着上篇内容,从这些最常见的函数的操作说起,看看我们日常经常使用的这些方法的内部是怎么实现的.第一个 ...

  9. Java IO详解(五)------包装流

    File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...

  10. AngularJS操作DOM——angular.element

    addClass()-为每个匹配的元素添加指定的样式类名 after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 append()-在每个匹配元素里面的末尾处插入参数内容a ...