我需要将目录中小于一定大小的文件压缩成 tar-gzip 文件。我尝试了这个帖子find -size
并且它可以工作,但是当我将 的参数更改为 时-1G
,即使文件大小低于 1GB,它也会忽略某些文件。当我提供-100M
和 时,甚至-900M
这些文件也没有被忽略。
有关文件的一些信息:
目录中的文件由几个中等大小的文件(1-200 MB)和数千个小文件(每个<1 MB)组成。
中等大小的文件是可执行文件(.exe 扩展名)。
这些小文件只是一些没有扩展名或带有 .lat 扩展名的随机文件。
当我提供 时-900M
,结果返回所有小型和中型文件。但是,当我提供 时-1G
,结果中缺少所有中型文件和许多小型文件。
问题:
关于 的使用我是否遗漏了什么-size -1G
?
其他(可能有用的)信息:
我在 Windows 8.1 上以 VM 形式运行 Ubuntu 15.04。
如果有人怀疑这与我正在处理的文件有关,请告诉我,我会上传所有相关文件。
我对 Unix/Linux 还不太熟悉,这是我在超级用户论坛上提出的第一个问题,所以如果我无意中违反了任何规则,请告知我。
答案1
答案可以在https://unix.stackexchange.com/questions/50763/find-size-1gb-in-centos。
总结一下,-
in-1G
就像一个 < 符号,所以 <1G 实际上是 0G,这就是为什么它没有按照预期返回小于 1024M 的文件。
我仍然不确定为什么在我的情况下,它会返回一些小文件作为结果,所以如果有人愿意对此做出解释,欢迎这样做。
我保留这个问题(和答案),因为这个问题并非 CentOS 独有,如果不使用“CentOS”关键字搜索该问题,可能找不到上面提到的帖子。