使用wget下载到与当前目录不同的目录


91

我需要使用wget将文件下载到目录/var/cache/foobar/(例如,如果我下载stackexchange-site-list.txt,则将其下载到/var/cache/foobar/stackexchange-site-list.txt

这可能吗?curl也将是一个选项,但我宁愿不使用curl,因为默认情况下未安装它。


6
仅供参考,以下信息可用man wget
2011年

4
@ user606723您能解释一下为什么要投票吗?这是一个合理的问题。
jrg 2011年

3
我猜这是否决票,因为这是一个非常基本的问题,可以通过任何形式的谷歌搜索或查找来解决man get。stackexchange的目标不是回答所有可能的问题。
user606723 2011年

1
该SO Q&A解释说,您可以使用-P下面的A相同的开关进行操作。在手册页上:如何使用wget指定位置?
slm

4
对于那些已经知道答案的人来说,这只是一个基本问题。为了谁不,它不是基本的。搜索手册页并不像听起来那么简单,因为手册页很长,几乎没有理智的有生命的人有时间或金钱坐下来阅读所有内容。您可以提出的最佳论据是手册页可以用grep或之类的东西过滤,但即使是措辞也不太可能给出答案。
Synetech '16

Answers:


56

如果您提前知道文件名,则可以使用该-O选项wget告诉它将文件写入何处。

wget -O /var/cache/foobar/stackexchange-site-list.txt http://url.to/stackexchange-site-list.txt

15
@jrg:您可以指定下载目录。请参阅ephemient的答案
2012年

正确的是-0或-O,我想可以将其复制并查看
Alexander Mills

它是一个minus capital O没有什么帮助
mithunpaul

156
wget -P /var/cache/foobar/ [...]
wget --directory-prefix=/var/cache/foobar/ [...]

1
-P使wget根据您选择下载选项的方式开始创建子文件夹。
肯德里克2014年

9
-P似乎是--directory-prefix的同义词。在手册中:'-P prefix''--directory-prefix = prefix'将目录前缀设置为前缀。目录前缀是所有其他文件和子目录将保存到的目录,即检索树的顶部。默认值为“。” (当前目录)。
Engineer Dollery 2015年

0
wget -e robots=off -r --no-parent /home/user/Desktop/MIT/ http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/

要添加:上面的代码将允许您在单个命令中将所有文件从目标目录下载到您选择的目录。

分解命令:

这些参数对于这wget的使用下载整个一次一次的目录,而不是一个文件:

wget -e robots=off -r --no-parent

下载文件的目的地

/home/user/Desktop/MIT/

文件的来源(在线目录)

http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/
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.