![f51e0e8e3c365f68c8966d385d83ff04.png](https://i-blog.csdnimg.cn/blog_migrate/24226668a2aa6842302786dd57bf8eb2.jpeg)
Linux最有用最常用的统计文件大小命令是什么?无疑就是du了。
一般我们常用 du -sh 来统计当前文件夹内容总大小。
du -sh [文件夹1] [文件1]
-> 统计当前目录下的文件夹或文件大小
du -sh /usr/local
-> 显示指定目录大小
怎么排序文件夹下的文件呢?
du -a / | sort -n -r
-> 搜搜整个磁盘,按照文件大小倒序排序(含隐藏文件)
怎么在指定目录取排名前10的大文件呢?
du -m /home/yao | sort -n -r | head -n 10
-> 查找/home/yao目录下 从大到小的10个文件;
-> sort -n -r 也可以写作 sort -rn;
> -n:依照数值的大小排序;
-> -r:以相反的顺序来排序;
怎么找指定目录下第一层的文件呢?不想找子目录下的。
du -m --max-depth=1 /home/yao | sort -n -r | head -n 10
-> 指定目录第一层(意味着不取子目录中数据),筛选前10,可读方式展现文件大小
-> -m: 统计单位为MB
-> 为什么不用-h?sort大小排序只看数字,不看单位,可能会导致2G反而在200M之下的排序。
如果想把文件查询结果导出来细细排查怎么办?
du -m --max-depth=1 /home/yao | sort -rn -o 'sort.txt' | head -n 10
-> 使用sort -o 参数将排序结果存入指定文件
最后,能不能批量把这些找出的文件删除呢?使用 管道符 “|” + xargs + rm -rf。
du -m /home/yao | sort -n -r | head -n 10 | xargs rm -rf