Descripción del problema
Necesito descargar un fichero que contiene un certificado raiz desde el terminal de linux.
Wget es una herramienta informática creada por el Proyecto GNU. Puedes usarlo para recuperar contenido y archivos de varios servidores web. El nombre es una combinación de World Wide Web y la palabra get. Admite descargas a través de FTP, SFTP, HTTP y HTTPS.
En primer lugar tenemos que tener instalado en nuestro SO la herramienta Wget, porque sino obtenemos un error como este:
[usuario@host]$ wget
zsh: command not found: wget
Instalamos la herramienta con el siguiente comando:
apt-get install wget
Una vez instalada la herramienta podemos usarla para descargar un archivo y guardarlo en el directorio actual.
Usando el comando Wget para descargar archivos individuales
wget https://wordpress.org/latest.zip
En este ejemplo, se descargará un archivo llamado latest.zip en el directorio de trabajo actual. También verá información adicional, como el progreso de la descarga, la velocidad, el tamaño, la hora y la fecha.
wget https://wordpress.org/latest.zip
–2024-07-18 10:39:03– https://wordpress.org/latest.zip
Resolviendo wordpress.org (wordpress.org)… 198.143.164.252
Conectando con wordpress.org (wordpress.org)[198.143.164.252]:443… conectado.
Petición HTTP enviada, esperando respuesta… 200 OK
Longitud: 26136854 (25M) [application/zip]
Grabando a: «latest.zip»
latest.zip 100%[===================>] 24,93M 13,3MB/s en 1,9s
2024-07-18 10:39:05 (13,3 MB/s) – «latest.zip» guardado [26136854/26136854]
También podemos crear un fichero de texto «ejemplo.txt» con nano y meter ahí varias lineas con direcciones:
https://wordpress.org/latest.zip
https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip
https://ftp.drupal.org/files/projects/drupal-8.4.5.zip
Una vez hecho podemos llamar a wget con el parámetro -i para obtener todos los archivos almacenados en el fichero de texto:
wget -i example.txt
Usar el comando Wget para obtener archivos bajo nombres diferentes
En este ejemplo de wget, guardaremos un archivo usando un nombre diferente con la ayuda de la opción -O:
wget -O wordpress-install.zip https://wordpress.org/latest.zip
En este caso, el recurso descargado se guardará como wordpress-install.zip en lugar de su nombre original.
Usar el comando Wget para guardar archivos en el directorio especificado
Puedes utilizar wget para colocar un archivo en otro directorio usando la función -P:
wget -P documents/archives/ https://wordpress.org/latest.zip
El archivo que recuperes usando esta sintaxis aparecerá en documentos/archivos/ carpeta.
Usar el comando Wget para limitar la velocidad de descarga
Con wget, también puedes limitar la velocidad de descarga. Esto es útil cuando recuperas archivos grandes y evitará que use todo tu ancho de banda. Este ejemplo de wget establecerá el límite a 500k:
wget --limit-rate=500k https://wordpress.org/latest.zip
Uso del comando Wget para establecer cantidad de reintento
Los problemas de conexión a Internet pueden hacer que la descarga se interrumpa. Para abordar este problema, podemos aumentar la cantidad de reintentos usando la función -tries:
wget -tries=100 https://wordpress.org/latest.zip
Usar el comando Wget para descargas en segundo plano
Para archivos extremadamente grandes, puede aprovechar la función -b. Descargará su contenido en segundo plano.
wget -b http://example.com/beefy-file.tar.gz
Un wget-log aparecerá en tu directorio de trabajo, que se puede usar para verificar el progreso y el estado de tu descarga. Este comando también hará el truco:
tail -f wget-log
Usando el comando Wget para descargar a través de FTP
El comando también se puede usar con FTP. Solo necesitarás especificar el nombre de usuario y la contraseña como en este ejemplo:
wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar
Usando el comando Wget para continuar las descargas interrumpidas
Tu descarga puede interrumpirse si pierdes la conexión a Internet o experimenta un corte de energía. Esto es bastante frecuente cuando se obtienen archivos enormes. En lugar de comenzar de nuevo, es posible continuar la descarga usando la función -c:
wget -c https://example/very-big-file.zip
Si continúas sin la función -c, el nuevo archivo tendrá .1 agregado al final tal como ya existe.
Usando el comando Wget para recuperar sitios web completos
También es posible usar el comando wget para descargar el contenido de un sitio completo. Esto le permitirá verlo localmente sin una conexión a Internet. Aquí hay un ejemplo:
wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://some-website.com
Analicemos los ingredientes de este comando wget:
-mirror Hace que la descarga sea recurrente.
-convert-links Todos los enlaces se convertirán para un uso fuera de línea.
-page-requisities Lo siguiente incluirá todos los archivos necesarios tales como CSS, JS e imágenes.
-no-parent Asegura que los directorios que están por encima de la jerarquía no se recuperen.
-P Esto asegura que todo el contenido vaya a nuestro directorio especificado.
Una vez que el proceso finalice, podrás abrir el sitio web descargado localmente y encontrar todos los archivos en documentos/sitios web/ carpeta.
Usando el comando Wget para localizar enlaces rotos
Intentemos algo más avanzado. Podemos usar el comando para localizar todas las URL rotas que muestran el error 404 en un sitio web específico. Comienza ejecutando lo siguiente:
wget -o wget-log -r -l 5 --spider http://example.com
-o Recopila la salida en un archivo para su uso posterior.
-l Especifica el nivel de recurrencia.
-r Hace que la descarga sea recurrente.
-spider Configura wget en el modo araña.
Ahora podemos investigar el archivo wget-log para encontrar la lista de enlaces rotos. Aquí está el comando para hacerlo:
grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u
Usando el comando Wget para descargar archivos numerados
Si tienes archivos o imágenes numeradas en una lista determinada, puedes descargarlas fácilmente con la siguiente sintaxis:
wget http://example.com/images/{1..50}.jpg
Fuente de información HOSTINGER https://www.hostinger.es/tutoriales/usar-comando-wget
CURL vs. WGET: Sus diferencias, uso y cuál deberías usar
Para descargar archivos directamente desde la línea de comandos de Linux, hay dos utilidades que vienen inmediatamente a la mente: wget y cURL. Comparten muchas características y pueden realizar fácilmente muchas de las mismas tareas.
Si deseas descargar algo rápidamente sin tener que preocuparte por los indicadores, entonces puedes usar wget. Es simple y solo funciona. Si deseas hacer algo más complejo, cURL debe ser tu elección inmediata.
cURL te permite hacer mucho más. Puedes pensar en cURL como un navegador web de línea de comando simplificado. Es compatible con casi todos los protocolos que puedas imaginar y puede acceder e interactuar con casi todo el contenido en línea. Lo único es que un navegador representa las respuestas que recibe y cURL no.