如何使用wget指定位置?


Answers:


953

从手册页:

-P prefix
--directory-prefix=prefix
           Set directory prefix to prefix.  The directory prefix is the
           directory where all other files and sub-directories will be
           saved to, i.e. the top of the retrieval tree.  The default
           is . (the current directory).

因此,您需要在命令中添加-P /tmp/cron_test/(短格式)或--directory-prefix=/tmp/cron_test/(长格式)。还要注意,如果目录不存在,它将被创建。


5
-P / tmp / cron_test /不起作用,但是像-P tmp / cron_test /一样删除/起作用,甚至创建不存在的目录。
袋鼠

7
袋鼠它可能不起作用,因为您的系统上没有/ tmp / cron_test /:P
Sameer Alibhai

40
手册的说明使此选项难以搜索。我没有想到要将文件另存为“目录前缀”的位置。感谢分享!
伊恩·塞缪尔·麦克莱恩

7
另外,您可以通过--no-host-directories-nH按照serverfault.com/questions/354792/…
外星人生命表格

如果将输入文件与-i一起使用,是否会忽略-P?
Jan Viehweger '17

409

-O是用于指定要下载到的文件的路径的选项。

wget <file.ext> -O /path/to/folder/file.ext

-P是前缀,它将在目录中下载文件

wget <file.ext> -P /path/to/folder

8
我想补充一个斜线,以使其/path/to/folder/
路易·马多克斯

35
投票赞成还指定-O我不需要的内容,但是让我更加自信地知道这-P是我所需要的。
WORMSS

@louisMaddox在我的机器上的手册页中,默认前缀为“。” (即当前目录)在“目录前缀”后面添加斜杠将导致双斜杠错误(即,my / favorite / dir / prefix //),考虑到语义,“目录前缀”不需要末尾削减。
Timothy LJ Stewart

2
@ TimothyL.J.Stewart没有双斜杠错误。
har-wradim

注:-O覆盖-P,所以你不能只指定输出目录(想dirname 刚刚输出文件名(认为basename)就使用而已。-O指定完整的文件路径。
murlakatamenka

7

确保您所下载的URL正确无误。首先,URL的字符如?无法解析和解析。这会混淆cmd行,并接受所有未解析为源URL名称的字符作为您要下载的文件名。

例如:

wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"

将下载到一个名为的文件中, ?source=typ_redirect

如您所见,了解URL的一两件事有助于理解 wget

我正在从hirens磁盘启动,并且只有Linux 2.6.1作为资源(导入操作系统不可用)。解决了将ISO下载到物理硬盘驱动器时出现的问题的正确语法是:

wget "(source url)" -O (directory where HD was mounted)/isofile.iso" 

通过找到何时wget下载到名为index.html(默认文件)的文件,并通过以下命令显示所需文件的正确大小/其他属性,可以找到正确的URL :

wget "(source url)"

该URL和源文件正确无误并将其下载到中后index.html,您可以使用以下方法停止下载(ctrl+ z)并更改输出文件:

-O "<specified download directory>/filename.extension"

源网址之后。

在我的情况下,这导致下载ISO并将其作为二进制文件存储在下isofile.iso,希望可以挂载。


2

“ -P”是正确的选项,请继续阅读以获取更多相关信息:

wget -nd -np -P / dest / dir-递归http:// url / dir1 / dir2

为了方便起见,手册页中的相关片段:

   -P prefix
   --directory-prefix=prefix
       Set directory prefix to prefix.  The directory prefix is the directory where all other files and subdirectories will be saved to, i.e. the top of the retrieval tree.  The default is . (the current directory).

   -nd
   --no-directories
       Do not create a hierarchy of directories when retrieving recursively.  With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the
       filenames will get extensions .n).


   -np
   --no-parent
       Do not ever ascend to the parent directory when retrieving recursively.  This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.

1

man wget:-O文件--output-document = file

wget "url" -O /tmp/cron_test/<file>

1
这不是一个答案,因为-o选项将卸载的文件放入指定的文件中。但是问题是“如何将文件放在文件夹中”。这是重复存在的答案
Anton Gorbunov
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.