tar 通过 wget 输入时能否发现存档格式?

tar 通过 wget 输入时能否发现存档格式?

当我有任何格式的 tar 存档时,我可以使用:

tar xf archive.tar.xz
tar xf anotherarchive.tar.gz

因为 tar 会自行发现相关格式。

现在我想下载存档并提取它们,而不使用以下命令将它们保存在文件系统上wget

wget -qO- http://someserver.org/sometar.tar.xz | tar xf -C ~/extractTarget
tar: -C: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

我意识到该f标志造成了麻烦,因为它需要实际的文件。省略它,现在让 tar 抱怨相关标志。

如果是gz

tar: Archive is compressed. Use -z option

如果是xz

tar: Archive is compressed. Use -J option

添加它们使我的命令起作用。然而,由于 tar 正在识别存档格式,我想知道:

有没有一种方法可以在不添加标志的情况下提取它们,就像一样xf

答案1

使用tar xf -。是-标准输入的占位符。

相关内容