Shell - 查看目录文件(夹)大小并清理磁盘空间

一.引言

通道机乱七八糟的东西太多导致卡顿,需要查看文件夹大小并删除,执行 ll -h 命令后只能看到文件大小,文件夹大小都为 4k,切换其他命令并成功删除。

二.查看空间占用

1.du -h -x --max-depth=1

du -h 会递归将对应目录下所有文件的大小显示出来,如果需要寻找所有文件中包含 G 的文件,可以执行, M、K 等单位同理:

du -h -x --max-depth=1 | grep G

-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。-

---max-depth=<目录层数> 超过指定层数的目录后,予以忽略,如果想先看哪个文件夹大再 cd 进入删除的话,可以执行:

du -h -x --max-depth=1

2.du -sh *

常用的命令为 du -h -x --max-depth=1,可以查看当前目录的文件与文件夹总大小,du -sh * 可以实现相同功能, -h 表示查看大小 -s 表示仅显示总计:

du -sh *

3.du -s * |sort -nr | head -n k

也可以通过 -s + sort 实现排序查看 top-k 占用空间的文件,sort -r 将数字看作字符排序, sort -n/-nr 按照整个数字来排序,-r 控制是否逆序,如果想看 Top 5:

du -s * |sort -nr | head -n 5

三.清理磁盘空间

删除一些无关大文件后,执行上述查看空间命令发现磁盘大小并未改变,可能是因为文件被删除而进程还活着,从而造成空间还被占用的假象,可以通过下述命令查看删除的相关进程与进程号 pid:

lsof |grep delete

上述方法查出的 delete 进程可能很多,可以通过下述命令一次性删除:

lsof |grep delete| xargs kill -s 9

这里一定要传参数 9,默认参数下 kill 命令会发送 15-Termination 信号,告诉进程你需要关闭了请自己停止并结束,而 9-kill (can't be caught or ignored) 则代表你被 kill 了请立即结束,会强制杀死 进程。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BIT_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值