tar:/:文件在我们读取时已更改。这是否意味着tar跳过了一个或多个文件?

时间:2018-08-09 13:12:06

标签: ubuntu tar

我正在运行Ubuntu 16.0.4 LTS,并且正在压缩包含32Gb(CSV)文件的目录,以便可以删除目录中的800k +文件并创建一些空间。

我运行以下命令tar czxvf /path/to/archive.tar.gz /path/to/source/directory

命令提示符返回(即tar完成任务)之前的最后一行是:

  

tar:/ path / to / some / folder:文件在我们读取时已更改。

从tar文档中,这是一条警告消息。但是,在删除原始文件之前,我需要确保所有800K +文件都已由tar正确存档和压缩。

来自tar的唯一消息不包含错误消息的事实是否意味着没有错误发生并且可以安全地删除原始文件?

1 个答案:

答案 0 :(得分:0)

tar文档未指定,但是从其他来源(包括this)来看,显然tar 确实将文件存档,但是它可能捕获了一部分该文件来自更改之前,而部分来自更改之后。

例如,tar读取文件的前X个字节。文件更改。 Tar读取文件的下一个Y字节。现在,存档版本包含更改前的X个字节和更改后的Y个字节。

在许多情况下,例如仅将文件添加到类似日志文件的情况下,这并不重要,因为唯一的更改发生在文件末尾且不涉及现有文件数据。但这有所不同。

注意:在某些情况下,例如在读取过程中文件被截断,tar无法继续并输出错误。但是,如果您收到的只是 warning “我们在阅读文件时更改了文件”,那么它将确实存档了文件。