tar --remove-files 行为:在每个文件后删除还是在完成后删除?

tar --remove-files 行为:在每个文件后删除还是在完成后删除?

标题中说的差不多。我有一个盒子,里面的磁盘空间非常小,但数据却很多。我想将所有文件添加到 tar 中,然后删除它们,因为显然没有足够的空间来在不删除数据的情况下将它们全部放入。因此,使用 tar --remove-files 选项应该有效,如果它在添加每个文件后删除,而不是在完成整个存档后删除。

这不是敏感数据,只是电影和音乐,所以我决定无论如何都要运行它,所以我会过一段时间才知道,但如果有人知道,如果他们能回答,我肯定会放心。如果不知道,我会在完成或失败后发布我的发现。

答案1

手册页上没有明确说明。根据我的经验,两者都不是。添加后不会删除文件立即地,但似乎经过一段时间的延迟(时间、文件大小或文件数量,我真的不知道)。它肯定在完成之前就开始删除了,因为我的硬盘不够大,无法容纳所有原始文件和 tar。

作为参考,我使用的是 GNU tar 1.28。

楼主,如果你在 8 年前就“发布你的发现”,互联网上的人们肯定会很感激的:)

答案2

我遇到了类似的问题,所以我尝试做斯特拉斯tar 删除文件对 2 个文件进行操作。在这种情况下,解除链接最终由系统调用,因此这意味着 tar 是第一的归档和然后删除。这当然不是一个结论性的测试,但至少是一个提示。您可以尝试同样的事情,但使用更多的文件,看看 tar 在这种情况下是否会有不同的行为。

相关内容