linux - servidor - wget descargar sitio completo
¿Cómo descargar un archivo en un directorio usando curl o wget? (4)
Sé que puedo usar los siguientes 2 comandos para descargar un archivo:
curl -O example.com/file.zip
wget example.com/file.zip
Pero quiero que vayan a un directorio específico. Entonces puedo hacer lo siguiente:
curl -o mydir/file.zip example.com/file.zip
wget -O mydir/file.zip example.com/file.zip
¿Hay alguna manera de no tener que especificar el nombre del archivo? Algo como esto:
curl -dir mydir example.com/file.zip
La forma más simple es hacer cd
dentro de una subshell
(cd somedir; wget example.com/file.zip)
y podrías hacer de eso una función de shell (por ejemplo, en tu ~/.bashrc
)
wgetinside() {
( cd $1 ; shift; wget $* )
}
a continuación, escriba wgetinside somedir http://example.com/file.zip
La respuesta corta no es curl y wget escribe automáticamente en STDOUT. No tiene una opción integrada para colocar el archivo de descarga en un directorio.
-o/--output <file> Write output to <file> instead of stdout (Curl)
-O, --output-document=FILE write documents to FILE. (WGet)
Pero a medida que se envía a STDOUT de forma nativa, le ofrece soluciones programáticas como las siguientes:
i="YOURURL"; f=$(awk -F''/'' ''{print $NF}'' <<< $i);curl $i > ~/$f
Primero definiré tu url (example.com/file.zip) como una variable. La parte f = eliminó la URL y deja /file.zip y luego enrolla ese archivo ($ i) en el directorio (~) como el nombre del archivo.
La siguiente línea descargará todos los archivos en un directorio mencionado por usted.
wget -P /home/test www.xyz.com
Aquí los archivos se descargarán al directorio /home/test
Sé que esta es una vieja pregunta, pero es posible hacer lo que pides con curl
rm directory/somefile.zip
rmdir directory
mkdir directory
curl --http1.1 http://example.com/somefile.zip --output directory/somefile.zip
En primer lugar, si esto estaba escrito, necesitarás asegurarte de que el archivo, si ya existe, se elimine, luego eliminar el directorio y curvar la descarga; de lo contrario, el curl fallará con un error de archivo y directorio ya existente.