如何在 gzip 压缩后删除 tar 文件?

如何在 gzip 压缩后删除 tar 文件?

我正在创建一个 tar 文件,然后对 tar 文件进行 gzip 压缩。因此我得到了一个 .tgz 文件,现在我想删除之前的 tar 文件。

${gzipExe} -f --rsyncable $tarname.TAR --stdout >> $tarname.TGZ

答案1

我通常使用 tar 命令中的“z”参数同时压缩文件:

tar czvf allmyfiles.tar.gz *

上述命令创建一个名为 allmyfiles.tar.gz 的新存档文件,其中包含当前文件夹中的所有文件,并将其压缩。

否则,只需使用下一个命令删除.tar 文件:

$rm $tarname.TAR

请注意,.tar.gz 比 .tgz 更常用。

答案2

您有几个选择。假设您需要该--rsyncable选项:

  • 一步完成压缩和 tar(无需中间 tar 文件):
REM 我认为您使用的是 Windows,所以......
设置 GZIP=--rsyncable
tar czf 文件.tar.gz 文件
  • 将 tar 的输出通过管道传输到 gzip(无需中间 tar 文件)
tar c 文件 | gzip --rsyncable > file.tar.gz
  • 分两步归档和压缩。
tar -cf 文件.tar 文件
gzip -f --rsyncable 文件.tar

如果您只是运行gzip file.targzip gzip --stdout file.tar > file.tar.gz,将会删除 tar 文件。

还要注意,gzip --stdout file.tar >> file.tar.gz在您的问题中使用 as 实际上会将新的 gzip 内容附加到 file.tar.gz,这可能不是您想要的。

相关内容