无法使用 xz 压缩将目录创建 tar 到另一个目录

无法使用 xz 压缩将目录创建 tar 到另一个目录

我正在尝试使用 xz 压缩将我的主目录创建一个 tar 存档到另一个不存在的目录,但它给了我错误:

tar:懦弱地拒绝创建空档案

我执行的命令是:

tar cJvf /mnt/1234/a.tar.xz -C ~/

我使用的是 Debian 9.5。

答案1

您还没有告诉它您想要将哪些文件放入存档中。

你已经

  • 告诉它在哪里创建文件
  • 告诉它要更改到哪个目录

但还没告诉它要放什么。

最简单的解决方案可能是

tar cJvf /mnt/1234/a.tar.xz -C ~/ .

然后会将所有文件放入存档中,名称以./;开头。例如./foo ./bar ./baz

不过,在提取这样的存档时要小心,因为它将提取到当前目录并可能覆盖现有文件,包括更改当前目录的权限。

答案2

您的命令:

tar cJvf /mnt/1234/a.tar.xz -C ~/

这并不告诉 GNUtar要归档什么。该-C ~/位在执行任何操作之前都会告诉它tar,但您还没有告诉它要存档什么。cd~/

您可能想使用

tar cJvf /mnt/1234/a.tar.xz -C ~/ .

这将给 GNUtar指令在将目录更改为 后归档当前目录~/

相关内容