Ho bisogno di scaricare i file in / tmp / cron_test /. Il mio codice wget è
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Quindi c'è qualche parametro per specificare la directory?
Ho bisogno di scaricare i file in / tmp / cron_test /. Il mio codice wget è
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Quindi c'è qualche parametro per specificare la directory?
Risposte:
Dalla pagina del manuale:
-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).
Quindi è necessario aggiungere -P /tmp/cron_test/
(forma breve) o --directory-prefix=/tmp/cron_test/
(forma lunga) al comando. Si noti inoltre che se la directory non esiste verrà creata.
--no-host-directories
o -nH
come da serverfault.com/questions/354792/…
-O è l'opzione per specificare il percorso del file che si desidera scaricare.
wget <file.ext> -O /path/to/folder/file.ext
-P è il prefisso da cui scaricherà il file nella directory
wget <file.ext> -P /path/to/folder
/path/to/folder/
lì
-O
Ho votato anche per specificare quali non -P
mi servivano , ma mi hanno fatto sentire più sicuro di ciò di cui avevo bisogno.
-O
esegue l'override -P
, quindi non è possibile specificare solo la directory di output (think dirname
e solo il nome del file di output (think basename
). A tale scopo è sufficiente -O
specificare il percorso completo del file.
Assicurati di avere l'URL corretto per tutto ciò che stai scaricando. Prima di tutto, gli URL con caratteri simili ?
e simili non possono essere analizzati e risolti. Ciò confonderà la linea cmd e accetterà tutti i caratteri che non sono stati risolti nel nome dell'URL di origine come nome del file in cui si sta scaricando.
Per esempio:
wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"
scaricherà in un file chiamato, ?source=typ_redirect
.
Come puoi vedere, conoscere una o due cose sugli URL aiuta a capire wget
.
Sto avviando da un disco di hirens e avevo solo Linux 2.6.1 come risorsa (il sistema operativo di importazione non è disponibile). La sintassi corretta che ha risolto il mio problema durante il download di un ISO sul disco rigido fisico è stata:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Si potrebbe capire l'URL corretto trovando a che punto wget
scaricare in un file chiamato index.html
(il file predefinito), e ha le dimensioni corrette / altri attributi del file che è necessario mostrato dal seguente comando:
wget "(source url)"
Una volta che l'URL e il file di origine sono corretti e vengono scaricati in index.html
, è possibile interrompere il download ( ctrl+ z) e modificare il file di output utilizzando:
-O "<specified download directory>/filename.extension"
dopo l'URL della fonte.
Nel mio caso, ciò comporta il download di un ISO e la sua memorizzazione come file binario sotto isofile.iso
, che si spera si monti.
"-P" è l'opzione giusta, continua a leggere per ulteriori informazioni correlate:
wget -nd -np -P / dest / dir --recursive http: // url / dir1 / dir2
Snippet pertinenti dalle pagine man per comodità:
-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.
man wget: -O file --output-document = file
wget "url" -O /tmp/cron_test/<file>