Cómo Descargar Archivos desde la Terminal de Linux con WGET y CURL

Si alguna vez has utilizado Secure Shell (SSH) para acceder a una máquina remota, es posible que te hayas encontrado en la necesidad de descargar un archivo desde una ubicación remota, ¿Qué haces en ese caso?

Dado que solo tienes acceso a la ventana de la terminal de esa máquina remota, no puedes abrir un navegador web y descargar el archivo como lo harías normalmente.

Afortunadamente, hay comandos de Linux que facilitan la descarga de archivos desde una ubicación local o remota. Hoy te mostraré cómo hacerlo con dos herramientas poderosas: wget y curl.

1. wget

El comando wget es una herramienta fundamental para descargar archivos a una máquina local cuando no se dispone de una interfaz gráfica. Es particularmente útil por su simplicidad y eficacia.

Para descargar un archivo desde una URL específica, simplemente usa el comando:

bash
Copy code
wget http://www.example.com/file.zip

Si la descarga se interrumpe, no hay necesidad de empezar de nuevo. Puedes reanudarla desde donde se quedó con la opción -c:

bash
Copy code
wget -c http://www.example.com/file.zip

¿Quieres descargar el archivo con un nombre diferente? Usa la opción -O para especificar el nombre del archivo de salida:

bash
Copy code
wget -O newname.zip http://www.example.com/file.zip

Además, puedes descargar el archivo directamente a un directorio específico con la opción -P:

bash
Copy code
wget -P /home/$USER/Downloads http://www.example.com/file.zip

Para descargar múltiples archivos, wget también permite crear un archivo de texto con todas las URLs, una por línea. Supongamos que creas un archivo llamado downloads.txt. Para descargar todos los archivos listados en ese archivo, utiliza:

bash
Copy code
wget -i downloads.txt

2. curl

curl es otra herramienta poderosa para descargar archivos desde la línea de comandos, pero funciona de manera ligeramente diferente a wget. Si ejecutas curl sin opciones, el contenido del archivo se imprimirá directamente en la terminal. Para evitar esto y guardar el archivo, necesitas usar la opción -O:

bash
Copy code
curl -O http://www.example.com/file.zip

Si prefieres guardar el archivo con un nombre diferente, curl también lo permite con la opción -o:

bash
Copy code
curl -o newname.zip http://www.example.com/file.zip

Una característica útil de curl es la capacidad de usar “globbing”, que te permite especificar múltiples URLs de una sola vez. Por ejemplo, si necesitas descargar varios archivos numerados secuencialmente, puedes usar:

bash
Copy code
curl http://www.example.com/file[1-5].zip

Esto descargará file1.zip, file2.zip, file3.zip, file4.zip y file5.zip en el directorio de trabajo actual.


Conclusión

Los comandos wget y curl son herramientas esenciales para cualquier usuario de Linux que necesite descargar archivos desde la línea de comandos. Ya sea que necesites reanudar una descarga interrumpida, descargar múltiples archivos de una vez o especificar un directorio de destino.

Estos comandos te proporcionan la flexibilidad y el control que necesitas. La próxima vez que te encuentres en una sesión SSH y necesites descargar un archivo, recuerda que estas herramientas están a tu disposición.

Más Comandos de Linux que Deberías Conocer