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

编程入门 行业动态 更新时间:2024-10-24 16:32:38

一.引言

通道机乱七八糟的东西太多导致卡顿,需要查看文件夹大小并删除,执行 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 了请立即结束,会强制杀死 进程。

更多推荐

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

本文发布于:2023-06-14 08:46:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1457566.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:磁盘空间   大小   文件   目录   Shell

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!