1.Linux查找大文件或目录
1.1 指定目录下超过指定大小的文件,仅显示路径+文件名称
[root@elk1 ~]# find ./ -type f -size +20M ./elasticsearch-6.2.4.rpm ./shakespeare_6.0.json
1.2 搜索指定目录下超过指定大小的文件(仅显示文件大小,文件名)
方法1
[root@elk1 ~]# find . -type f -size +20M | xargs ls -lh | awk '{print $5,$9}' 28M ./elasticsearch-6.2.4.rpm 25M ./shakespeare_6.0.json
方法2
[root@elk1 ~]# find . -type f -size +20M | xargs du -h 28M ./elasticsearch-6.2.4.rpm 25M ./shakespeare_6.0.json
1.3 搜索指定目录下超过指定大小的文件(大小排序)
[root@elk1 ~]# find . -type f -size +20M | xargs ls -lh | awk '{print $5,$9}'| sort -nr 28M ./elasticsearch-6.2.4.rpm 25M ./shakespeare_6.0.json
1.4 查找Linux下的大目录
一般地df -h 可以仅可以查看磁盘分区的使用情况,对于目录大小显然更适用du命令
查找指定目录下的大目录
[root@elk1 ~]# du -h /usr/ --max-depth=1 80M /usr/bin 41M /usr/sbin 529M /usr/lib 159M /usr/lib64 1.1G /usr/share 0 /usr/etc 0 /usr/games 36K /usr/include 20M /usr/libexec 0 /usr/local 0 /usr/src 1.9G /usr/
提示:
--max-depth=2 指定文件的最深层的 等价于 -d2
-m like --block-size=1M
显示从大到下显示目录大小,并且排除空目录
[root@elk1 ~]# du -hm /usr/ -d1|sort -nr | grep "^[^0]" 1927 /usr/ 1101 /usr/share 529 /usr/lib 159 /usr/lib64 80 /usr/bin 41 /usr/sbin 20 /usr/libexec 1 /usr/include