在linux中简单的查找文件与目录大小很简单 #已易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小 du -sh [dirname|filename]
如:
当前目录的大小: 代码如下 复制代码 du -sh .
当前目录下个文件或目录的大小: 代码如下 复制代码 du -sh *
显示前10个占用空间最大的文件或目录: 代码如下 复制代码 du -s * | sort -nr | head * -h已易读的格式显示指定目录或文件的大小 * -s选项指定对于目录不详细显示每个子目录或文件的大小 如何在目录中找出所有大文件? linux下的find命令用来查找文件,通过man find就知道它是无所不能的。所以按照文件大小来查找文件就不在话下。从man find搜索size,可以看到如下信息: -size n[cwbkMG] File uses n units of space. The following suffixes can be used: b for 512-byte blocks (this is the default if no suffix is used) c for bytes w for two-byte words k for Kilobytes (units of 1024 bytes) M for Megabytes (units of 1048576 bytes) G for Gigabytes (units of 1073741824 bytes) 注意:默认单位是b,而它代表的是512字节,所以2表示1K,1M则是2048,如果不想自己转换,可以使用其他单位,如c、K、M等 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 |