【发布时间】:2016-09-30 22:28:29
【问题描述】:
在今天通过 SSH 在 UNIX 环境中工作时,我的同事偶然发现了 GNU findutils 中与 -size 标志相关的一个表面上的特性。
当我运行 ls -l 命令时,它告诉我文件大小为 155 字节。但是运行 find ~/ -size -1K 不会返回任何结果。它只匹配正好 1k 的文件。
此外,我知道它没有使用 du 结果来查找文件,因为 du 为同一个文件返回 4k。是什么赋予了?如果要信任 du ,似乎以 4k“块”提供内存,并且 ls -l 找到文件的“真实”大小,但 find 产生的结果与预期完全不同。任何帮助将不胜感激,我确信过去其他人也曾遇到过这种情况,但我终其一生都无法在任何地方找到结果。
谢谢!
【问题讨论】:
-
-1k表示“小于一个大小为 1024 字节的块”,find理解为“大小为 1024 字节的零块”,即 0 字节。find似乎使用整数进行块计数。你可能想要-size -1024c。 -
这个问题真的是给Unix & Linux的。
标签: linux unix memory gnu gnu-findutils