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