varios sitio servidor para linea desde descargar con completo comandos comando archivos archivo linux macos curl wget

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.