-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).
Portanto, você precisa adicionar -P /tmp/cron_test/(formato abreviado) ou --directory-prefix=/tmp/cron_test/(formulário longo) ao seu comando. Observe também que, se o diretório não existir, ele será criado.
-P / tmp / cron_test / não funciona, mas remove / como -P tmp / cron_test / funciona e até cria um diretório inexistente.
Canguru
7
Kangaroo que o trabalho provavelmente doesnt porque você não tem / tmp / cron_test / no seu sistema: P
Sameer Alibhai
41
A descrição do manual dificulta a pesquisa dessa opção. Não penso no local em que quero salvar algo como um 'prefixo de diretório'. Obrigado por compartilhar!
Eu adicionar uma barra à direita para torná-lo /path/to/folder/lá
Louis Maddox
35
A Up votou em especificar também o -Oque eu não precisava, mas me fez sentir mais confiante de que -Pera disso que eu precisava.
WORMSS
@louisMaddox de acordo com as páginas de manual da minha máquina, o prefixo padrão é "." (ou seja, o diretório atual) adicionar uma barra final ao "prefixo do diretório" causaria um erro de barra dupla (ou seja, meu / favorite / dir / prefix //) além disso, considerando a semântica, "prefixo do diretório" não exigiria um final golpear.
Timothy LJ Stewart
2
@ TimothyL.J.Stewart Não há erro de barra dupla.
precisa saber é o seguinte
NB: -Osubstitui -P, então você não pode especificar apenas o diretório de saída (think dirnamee apenas o nome do arquivo de saída (think basename). Para esse uso, basta -Oespecificar o caminho completo do arquivo.)
murlakatamenka
7
Verifique se o URL está correto para o que você está baixando. Antes de tudo, URLs com caracteres semelhantes ?e não podem ser analisados e resolvidos. Isso confundirá a linha de cmd e aceitará os caracteres que não forem resolvidos no nome do URL de origem como o nome do arquivo no qual você está baixando.
fará o download em um arquivo chamado ?source=typ_redirect,.
Como você pode ver, saber uma coisa ou duas sobre URLs ajuda a entender wget.
Estou inicializando a partir de um disco hirens e só tinha o Linux 2.6.1 como um recurso (o sistema operacional de importação não está disponível). A sintaxe correta que resolveu meu problema ao baixar um ISO no disco rígido físico foi:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Pode-se descobrir a URL correta, localizando em que ponto o wgetdownload é feito em um arquivo chamado index.html(o arquivo padrão) e possui o tamanho correto / outros atributos do arquivo que você precisa, mostrado pelo seguinte comando:
wget "(source url)"
Depois que o URL e o arquivo de origem estiverem corretos e estiverem sendo baixados index.html, você poderá interromper o download ( ctrl+ z) e alterar o arquivo de saída usando:
Trechos relevantes das páginas de manual por conveniência:
-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.
Não é uma resposta, porque a opção -o coloca o arquivo descarregado no arquivo especificado. Mas a pergunta é "Como colocar o arquivo em uma pasta". E este é duplicado existe resposta
Respostas:
Na página do manual:
Portanto, você precisa adicionar
-P /tmp/cron_test/
(formato abreviado) ou--directory-prefix=/tmp/cron_test/
(formulário longo) ao seu comando. Observe também que, se o diretório não existir, ele será criado.fonte
--no-host-directories
ou-nH
como por serverfault.com/questions/354792/...-O é a opção para especificar o caminho do arquivo para o qual você deseja baixar.
-P é o prefixo em que ele fará o download do arquivo no diretório
fonte
/path/to/folder/
lá-O
que eu não precisava, mas me fez sentir mais confiante de que-P
era disso que eu precisava.-O
substitui-P
, então você não pode especificar apenas o diretório de saída (thinkdirname
e apenas o nome do arquivo de saída (thinkbasename
). Para esse uso, basta-O
especificar o caminho completo do arquivo.)Verifique se o URL está correto para o que você está baixando. Antes de tudo, URLs com caracteres semelhantes
?
e não podem ser analisados e resolvidos. Isso confundirá a linha de cmd e aceitará os caracteres que não forem resolvidos no nome do URL de origem como o nome do arquivo no qual você está baixando.Por exemplo:
fará o download em um arquivo chamado
?source=typ_redirect
,.Como você pode ver, saber uma coisa ou duas sobre URLs ajuda a entender
wget
.Estou inicializando a partir de um disco hirens e só tinha o Linux 2.6.1 como um recurso (o sistema operacional de importação não está disponível). A sintaxe correta que resolveu meu problema ao baixar um ISO no disco rígido físico foi:
Pode-se descobrir a URL correta, localizando em que ponto o
wget
download é feito em um arquivo chamadoindex.html
(o arquivo padrão) e possui o tamanho correto / outros atributos do arquivo que você precisa, mostrado pelo seguinte comando:Depois que o URL e o arquivo de origem estiverem corretos e estiverem sendo baixados
index.html
, você poderá interromper o download ( ctrl+ z) e alterar o arquivo de saída usando:após o URL de origem.
No meu caso, isso resulta no download de um ISO e armazená-lo como um arquivo binário
isofile.iso
, o que é possível montar.fonte
"-P" é a opção certa, continue lendo para obter mais informações relacionadas:
wget -nd -np -P / dest / dir --recursivo http: // url / dir1 / dir2
Trechos relevantes das páginas de manual por conveniência:
fonte
man wget: -O arquivo --output-document = file
fonte