Editado 3 Hace unas semanas por ExtremeHow Equipo Editorial
Línea de comandosRedesSolicitudes HTTPTransferencias de archivosDescargaUtilidadesSecuencias de comandosAutomatizaciónWebHerramientas
Traducción actualizada 3 Hace unas semanas
Linux es un sistema operativo potente que se utiliza ampliamente para una variedad de tareas. Las dos herramientas más comunes para interactuar con la web a través de la línea de comandos son wget
y curl
. Estas herramientas son imprescindibles para cualquier persona que necesite descargar archivos, realizar solicitudes HTTP o interactuar con recursos de Internet directamente desde el terminal. Esta guía te introducirá a lo básico de ambos comandos wget
y curl
, discutirá sus diferencias y te mostrará cómo usarlos de manera efectiva.
wget
es una utilidad de línea de comandos que te permite descargar archivos de la web. Soporta protocolos HTTP, HTTPS y FTP, lo que lo convierte en una herramienta versátil para interactuar con recursos web. Para comenzar, primero necesitas verificar si wget
está instalado en tu sistema Linux. Abre tu terminal y escribe:
wget --version
Si wget
está instalado, verás su número de versión. Si no lo está, puedes instalarlo usando el gestor de paquetes de tu distribución. Por ejemplo, en Ubuntu o Debian, usa:
sudo apt-get install wget
En Fedora, usa:
sudo dnf install wget
Una vez que wget
esté instalado, puedes usarlo para descargar archivos. La forma más fácil de usar wget
es escribir el comando seguido de la URL del archivo que quieres descargar:
wget http://example.com/file.txt
Este comando descargará file.txt
de http://example.com
y lo guardará en el directorio actual. wget
usa el directorio actual como directorio base para guardar archivos, a menos que se especifique lo contrario.
Una de las características más útiles de wget
es su capacidad para reanudar descargas pausadas. Si tu descarga fue interrumpida, puedes reanudarla con la opción -c
:
wget -c http://example.com/largefile.zip
Si largefile.zip
ya ha sido parcialmente descargado, este comando reanudará su descarga.
Para descargar múltiples archivos con wget
, puedes usar un archivo de texto que contenga una lista de todas las URLs que deseas descargar. Por ejemplo, crea un archivo llamado urls.txt
con las URLs de los archivos, luego pásalo a wget
con la opción -i
:
wget -i urls.txt
Este comando descargará cada archivo listado en urls.txt
.
wget
también soporta descargas recursivas, que pueden ser útiles para hacer un espejo de un sitio web completo. Para hacer que wget
descargue archivos recursivamente, usa la opción -r
:
wget -r http://example.com
Este comando descargará todos los archivos enlazados desde la página web especificada, hasta una profundidad de enlace predeterminada de 5.
A veces, puedes querer limitar la velocidad de descarga para evitar consumir demasiado ancho de banda. Puedes usar la opción --limit-rate
para limitar la velocidad de descarga:
wget --limit-rate=100k http://example.com/file.iso
Este comando descargará el archivo a una velocidad máxima de 100 kilobytes por segundo.
curl
es otra herramienta de línea de comandos que te permite interactuar con recursos web. Es más versátil que wget
, especialmente cuando se trata de realizar solicitudes diferentes de simples descargas de archivos. Para verificar si curl
está instalado, escribe:
curl --version
Si curl
no está instalado, puedes instalarlo usando lo siguiente:
Para Ubuntu o Debian:
sudo apt-get install curl
Para Fedora:
sudo dnf install curl
El uso más simple de curl
es mostrar el contenido de una URL directamente en el terminal. Puedes lograrlo escribiendo:
curl http://example.com
Este comando obtendrá el contenido de http://example.com
y lo mostrará en la ventana de tu terminal.
A diferencia de wget
, curl
no guarda archivos por defecto. Para guardar el resultado en un archivo, usa la opción -o
seguido del nombre de archivo deseado:
curl -o file.txt http://example.com/file.txt
Este comando descargará file.txt
y lo guardará como file.txt
en el directorio actual.
Para reanudar un archivo descargado parcialmente con curl
, usa la opción -C -
:
curl -C - -o file.txt http://example.com/file.txt
Este comando reiniciará la descarga y continuará donde la dejaste.
curl
es particularmente potente para realizar solicitudes HTTP y puede manejar una variedad de tipos de solicitudes, como POST, PUT, DELETE, etc. Para realizar una solicitud GET (que es la predeterminada), simplemente puedes escribir:
curl http://api.example.com/data
Para una solicitud POST, puedes enviar datos usando la opción -d
:
curl -d "param1=value1¶m2=value2" http://api.example.com/post
Esto envía una solicitud POST con los parámetros param1
y param2
.
curl
te permite agregar cabeceras personalizadas a tus solicitudes, lo cual puede ser útil para interacciones con APIs. Usa la opción -H
para incluir cabeceras:
curl -H "Authorization: Bearer token" http://api.example.com/data
Este comando añade una cabecera Authorization
con un token de portador.
Tanto wget
como curl
pueden usar un servidor proxy al realizar solicitudes. Para wget
, puedes configurar un proxy configurando las variables de entorno http_proxy
y https_proxy
:
export http_proxy="http://proxyaddress:port"
wget http://example.com/file.txt
Para curl
, puedes especificar un proxy usando la opción -x
:
curl -x http://proxyaddress:port http://example.com/file.txt
Tanto wget
como curl
son herramientas extremadamente útiles para interactuar con recursos web desde la línea de comandos en Linux. wget
es excelente para descargas directas de archivos y soporta características como descargas recursivas, mientras que curl
proporciona más flexibilidad para interactuar con servicios web y manejar diferentes tipos de solicitudes HTTP. Comprender cómo usar estas herramientas de manera eficiente puede mejorar enormemente tu flujo de trabajo y productividad al trabajar con la línea de comandos de Linux.
En conclusión, dominar los comandos wget
y curl
puede ser un activo valioso para los usuarios que frecuentemente trabajan con interacciones web. Ya sea descargando archivos, accediendo a APIs o extrayendo datos de sitios web, estas herramientas proporcionan mecanismos robustos para lograr tus objetivos directamente desde el terminal.
Si encuentras algo incorrecto en el contenido del artículo, puedes