Linux查找大文件
时间:2020-01-09 14:16:28 来源:igfitidea点击:
问题描述:如何查找目录中的所有大文件?
解决方法:没有一个命令可用于列出所有大文件。
但是,借助find命令和shell管道,您可以轻松列出所有大文件。
Linux列出所有大文件
要查找所有大小超过50,000KB(50MB +)的文件并显示其名称和大小,请使用以下语法:
RedHat/CentOS/Fedora Linux的语法
find {/path/to/directory/} -type f -size +{size-in-kb}k -exec ls -lh {} \; | awk '{ print ": " }'
在当前目录中搜索或找到Linux(50MB)的大文件,执行:
$ find . -type f -size +50000k -exec ls -lh {} \; | awk '{ print ": " }'
在我的/var/log目录中搜索:
# find /var/log -type f -size +100000k -exec ls -lh {} \; | awk '{ print ": " }'
Debian/Ubuntu Linux的语法
find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk '{ print ": " }'
在当前目录中搜索:
$ find . -type f -size +10000k -exec ls -lh {} \; | awk '{ print ": " }'
输出示例:
./.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 ./Hyman/out/mp3/Eric: 230M
上面的命令将列出大小大于10,000 KB的文件。
要列出主目录树中小于500字节大小的所有文件,请执行:
$ find $HOME -size -500b
或者
$ find ~ -size -500b
要列出系统上大小恰好为20 512字节块的所有文件,请执行:
# find / -size 20
Perl hack:显示大文件
通过星号的长度显示文件的大小:
du -k | sort -n | perl -ne 'if ( /^(\d+)\s+(.*$)/){$l=log(+.1);$m=int($l/log(1024)); printf ("%6.1f\t%s\t%25s %s\n",(/(2**(10*$m))),(("K","M","G","T","P")[$m]),"*"x (1.5*$l),);}'
ls命令:查找目录中最大的文件
您也可以使用ls命令:
$ ls -lS $ ls -lS | less $ ls -lS | head +10
ls命令:查找目录中的最小文件
使用ls命令,如下所示:
$ ls -lSr $ ls -lSr | less $ ls -lSr | tail -10