列出当前目录下(递归)所有空文件
find -type f -size 0c
加-delete
则是删除所有空文件
列出当前目录下(递归)所有非空文件
find -type f -size +0c
-size n[cwbkMG]
File uses n units of space, rounding up. 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 kibibytes (KiB, units of 1024 bytes)
`M’ for mebibytes (MiB, units of 1024 * 1024 = 1048576 bytes)
`G’ for gibibytes (GiB, units of 1024 * 1024 * 1024 = 1073741824 bytes)
The size is simply the st_size member of the struct stat populated by the lstat (or stat) system call,
rounded up as shown above. In other words, it’s consistent with the result you get for ls -l. Bear in
mind that the %k' and
%b’ format specifiers of -printf handle sparse files differently. The `b’ suf‐
fix always denotes 512-byte blocks and never 1024-byte blocks, which is different to the behaviour of
-ls.
The + and - prefixes signify greater than and less than, as usual; i.e., an exact size of n units does
not match. Bear in mind that the size is rounded up to the next unit. Therefore -size -1M
is not
equivalent to -size -1048576c
. The former only matches empty files, the latter matches files from 0 to
1,048,575 bytes.