我正在尝试使用 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
指令在将目录更改为 后归档当前目录~/
。