使用curl命令将文件保存到特定文件夹


Answers:


279

我认为您无法提供卷曲的路径,但可以将CD复制到该位置,然后下载并复制回CD。

cd target/path && { curl -O URL ; cd -; }

或使用subshel​​l。

(cd target/path && curl -O URL)

两种方式都只会在路径存在的情况下下载。-O保留远程文件名。下载后,它将返回到原始位置。

如果需要显式设置文件名,则可以使用小-o选项:

curl -o target/path/filename URL

2
我有以下命令:curl -LOk basename /packagesgithub.com/ziyaddin/xampp/archive/master.zip ”。但它说文件名错误->basename /packages
Ziyaddin Sadigov

10
您还可以使用子外壳,如下所示:(cd target/path; curl -O URL)
Ehtesh Choudhury 2014年

9
两者有什么区别?第一个cd进入目录并下载文件,然后cd出。第二个保留在当前目录中,并将文件卷曲到特定位置。第二个似乎更简单。
朱Zhu

9
@HenryZhu在第一个文件名是从服务器上文件的名称派生的。在第二个步骤中,您会将下载的内容重命名为您提供的名称。
turtlemonvh

4
我真的很想指定一个目录,但是要使用服务器的文件名。cd尽管似乎有些不雅,但使用似乎是当前的最佳选择。
StockB

4

curl没有选项(也没有指定文件名),但是wget有。该目录可以是相对的或绝对的。此外,如果目录不存在,则会自动创建该目录。

wget -P relative/dir "$url"

wget -P /absolute/dir "$url"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.