-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/(длинную форму) к вашей команде. Также обратите внимание, что если каталог не существует, он будет создан.
Я бы добавил косую черту, чтобы сделать это /path/to/folder/там
Луи Мэддокс
36
Ап также проголосовал за уточнение того, -Oчто мне не нужно, но заставило меня чувствовать себя более уверенно, это -Pбыло то, что мне было нужно.
WORMSS
@louisMaddox для страниц man на моем компьютере, префикс по умолчанию - "." (т. е. текущий каталог) добавление завершающей косой черты в «префикс каталога» приведет к ошибке двойной косой черты (т. е. my / favourite / dir / prefix //), кроме того, учитывая семантику, «префикс каталога» не потребует завершающего слэш.
Тимоти Л.Дж. Стюарт
2
@ TimothyL.J.Stewart Не существует ошибки двойной косой черты.
har-wradim
NB: -Oпереопределяет -P, поэтому вы не можете указать только выходной каталог (думать dirnameи просто выводить имя файла (думать basename). Для этого используйте просто -Oуказание полного пути к файлу.
murlakatamenka
7
Убедитесь, что у вас правильный URL-адрес для всего, что вы загружаете. Прежде всего, URL с такими символами, как? и такие, не могут быть проанализированы и разрешены. Это запутает строку cmd и примет любые символы, которые не разрешены в исходном URL-имени, в качестве имени файла, в который вы загружаете.
Как видите, знание кое-чего об URL помогает понять wget .
Я загружаюсь с диска hirens, и в качестве ресурса использовалась только Linux 2.6.1 (import os недоступен). Правильный синтаксис, который решил мою проблему с загрузкой ISO на физический жесткий диск:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Можно определить правильный URL-адрес, найдя в какой момент wgetфайл загружается в файл с именем index.html( файл по умолчанию) и имеет правильный размер / другие атрибуты файла, который вам нужен, показанный следующей командой:
wget "(source url)"
Когда этот URL и исходный файл верны и они загружаются в index.html, вы можете остановить загрузку ( ctrl+ z) и изменить выходной файл, используя:
Соответствующие фрагменты с man-страниц для удобства:
-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.
Ответы:
Со страницы руководства:
Поэтому вам нужно добавить
-P /tmp/cron_test/
(краткую форму) или--directory-prefix=/tmp/cron_test/
(длинную форму) к вашей команде. Также обратите внимание, что если каталог не существует, он будет создан.источник
--no-host-directories
или-nH
в соответствии с serverfault.com/questions/354792/…-O - это опция для указания пути к файлу, который вы хотите загрузить.
-P это префикс, куда он будет загружать файл в каталог
источник
/path/to/folder/
там-O
что мне не нужно, но заставило меня чувствовать себя более уверенно, это-P
было то, что мне было нужно.-O
переопределяет-P
, поэтому вы не можете указать только выходной каталог (думатьdirname
и просто выводить имя файла (думатьbasename
). Для этого используйте просто-O
указание полного пути к файлу.Убедитесь, что у вас правильный URL-адрес для всего, что вы загружаете. Прежде всего, URL с такими символами, как
?
и такие, не могут быть проанализированы и разрешены. Это запутает строку cmd и примет любые символы, которые не разрешены в исходном URL-имени, в качестве имени файла, в который вы загружаете.Например:
загрузит в файл с именем,
?source=typ_redirect
.Как видите, знание кое-чего об URL помогает понять
wget
.Я загружаюсь с диска hirens, и в качестве ресурса использовалась только Linux 2.6.1 (import os недоступен). Правильный синтаксис, который решил мою проблему с загрузкой ISO на физический жесткий диск:
Можно определить правильный URL-адрес, найдя в какой момент
wget
файл загружается в файл с именемindex.html
( файл по умолчанию) и имеет правильный размер / другие атрибуты файла, который вам нужен, показанный следующей командой:Когда этот URL и исходный файл верны и они загружаются в
index.html
, вы можете остановить загрузку ( ctrl+ z) и изменить выходной файл, используя:после ссылки на источник
В моем случае это приводит к загрузке ISO и сохранению его в виде двоичного файла
isofile.iso
, который, как мы надеемся, монтируется.источник
«-P» - правильный вариант, пожалуйста, ознакомьтесь с дополнительной информацией:
wget -nd -np -P / dest / dir - рекурсивный http: // url / dir1 / dir2
Соответствующие фрагменты с man-страниц для удобства:
источник
man wget: -O file --output-document = file
источник