一.引言
通道机乱七八糟的东西太多导致卡顿,需要查看文件夹大小并删除,执行 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 - 查看目录文件(夹)大小并清理磁盘空间
发布评论