我是否可以同时使用(gzip)压缩同一个目录树tar -zcvf
(例如,在两个单独的 shell 中,一个接一个,但第二个在第一个完成之前运行)和两个不同的进程(shell 实例),以便创建两个结果.tar.gz
档案就像只有一个 shelltar -zcvf
在另一个 shell 之后运行一样?
也就是说,archive.tar.gz
由于两个程序同时tar -zcvf
在同一目录树上运行,所以每个程序都不会受到某种损坏?
答案1
tar cz
不会“压缩目录树”或文件;它会创建一个包含以下内容的存档文件 (tar):复制树中的文件并压缩该档案。
是 多个tar c
使用或不使用压缩(任何一种z j J
)同时读取相同(或部分相同)的文件将产生正确的结果,尽管由于争用可能会花费更长时间;在某些情况下,甚至可能比连续执行它们花费的时间更长。
它们运行在同一个 shell 还是不同的 shell 下并不重要。如果它们运行在不同的 shell 下用户 ID并且任何用户 ID 都无权访问所有所需的目录和文件,那么该用户 ID 就会产生不完整的结果,但无论其他任何程序是否正在运行,都会出现相同的错误。