Linux 找出大文件汇总
Q. 如何在目录中找出所有大文件?
A.
1) 句法 for RedHat / CentOS / Fedora Linux
find {/path/to/directory/} -type f -size +{size-in-kb}k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’
实例:
查找当前目录下大于50MB的文件
$ find . -type f -size +50000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’
查找目录/var/log大于100MB的文件
# find /var/log -type f -size +100000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’
2)句法 for Debian / Ubuntu Linux
find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’
实例:
查找当前目录下大于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
Perl 技巧: 显示大文件
依据文件大小从小到大显示当前目录下每个目录的占用的情况(注:星号和星号的长度)
du -k | sort -n | perl -ne ‘if ( /^(\d+)\s+(.*$)/){$l=log($1+.1);$m=int($l/log(1024)); printf (“%6.1f\t%s\t%25s %s\n”,($1/(2**(10*$m))),((“K”,”M”,”G”,”T”,”P”)[$m]),”*”x (1.5*$l),$2);}’
ls 命令:在目录中找出最大的文件
同样你也能使用ls命令:
$ ls -lS
$ ls -lS | less
$ ls -lS | head +10
ls 命令:在目录中找出最小的文件
如下所示:
$ ls -lSr
$ ls -lSr | less
$ ls -lSr | tail -10
其它供鉴:
find . -xdev -printf ‘%s %p\n’ |sort -nr|head -20
du -xak .|sort -n|tail -50
建议继续学习:
- 使用PHP将大文件导入到数据库中.. (阅读:3767)
- 高效的大文件拷贝 (阅读:3181)
- c/c++访问超过2G的文件 (阅读:2494)
- 误删大文件的一个可能解救办法 (阅读:1657)
- centos查找大文件 (阅读:1033)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:潘少宁的博客 来源: 潘少宁的博客
- 标签: 大文件
- 发布时间:2013-01-17 13:17:46
- [69] Twitter/微博客的学习摘要
- [65] find命令的一点注意事项
- [64] IOS安全–浅谈关于IOS加固的几种方法
- [62] android 开发入门
- [62] Go Reflect 性能
- [61] 如何拿下简短的域名
- [61] 流程管理与用户研究
- [60] Oracle MTS模式下 进程地址与会话信
- [58] 图书馆的世界纪录
- [58] 读书笔记-壹百度:百度十年千倍的29条法则