-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).
Por lo tanto, debe agregar -P /tmp/cron_test/(forma corta) o --directory-prefix=/tmp/cron_test/(forma larga) a su comando. También tenga en cuenta que si el directorio no existe, se creará.
-P / tmp / cron_test / no funciona pero elimina / like -P tmp / cron_test / funciona e incluso crea un directorio inexistente.
Kangarooo
77
Kangaroo probablemente no funciona porque no tienes / tmp / cron_test / en tu sistema: P
Sameer Alibhai
41
La descripción del manual hace que esta opción sea difícil de buscar. No pienso en la ubicación donde quiero guardar algo como un 'prefijo de directorio'. ¡Gracias por compartir!
Añadiría una barra inclinada para llegar /path/to/folder/allí
Louis Maddox
36
Up votó por especificar también -Oqué no necesitaba, pero me hizo sentir más seguro de que eso -Pera lo que necesitaba.
WORMSS
@louisMaddox según las páginas de manual de mi máquina, el prefijo predeterminado es "." (es decir, el directorio actual) agregar una barra inclinada final al "prefijo de directorio" provocaría un error de doble barra diagonal (es decir, mi / favorito / dir / prefijo //) además, teniendo en cuenta la semántica, el "prefijo de directorio" no requeriría un símbolo final. barra oblicua.
Timothy LJ Stewart
2
@ TimothyL.J.Stewart No hay un error de doble barra.
har-wradim
NB: -Oreemplaza -P, por lo que no puede especificar solo el directorio de salida (think dirnamey solo el nombre de archivo de salida (think basename). Para este uso, solo -Oespecifique la ruta completa del archivo.
murlakatamenka
7
Asegúrese de tener la URL correcta para lo que esté descargando. En primer lugar, las URL con caracteres como ?y similares no se pueden analizar y resolver. Esto confundirá la línea cmd y aceptará los caracteres que no se resuelvan en el nombre de la URL de origen como el nombre del archivo que está descargando.
se descarga en un archivo denominado, ?source=typ_redirect.
Como puede ver, conocer una o dos cosas sobre las URL ayuda a comprender wget.
Estoy arrancando desde un disco de alquiler y solo tenía Linux 2.6.1 como recurso (la importación del sistema operativo no está disponible). La sintaxis correcta que resolvió mi problema al descargar un ISO en el disco duro físico fue:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Uno podría calcular la URL correcta al encontrar en qué punto se wgetdescarga en un archivo llamado index.html(el archivo predeterminado) y tiene el tamaño correcto / otros atributos del archivo que necesita que se muestran con el siguiente comando:
wget "(source url)"
Una vez que la URL y el archivo fuente son correctos y se están descargando index.html, puede detener la descarga ( ctrl+ z) y cambiar el archivo de salida usando:
Fragmentos relevantes de páginas de manual para mayor comodidad:
-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.
No es una respuesta, porque la opción -o coloca el archivo dounloaded en el archivo especificado. Pero la pregunta es "¿Cómo poner el archivo en una carpeta". Y esto es una respuesta duplicada existe
Respuestas:
Desde la página del manual:
Por lo tanto, debe agregar
-P /tmp/cron_test/(forma corta) o--directory-prefix=/tmp/cron_test/(forma larga) a su comando. También tenga en cuenta que si el directorio no existe, se creará.fuente
--no-host-directorieso-nHsegún serverfault.com/questions/354792/…-O es la opción para especificar la ruta del archivo que desea descargar.
-P es el prefijo donde descargará el archivo en el directorio
fuente
/path/to/folder/allí-Oqué no necesitaba, pero me hizo sentir más seguro de que eso-Pera lo que necesitaba.-Oreemplaza-P, por lo que no puede especificar solo el directorio de salida (thinkdirnamey solo el nombre de archivo de salida (thinkbasename). Para este uso, solo-Oespecifique la ruta completa del archivo.Asegúrese de tener la URL correcta para lo que esté descargando. En primer lugar, las URL con caracteres como
?y similares no se pueden analizar y resolver. Esto confundirá la línea cmd y aceptará los caracteres que no se resuelvan en el nombre de la URL de origen como el nombre del archivo que está descargando.Por ejemplo:
se descarga en un archivo denominado,
?source=typ_redirect.Como puede ver, conocer una o dos cosas sobre las URL ayuda a comprender
wget.Estoy arrancando desde un disco de alquiler y solo tenía Linux 2.6.1 como recurso (la importación del sistema operativo no está disponible). La sintaxis correcta que resolvió mi problema al descargar un ISO en el disco duro físico fue:
Uno podría calcular la URL correcta al encontrar en qué punto se
wgetdescarga en un archivo llamadoindex.html(el archivo predeterminado) y tiene el tamaño correcto / otros atributos del archivo que necesita que se muestran con el siguiente comando:Una vez que la URL y el archivo fuente son correctos y se están descargando
index.html, puede detener la descarga ( ctrl+ z) y cambiar el archivo de salida usando:después de la fuente url.
En mi caso, esto resulta en descargar un ISO y almacenarlo como un archivo binario debajo
isofile.iso, que con suerte se monta.fuente
"-P" es la opción correcta, siga leyendo para obtener más información relacionada:
wget -nd -np -P / dest / dir - http recursivo : // url / dir1 / dir2
Fragmentos relevantes de páginas de manual para mayor comodidad:
fuente
wget man: -O archivo --output-document = archivo
fuente