¿Cómo descargar un archivo de un sitio web a través de la terminal?

306

Supongamos que tenemos una URL completa del archivo deseado, por ejemplo

http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz

Me gustaría ir sin instalar un nuevo software. ¿Es posible?

Mando

 cp  'http://example.com/directory/4?action=AttachFile&do=get&target=file.tgz' hooray

no funciona;)

0x6B6F77616C74
fuente
66
wgetes tu amigo aquí :)
cauon
10
wgetes quizás la forma más simple pero también puedes usarla curl. Lea esto
dearN
16
Utilizar wget -O hooray "http://domain.com/directory/4?action=AttachFile&do=get&target=file.tgz". Puede agregar la -copción para reanudar la descarga si se perdió la conexión al descargar el archivo.
Sergey
"Hurra" me hizo reír LOL
Chris Loughnane

Respuestas:

397

Abrir terminal y escribir

wget "http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz" 

para descargar el archivo al directorio actual.

wget  -P /home/omio/Desktop/ "http://thecanadiantestbox.x10.mx/CC.zip"

descargará el archivo a /home/omio/Desktop

wget  -O /home/omio/Desktop/NewFileName "http://thecanadiantestbox.x10.mx/CC.zip"

descargará el archivo /home/omio/Desktopy le dará su NewFileNamenombre.

devav2
fuente
1
Golpéame hasta el golpe. Dang Pero si, lo es wget [whatever web address]. Si desea elegir la ubicación, escriba cd [local location on your computer.] EJEMPLO: cd /home/omio/Desktop/ | wget http://thecanadiantestbox.x10.mx/CC.zip
Omio
44
@ Omio No hay necesidad de correr cd. Simplemente puede especificar el archivo de salida a través de la -Oopción. Por ejemplo:wget -O /home/omio/Desktop/file.tgz "http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz"
Sergey
1
Tus ejemplos no funcionarán. DEBE usar comillas cuando la URL contiene símbolos de unión.
Sergey
@Sergey Gracias por la aclaración. Todavía no he tenido que usar wget, pero tendría que hacerlo en el futuro.
Omio
? y & son interpretados por su shell. Necesita citarlo o escapar de él. En general, tiene un acceso directo para pegar una versión de la cadena entre comillas o escapado en el portapapeles de su terminal. Tenga mucho cuidado al pegar cosas dentro de una terminal.
alecail
28

puedes hacerlo usando curl.

curl -O http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz

El -O guarda el archivo con el mismo nombre que en la url en lugar de volcar la salida en stdout

Para más información

rɑːdʒɑ
fuente
Nunca puedo recordar si es un cero o un O
Alexander Mills
-O es la letra alfabética y debe ser mayúscula, de lo contrario se generará un registro
Kareem Elsayed
20

Yo uso axely wgetpara descargar desde la terminal, Axel es el acelerador de descarga

sintaxis

axel

Instalar a través del centro de software

axel www.example.com/example.zip

wget

wget -c www.example.com/example.zip

para más detalles escriba man axel, man wgeten terminal

Taquiones
fuente
66
¿Cómo es axeldiferente de wget?
heinrich5991
3
¡@ heinrich5991 wget es más avanzado que axel!
Pranit Bauva
9

Solo para agregar más sabor a esta pregunta, también recomendaría que eche un vistazo a esto:

history -d $((HISTCMD-1)) && echo '[PASSWORD]' | sudo -S shutdown now

Puede usar esto para apagar su computadora después de su wgetcomando con ;quizás o en un basharchivo de script.

Esto significa que no tiene que permanecer despierto por la noche y monitorear hasta que su descarga se ejecute (sin) correctamente.

Lea esta respuesta también

querida N
fuente
5

la falta de mención de Aria2 es solo un mal servicio, así que dicho esto, echa un vistazo a Aria2. https://aria2.github.io/

Instálelo simplemente escribiendo en la terminal:

sudo apt install aria2

Luego simplemente escriba esto para descargar el archivo:

aria2c http://example.com/directory/4?action=AttachFile&do=get&target=file.tgz

Puedes encontrar más ayuda con aria2su manpágina.

Michael Tunnell
fuente
2

Hice estos pasos de Oh-my-zsh,

brew install wget
wget https://github.com/sencha-extjs-examples/QuickStart/archive/master.zip
Do Nhu Vy
fuente