> Linux教程 > Linux学习 >

Linux搜索或查找超过指定大小的文件

查找超过 10MB 的文件

 代码如下 复制代码

find . -type f -size +10000k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’

find 路径 -size +2000k -print

这样可以将指定路径内,大于2000K的文件全部打印出来(小于用减号),根据需要筛选,提升速度和带宽。如果你想加上一个时间,可以在后面写 -and -mtime -1 ,表示一天24小时内有变化的文件。


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等。

例子:查找当前目录下文件大小为2048(2k)字节的文件

find ./ -size 4

find ./ -size 2048c

find ./ -size 2K上述查找文件是等于指定大小的,那能不能查询大于或小于某个指定值的文件呢,答案是肯定,例如:

查找大于2K的文件,+ 表示大于
find ./ -size +2048c

查找小于2K的文件,- 表示小于
find ./ -size +2048c -type f




(责任编辑:IT)