查找Linux系统中的大文件和大目录方法

(编辑:jimmy 日期: 2024/11/18 浏览:2)

查找大文件
eg:查找当前目录下大于10MB的文件

复制代码代码如下:
$ find . -type f -size +10000k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’

Sample output:
./.kde/share/apps/akregator/Archive/http___blogs.msdn.com_MainFeed.aspx?Type=AllBlogs.mk4: 91M
./out/out.tar.gz: 828M
./.cache/tracker/file-meta.db: 101M
./ubuntu-8.04-desktop-i386.iso: 700M
./vivek/out/mp3/Eric: 230M

列出家目录下文件大小小于500b的文件:

复制代码代码如下:
$ find $HOME -size -500b

OR

复制代码代码如下:
$ find ~ -size -500b

列出根目录下大小是20 512-byte blocks的文件:

复制代码代码如下:
# find / -size 20


查找Linux下的大目录
譬如有时候磁盘空间告警了,而你平时又疏于管理、监控文件的增长,那么我需要快速的了解哪些目录变得比较大,那么此时我们可以借助du命令来帮我们解决这个问题。

复制代码代码如下:
[root@getlnx01 u03]# du -h --max-depth=1

16K     ./lost+found
33G     ./flash_recovery_area
37G     ./oradata
70G     .
如果你想知道flash_recovery_area目录下面有哪些大文件夹,那么可以将参数max-depth=2 ,如果你想对搜索出来的结果进行排序,那么可以借助于sort命令。如下所示
查找Linux系统中的大文件和大目录方法

复制代码代码如下:
[root@getlnx01 u03]# cd /
[root@getlnx01 /]# du -hm --max-depth=2 | sort -n

有时候搜索出来的结果太多了(譬如,我从根目录开始搜索),一直在刷屏,如果我只想查出最大的12个文件夹,怎么办呢?此时就要借助head命令来显示了