背景:

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

如图,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. js中的事件委托详解

    概述: 那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件.那这是什么意思呢?网上的各位 ...

  2. C语言精要总结-内存地址对齐与struct大小判断篇

    在笔试时,经常会遇到结构体大小的问题,实际就是在考内存地址对齐.在实际开发中,如果一个结构体会在内存中高频地分配创建,那么掌握内存地址对齐规则,通过简单地自定义对齐方式,或者调整结构体成员的顺序,可以 ...

  3. 使用PhpIniDir加载php配置文件出错,不能解析。

    我也是在apache服务器上配置php,在加载了php的配置文件之后,就出问题了. PHPIniDir "H:/php54/"增加了类似这句话之后,服务器就启动不了了,或者.php ...

  4. office web apps 部署-搭建域控服务器

    开始第一条先说注意事项:我所配置的环境是用了三台2012server虚拟机,三台虚拟机必须要加下域控,而且登录操作的时候必须以域账号登录,否则测试不通过!在笔记本上搭建了两个虚拟机(window se ...

  5. Play学习 - 体验网页模板

    在经过无数个尝试后,最终用sbt把play所依赖的所有包都下载下来了,现在可以非常快速编译运行了.今天体验了下网页模板,觉得非常不错,在这里做个简单的介绍. 原文说明: A Play Scala te ...

  6. Spring3.0配置多个事务管理器(即操作多个数据源)的方法

    大多数项目只需要一个事务管理器.然而,有些项目为了提高效率.或者有多个完全不同又不相干的数据源,最好用多个事务管理器.机智的Spring的Transactional管理已经考虑到了这一点,首先分别定义 ...

  7. javascript设计模式详解之策略模式

    接上篇命令模式来继续看下js设计模式中另一种常用的模式,策略模式.策略模式也是js开发中常用的一种实例,不要被这么略显深邃的名字给迷惑了.接下来我们慢慢看一下. 一.基本概念与使用场景: 基本概念:定 ...

  8. call和apply的小结

    call和apply的区别: 1.call函数和apply方法的第一个参数都是要传入给当前对象的对象,即函数内部的this.后面的参数都是传递给当前对象的参数. 2.俩者的格式和参数定义: call的 ...

  9. JavaScript window与undefined作为参数的作用

    1.原函数 输出结果:1 如图: 2.加window的参数 输出结果:window对象 如图: 注意:此时的window不是全局变量,而是局部变量 3.关于形参必须传window么?当然是不需要的 输 ...

  10. 【JAVAWEB学习笔记】04_JavaScript

    晨读单词: onmouseover:鼠标移入 onmouseout:鼠标移出 attribute:属性 node:节点 document:文档 element:元素 textNode:文本节点 app ...