下载并解压 .tar 到特定目录

下载并解压 .tar 到特定目录

我想下载 git repo 的 tar 并将其内容提取到另一个文件夹。

以下行(为清晰起见已分解)有效:

curl -L -0 nt-dotfiles.tar.gz https://api.github.com/repos/nicktomlin/laptop/tarball \
 | tar --strip-components=1 -zx -C ~/Documents/dotfiles

但给出了这个错误:

curl: (6) Could not resolve host: nt-dotfiles.tar.gz; nodename nor servname provided, or not known

我很乐意让事情保持原样(因为它仍然有效)但我对错误感到好奇,如果它消失了我会感觉更好。

谢谢!

答案1

您的语法应该是:curl -L -o nt-dotfiles.tar.gz https://api. ... 您使用零而不是小写的“Oh”。零强制 curl 使用 http1.0。“o”提供输出文件名。

从手册页中:

-0, --http1.0
          (HTTP)  Forces curl to issue its requests using HTTP 1.0 instead
          of using its internally preferred: HTTP 1.1. 


-o, --output <file>
          Write output to <file> instead of stdout. If you are using {} or
          [] to fetch multiple documents, you can use '#'  followed  by  a
          number  in  the <file> specifier. That variable will be replaced
          with the current string for the URL being fetched. Like in:

            curl http://{one,two}.site.com -o "file_#1.txt"

答案2

您可以尝试:

$ curl -s http://example.com/file.tgz | tar xvf - -C dest/

相关内容