Descargar archivos desde Internet

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/less("File Paging") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") linux/PackagesandSoftwaresGroup -.-> linux/wget("Non-interactive Downloading") subgraph Lab Skills linux/ls -.-> lab-387333{{"Descargar archivos desde Internet"}} linux/mv -.-> lab-387333{{"Descargar archivos desde Internet"}} linux/cat -.-> lab-387333{{"Descargar archivos desde Internet"}} linux/less -.-> lab-387333{{"Descargar archivos desde Internet"}} linux/cd -.-> lab-387333{{"Descargar archivos desde Internet"}} linux/mkdir -.-> lab-387333{{"Descargar archivos desde Internet"}} linux/curl -.-> lab-387333{{"Descargar archivos desde Internet"}} linux/wget -.-> lab-387333{{"Descargar archivos desde Internet"}} end

Descargando un archivo con curl

Comencemos utilizando curl para descargar un archivo HTML simple de un sitio web.

  1. Abre tu terminal.

  2. 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).

  1. Ahora, usemos curl para descargar una página web. Escribe el siguiente comando:
curl http://example.com -o example.html

Desglosemos este comando:

  • curl es el nombre del programa que estamos utilizando.
  • http://example.com es la URL de la página web que estamos descargando.
  • -o example.html le dice a curl que guarde el contenido descargado en un archivo llamado example.html. La opción -o significa "salida" (output).
  1. Después de ejecutar el comando, curl descargará el contenido y lo guardará como example.html en 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ó.

Examinando el archivo descargado

Ahora que hemos descargado el archivo, echemos un vistazo a su contenido.

  1. 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.

  1. 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.

  1. 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.

Descargando múltiples archivos con curl

curl puede descargar múltiples archivos en un solo comando. Intentemos descargar dos archivos a la vez.

  1. Primero, intentemos descargar tanto la página principal como la página de información (about) de example.com y 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.

  1. Para guardar estos archivos en lugar de mostrarlos, usaremos la opción -O. La -O mayúscula le dice a curl que 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.

  1. 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.

  1. 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.

Usando 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.

  1. Comencemos utilizando wget para 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.

  1. Por defecto, wget guarda 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.

Descargando 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.

  1. Primero, creemos un nuevo directorio para descargar nuestros archivos:
mkdir downloads

Esto crea un nuevo directorio llamado downloads en tu ubicación actual.

  1. Ahora, usemos curl para 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.

  1. A continuación, usemos wget para 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.

  1. 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.

  1. Para ver el contenido de estos archivos sin cambiar nuestro directorio actual, podemos usar cat con 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:

  1. Has utilizado curl para descargar archivos individuales y guardarlos con nombres personalizados.
  2. Has explorado cómo descargar múltiples archivos con un solo comando de curl.
  3. Has aprendido cómo usar wget para descargar archivos, tanto con nombres predeterminados como personalizados.
  4. Has practicado la descarga recursiva de archivos con wget.
  5. Has aprendido cómo descargar archivos a un directorio específico utilizando tanto curl como wget.

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!