我对findLinux 中的命令有疑问。
在我在网上找到的所有文章中,它都说 属性-size -10M,例如,返回大小小于 10 MB 的文件。但是当我尝试对此进行测试时,似乎-size -10M返回大小小于或等于 9 MB 的文件。
如果我做
find . -type f -size -1M
Run Code Online (Sandbox Code Playgroud)
该find命令仅返回空文件(单位无关紧要,可以是 -1G、-1k...)。
find . -type f -size -2M
Run Code Online (Sandbox Code Playgroud)
返回文件 <= 1M 大小等。
手册页说:
请记住,大小四舍五入到下一个单位。因此 -size -1M 不等于 -size -1048576c。前者只匹配空文件,后者匹配 0 到 1,048,575 字节的文件。
好的,所以我猜 -1M 被四舍五入到 0M,-2M 到 -1M 等等......?
但是之后
find . -type f -size 1M
Run Code Online (Sandbox Code Playgroud)
返回文件 <= 1M(即 100K 和 512K 文件,但不是空文件),而我希望它返回大小正好为 1M 的文件。
find . -type f -size 2M
Run Code Online (Sandbox Code Playgroud)
返回文件 …