Introducción
En este laboratorio, aprenderás cómo descargar archivos desde Internet utilizando dos herramientas de línea de comandos comunes: curl y wget. Estas herramientas son esenciales para recuperar archivos y datos de servidores web, lo que las convierte en habilidades valiosas para cualquier usuario o desarrollador de Linux.
curl es una herramienta versátil que puede descargar archivos de varios protocolos y realizar solicitudes HTTP. wget es una herramienta más sencilla utilizada principalmente para descargar archivos de servidores web. Al final de este laboratorio, estarás cómodo utilizando ambas herramientas para descargar archivos y realizar solicitudes HTTP básicas.
Descargar un archivo con curl
Comencemos utilizando curl para descargar un archivo HTML simple de un sitio web.
Abre tu terminal.
Navega hasta el directorio del proyecto. En la terminal, escribe:
cd /home/labex/project
Este comando cambia tu directorio actual a /home/labex/project. El comando cd significa "cambiar directorio" (change directory).
- Ahora, usemos
curlpara descargar una página web. Escribe el siguiente comando:
curl http://example.com -o example.html
Desglosemos este comando:
curles el nombre del programa que estamos utilizando.http://example.comes la URL de la página web que estamos descargando.-o example.htmlle dice acurlque guarde el contenido descargado en un archivo llamadoexample.html. La opción-osignifica "salida" (output).
- Después de ejecutar el comando,
curldescargará el contenido y lo guardará comoexample.htmlen tu directorio actual. Para verificar que el archivo se haya descargado, podemos listar el contenido del directorio:
ls -l example.html
El comando ls lista archivos y directorios. La opción -l nos da una lista detallada (larga). Deberías ver example.html en la salida, junto con información sobre su tamaño y la última vez que se modificó.
Examinar el archivo descargado
Ahora que hemos descargado el archivo, echemos un vistazo a su contenido.
- Para mostrar el contenido del archivo, usaremos el comando
cat. Escribe:
cat example.html
cat significa "concatenar" (concatenate), pero se utiliza comúnmente para mostrar el contenido de archivos. Deberías ver el contenido HTML de la página de inicio de example.com. Esto puede parecer un desorden de texto si no estás familiarizado con HTML, pero no te preocupes: es el código sin procesar que utilizan los navegadores web para mostrar páginas web.
- A veces, los archivos pueden ser muy grandes y quizás solo queramos ver el principio. Para esto, podemos usar el comando
head:
head -n 10 example.html
Este comando muestra las primeras 10 líneas del archivo. La opción -n 10 le dice a head que muestre 10 líneas. Puedes cambiar este número para ver más o menos líneas.
- Para ver el final del archivo, puedes usar el comando
tail:
tail -n 10 example.html
Esto muestra las últimas 10 líneas del archivo.
Estos comandos son útiles para inspeccionar rápidamente archivos sin abrirlos por completo, especialmente cuando se trata de archivos grandes.
Descargar múltiples archivos con curl
curl puede descargar múltiples archivos en un solo comando. Intentemos descargar dos archivos a la vez.
- Primero, intentemos descargar tanto la página principal como la página de información (about) de
example.comy mostrar su contenido:
curl http://example.com/index.html http://example.com/about.html
Este comando mostrará el contenido de ambas páginas en tu terminal. Verás dos documentos HTML impresos uno después del otro. Esto puede ser útil para comprobaciones rápidas, pero no es ideal si quieres guardar los archivos.
- Para guardar estos archivos en lugar de mostrarlos, usaremos la opción
-O. La-Omayúscula le dice acurlque use el nombre de archivo de la URL:
curl -O http://example.com/index.html -O http://example.com/about.html
Este comando descarga ambos archivos y los guarda con sus nombres originales (index.html y about.html) en tu directorio actual. Esta vez no verás el contenido impreso en la terminal.
- Para verificar que los archivos se hayan descargado, podemos listar el contenido del directorio:
ls -l index.html about.html
Deberías ver ambos archivos en la lista, junto con sus tamaños y las fechas de última modificación.
- Si quieres descargar múltiples archivos pero darles nombres personalizados, puedes usar múltiples opciones
-o:
curl -o custom_index.html http://example.com/index.html -o custom_about.html http://example.com/about.html
Esto guardará los archivos como custom_index.html y custom_about.html.
Usar wget para descargar archivos
Ahora exploremos wget, otra herramienta popular para descargar archivos. wget suele ser preferida por su simplicidad y su capacidad para manejar descargas grandes o conexiones inestables.
- Comencemos utilizando
wgetpara descargar un archivo de example.com:
wget http://example.com/index.html
wget mostrará una barra de progreso mientras descarga el archivo. Esto es especialmente útil para archivos más grandes, ya que puedes ver cuánto del archivo se ha descargado y cuánto tiempo podría tardar en completarse.
- Por defecto,
wgetguarda el archivo con su nombre original. Para especificar un nombre diferente, utiliza la opción-O(ten en cuenta que es una O mayúscula, a diferencia de curl que utiliza una o minúscula):
wget -O custom_name.html http://example.com/index.html
Esto guardará el archivo como custom_name.html. La barra de progreso seguirá mostrándose, pero el archivo se guardará con el nombre que hayas especificado.
Descargar archivos a un directorio específico
A menudo, querrás descargar archivos a un directorio específico en lugar de tu directorio de trabajo actual. Tanto curl como wget te permiten hacer esto, pero utilizan métodos diferentes.
- Primero, creemos un nuevo directorio para descargar nuestros archivos:
mkdir downloads
Esto crea un nuevo directorio llamado downloads en tu ubicación actual.
- Ahora, usemos
curlpara descargar un archivo a este directorio:
curl -o downloads/curl_file.html http://example.com
La opción -o en curl nos permite especificar el archivo de salida, incluyendo su ruta. Este comando descarga el contenido de example.com y lo guarda como curl_file.html en el directorio downloads.
- A continuación, usemos
wgetpara descargar un archivo al mismo directorio:
wget -P downloads http://example.com/index.html
La opción -P en wget significa "prefijo" (prefix) y nos permite especificar el directorio donde queremos guardar el archivo. Este comando descarga index.html de example.com y lo guarda en el directorio downloads.
- Podemos verificar que ambos archivos se hayan descargado al directorio
downloads:
ls -l downloads
Deberías ver tanto curl_file.html como index.html en la salida.
- Para ver el contenido de estos archivos sin cambiar nuestro directorio actual, podemos usar
catcon la ruta completa:
cat downloads/curl_file.html
cat downloads/index.html
Esto nos permite verificar el contenido de los archivos descargados.
Resumen
¡Felicidades! Has completado con éxito el laboratorio sobre la descarga de archivos desde Internet utilizando curl y wget. Repasemos lo que has aprendido:
- Has utilizado
curlpara descargar archivos individuales y guardarlos con nombres personalizados. - Has explorado cómo descargar múltiples archivos con un solo comando de
curl. - Has aprendido cómo usar
wgetpara descargar archivos, tanto con nombres predeterminados como personalizados. - Has practicado la descarga recursiva de archivos con
wget. - Has aprendido cómo descargar archivos a un directorio específico utilizando tanto
curlcomowget.
Estas habilidades son fundamentales para muchas tareas en Linux, desde la recuperación de contenido web hasta la descarga de paquetes de software. A medida que continúes tu viaje en Linux, encontrarás que estas herramientas son invaluable para diversas tareas de scripting y automatización.
Recuerda que tanto curl como wget tienen muchas más opciones y capacidades que puedes explorar. No dudes en consultar sus páginas del manual (man curl y man wget) para aprender más sobre sus características avanzadas.
¡Sigue practicando y explorando estas herramientas para volverte más competente en el trabajo con archivos y contenido web en Linux!



