Anuncio

Cuando comenzamos a aprender sobre las herramientas de línea de comandos, tendemos a verlas como de un solo propósito. Te enseñaron eso gato imprime el contenido del archivo, ls enumera todos los elementos en un directorio y du muestra el uso del espacio en disco. Sin embargo, muchas herramientas de línea de comandos tienen docenas de opciones, todas perfectamente descritas en su hombre archivos. Algunos de ellos pueden hacer maravillas cuando se combinan con otros comandos.

Por supuesto, no es razonable esperar que alguien recuerde cada opción. Con eso en mente, es bueno actualizar ocasionalmente nuestro conocimiento de los comandos de Linux Una A-Z de Linux: 40 comandos esenciales que debe saberLinux es la tercera rueda a menudo ignorada para Windows y Mac. Sí, en la última década, el sistema operativo de código abierto ha ganado mucha tracción, pero todavía está muy lejos de ser considerado ... Lee mas , porque puede descubrir nuevos usos para ellos.

curl-comandos-introducción

Esta vez, nos estamos centrando en

instagram viewer
rizo, una herramienta para transferir datos a través de varios protocolos de Internet, como HTTP (S), FTP, Telnet, LDAP, IMAP, POP3, SMTP y más.

En términos simplificados, cURL realiza varias solicitudes de un cliente a un servidor, estableciendo una conexión entre ellos por medio de un protocolo específico y sus métodos asociados. Por ejemplo, como cliente HTTP, cURL puede enviar una solicitud para ver o descargar contenido (método de solicitud GET) o publicar contenido a través de un formulario en un sitio web (método de solicitud POST). Muchas aplicaciones y servicios web permiten que cURL interactúe con sus API (interfaz de programación de aplicaciones).

Debido a que su funcionalidad se superpone en cierta medida, cURL y wget Dominando Wget y aprendiendo algunos trucos de descargaA veces no es suficiente guardar un sitio web localmente desde su navegador. A veces necesitas un poco más de potencia. Para esto, hay una pequeña herramienta de línea de comandos conocida como Wget. Wget es ... Lee mas a menudo se comparan entre sí. Ambas herramientas pueden descargar contenido de Internet, pero wget admite descargas recursivas, raspado web y, en general, se siente más fácil de usar. Si solo quieres descargar archivos desde la terminal Descargar videos web con la línea de comandos usando Movgrab [Linux]Use la línea de comando para descargar rápidamente videos de YouTube, Vimeo, Ted, Discovery y más de 40 sitios usando un programa simple. Se llama MovGrab y es un excelente programa gratuito para Linux. Hemos demostrado ... Lee mas , wget es probablemente una mejor opción.

Por otro lado, si necesita métodos avanzados de autenticación HTTP, y desea cargar archivos y descargarlos, vale la pena aprender cómo hacer RURL. Además, wget solo admite HTTP (S) y FTP, mientras que cURL cubre una amplia gama de protocolos. Esto significa que cURL puede hacer cosas más interesantes, y aquí hay diez ejemplos para probarlo.

1. Obtenga el informe meteorológico

Si alguien le dijera que revisara el clima desde la terminal, esperaría ver algunos números aburridos. No con este comando.

rizo http://wttr.in/LOCATION

tiempo-comandos-curl

La información es proporcionada por una aplicación CLI llamada nosotros vamos, pero si no desea instalarlo, cURL puede obtener el pronóstico desde su interfaz web wttr.in. Todo lo que necesita es la ubicación para la que desea el pronóstico. Simplemente escriba el nombre de una ciudad, su código de aeropuerto o su dirección IP actual. Una nueva característica muestra la información sobre las fases lunares si escribe:

curl wttr.in/Moon

curl-commandos-moonphase

2. Descargar archivos y reanudar descargas

La descarga de archivos es algo que solemos hacer en el navegador. A veces querrás usar un administrador de descargas Obtenga un administrador de descargas gratuito para acelerar sus descargasSu navegador no hace un buen trabajo al administrar descargas grandes. Si está harto de velocidades de descarga lentas y fallas, pruebe con un administrador de descargas. Recomendamos 9 herramientas gratuitas para administrar sus descargas. Lee mas ; por ejemplo, cuando descarga varios archivos a la vez, o cuando desea pausar las descargas. Aunque cURL no es una opción popular para descargas simultáneas (se recomienda wget en su lugar), aún puede usarlo para ese propósito combinando sus potentes opciones (conmutadores). Primero, necesitará un enlace directo al archivo. En este ejemplo, utilizaremos un PDF de la revista Linux Voice.

rizo -O -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

El interruptor O mayúscula (-O) hace que cURL guarde el archivo con el nombre de archivo predeterminado (generalmente el del enlace en sí). Si quisiera guardarlo con un nombre diferente, usaría minúscula o seguido del nuevo nombre:

curl -o magazine.pdf -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

Por defecto, los archivos se guardan en el directorio actual (verifíquelo con el pwd mando). Para guardarlos en otro lugar, proporcione la ruta después del modificador -o. El interruptor -C - permite que cURL reanude la descarga. Lo pausaría presionando Ctrl + C en el terminal y reanudará ejecutando el mismo comando de descarga nuevamente:

curl-command-resume-download

cURL muestra el progreso de la descarga en un formato de tabla, con columnas que contienen información sobre la velocidad de descarga, el tamaño total del archivo, el tiempo transcurrido y más. Si no le gusta esto, puede optar por una barra de progreso más simple agregando - # o –progress-bar a su comando cURL.

Para descargar varios archivos a la vez, solo enumere los enlaces uno tras otro:

curl -O archivo1.txt -O archivo2.pdf -O archivo3.zip

Con la ayuda de otras herramientas de línea de comandos, podemos descargar por lotes todas las imágenes PNG y JPG de un blog de Tumblr:

rizo http://concept-art.tumblr.com/ El | grep -o 'src = "[^"] *. [png-jpg] "' | cortar -d \" -f2 | mientras lee l; hacer curl "$ l" -o "$ {l ## * /}"; hecho

En este caso, cortar y grep recopilar información sobre nombres de archivos y formatearla para que solo se muestren los archivos con extensiones especificadas. Si ejecuta el comando sin la última tubería:

rizo http://concept-art.tumblr.com/ El | grep -o 'src = "[^"] *. [png-jpg] "' | cortar -d \" -f2

solo obtendrá una lista de archivos que satisfacen nuestros criterios, pero en realidad no se descargarán. cURL puede obtener una lista de imágenes de un rango de páginas, siempre que el blog use paginación estándar:

rizo http://concept-art.tumblr.com/page/[1-7] El | grep -o 'src = "[^"] *. [png-jpg] "' | cortar -d \" -f2

Puede modificar el rango cambiando los números entre corchetes. De nuevo, este comando solo enumeraría las imágenes; para descargarlos, ejecute el comando completo en el directorio donde desea guardar las imágenes:

rizo http://concept-art.tumblr.com/page/[1-7] El | grep -o 'src = "[^"] *. [png-jpg] "' | cortar -d \" -f2 | mientras lee l; hacer curl "$ l" -o "$ {l ## * /}"; hecho

Si estás bien versado en expresiones regulares RegExr: herramienta de prueba de expresión regular basada en web Lee mas , puede mejorar el aspecto y la eficiencia de este comando, y compartir el resultado en los comentarios.

3. Administrar archivos en un servidor FTP

No escuchamos mucho sobre FTP en estos días, pero eso no significa que esté obsoleto. De hecho, muchos proyectos de código abierto y distribuciones de Linux comparten su software en servidores FTP. Dado que FTP es compatible con cURL, puede usarlo como cliente FTP simple FileZilla: por qué este cliente FTP triunfa sobre sus competidoresLas aplicaciones portátiles te hacen independiente. Almacenadas en una memoria USB o en su carpeta de Dropbox, todas sus herramientas esenciales estarán a su alcance donde quiera que vaya. No tendrá que instalar nada tampoco. Lee mas para cargar y descargar archivos. Puede explorar los archivos en un servidor FTP accediendo a los directorios:

curl ftp://ftp.debian.org/debian/

Para ingresar un subdirectorio, escriba su nombre seguido de una barra diagonal (/).

curl-command-ftp-browse

La descarga de archivos es similar a las descargas HTTP descritas en la sección anterior. Puede usar -o u -O y agregar -C si desea pausar las descargas.

curl -O ftp://ftp.heanet.ie/mirrors/linuxmint.com/stable/17.3/linuxmint-17.3-kde-64bit.iso

Aunque cURL no admite descargas recursivas (recuerde, ¡wget sí lo hace!), Aún puede descargar una variedad de archivos a la vez. La única condición es que los nombres de archivo sigan un patrón. Por ejemplo, podríamos descargar desde un servidor de alojamiento de fondos de pantalla donde todos los fondos de pantalla se denominan "wallpaperNUMBER":

curl -O ftp://ftp.myserver.com/files/wallpaper[0-120font>.jpg

Algunos servidores FTP requieren autenticación antes de que pueda descargar archivos. cURL le permite iniciar sesión con la opción -u (usuario):

curl -u nombre de usuario: contraseña -O ftp://ftp.protectedserver.com/files/example.txt

También puede cargar archivos a un servidor FTP con la opción -T (transferencia):

curl -u nombre de usuario: contraseña -T /home/user/Documents/test.txt ftp://ftp.myserver.com

Aquí también puede definir múltiples archivos como un rango. Esta característica a veces se llama "globbing". Si los nombres de archivo no siguen un patrón, solo enumérelos entre llaves (-T "{file1.txt, image27.jpg}"). Por el contrario, si tienen nombres similares, aplique la misma lógica del ejemplo de descarga de Tumblr y use corchetes (-T "foto [1-50] .jpg"). Asegúrese de proporcionar la ruta completa a los archivos si no están en su directorio actual.

4. Comprobar si un sitio web está caído

Todos hemos estado allí. Un sitio web que absolutamente necesita de repente deja de funcionar. Entonces Facebook no se cargará. Ante un verdadero problema del primer mundo, ¿qué haces?

Puede buscarlo en Google, pedirle a un amigo que lo pruebe por usted o usar uno de esos sitios de una sola porción que le indica si un sitio web no funciona. O simplemente puede encender la terminal y ejecutar cURL:

rizo -es https://www.twitter.com -L | grep HTTP /

El interruptor en mayúscula I (-I) verifica el encabezado HTTP de una página web, y la opción -L (ubicación) se agrega para hacer que cURL siga las redirecciones. Esto significa que no tiene que escribir la URL completa de Facebook; solo escribe facebook.com y cURL se encargará del resto gracias a -L. Si hay redireccionamientos, se mostrarán con su propio estado HTTP.

curl-command-http-status

El mensaje que nos interesa es "200 OK", lo que significa que todo está bien con el sitio web. Si realmente está abajo, verá algo como esto:

curl-command-http-status-down

Los códigos de estado HTTP son tan informativos como lo permita su comprensión de ellos. Este método no es completamente confiable, porque un sitio web puede devolver un código de estado que indica una solicitud procesada con éxito, sin embargo, estará vacío cuando lo abra en el navegador. Aún así, en la mayoría de los casos debería corresponder a la situación real y hacerle saber lo que está arriba o abajo.

5. Expandir URL acortadas

Las URL acortadas no son inherentemente malas. Sin ellos, sería difícil compartir enlaces en Twitter Cómo superar el límite de 140 caracteres de TwitterEl límite de 140 caracteres de Twitter puede ser una molestia. Afortunadamente, hay formas de evitarlo. Lee mas y otras redes sociales de carácter limitado. Algunos Servicios de acortamiento de URL Pruebe 10 diferentes acortadores de URL que le brindan beneficios adicionales¿Cuán diferente puede acortar un localizador de recursos uniforme? Bueno, el sistema de acortamiento es prácticamente un trabajo común, pero el truco parece estar en los extras que vienen con el servicio de acortamiento ... Lee mas Ofrecer análisis útiles también. Pero siempre existe el riesgo de que alguien esté tratando de ocultar contenido malicioso detrás de una URL acortada, o que un troll sea enmascarando un Rickroll Más allá de la parodia: 5 chistes de Internet que se convirtieron en algo más grande Lee mas (o algo mucho, mucho peor). Si alguna vez sospechas de una URL acortada por alguna razón, cURL puede ayudarte a expandirla y descubrir exactamente a dónde conduce:

curl -sIL http://buff.ly/1lTcZSM El | grep ^ Ubicación;

o

curl -sI http://buff.ly/1lTcZSM El | sed -n 's / Ubicación: * // p';

comandos-curl-expand

Puedes combinar cURL con grep o sed; La principal diferencia está en el formato. Sed es uno de esos herramientas que todo usuario de Linux debería saber Todo geek de Linux necesita saber Sed y Awk. Este es el por qué...Dos de las utilidades de Linux menos apreciadas criminalmente son Sed y Awk. ¿Pero que son ellos? ¿Cómo se usan? ¿Y cómo facilitan el procesamiento del texto? Lee mas , y complementa cURL en este y algunos otros casos de uso. No olvidemos que cURL puede descargar archivos de una URL acortada (siempre que la URL realmente apunte a un archivo):

curl -L -o filename.txt http://short.url

La sintaxis es la misma que con otras descargas de cURL, y la opción -L se encarga de la redirección de una URL acortada a la original.

6. Muestre su aprecio por el arte ASCII

Es cierto que esto no es particularmente útil, pero se ve genial. Con la ayuda de pv, una utilidad para monitorear el progreso de los datos, cURL puede mostrar animaciones ASCII en el terminal.

curl -s http://artscene.textfiles\.com/vt100/wineglas.vt El | pv -L9600 -q

curl-commandos-ascii-animación

Las opciones -s y -q mantienen ambos comandos en modo silencioso (silencioso). La opción -L aquí se refiere al comando pv y le permite modificar la velocidad de transferencia de datos en bytes por segundo. En otras palabras, si la animación se mueve demasiado rápido o demasiado lento, intente jugar con ese número. Además de las animaciones, cURL puede mostrar arte ASCII simple y estático:

curl-commandos-asciiart

La Web tiene muchos sitios web con todo tipo de arte ASCII: desde piezas increíblemente detalladas y de alta calidad hasta material extraño, tonto e incluso NSFW. Esta técnica de arte digital se remonta a la década de 1960, y hoy es parte de Cultura e historia de internet 7 tendencias antiguas de Internet que afectan la web hoyEs posible que la web de hoy no se vea o se sienta como la web de la década de 1990, pero se sorprenderá de cuánto es realmente lo mismo cuando se sumerge bajo la superficie. Lee mas , mantenido vivo en numerosas colecciones y herramientas que te permiten convertir texto e imágenes a arte ASCII Arte ASCII: Imagen y texto al convertidor ASCII Lee mas . Puedes usarlo para decorar tu terminal o para bromear con tus amigos, lo que sea que flote en tu bote.

7. Experimenta con las redes sociales

Usar las redes sociales desde el terminal no es nada nuevo: ya te hemos mostrado clientes de Twitter de línea de comandos para Linux 5 clientes de Twitter Slimline y Command Line para UbuntuDurante un tiempo, la comunidad de Linux ha estado clamando desesperadamente por un buen cliente de Twitter. Decidimos estudiar el panorama actual del cliente Linux Twitter, buscando aplicaciones livianas y utilizables, con algunos resultados interesantes. Lee mas . Si bien es probable que no cambie a cURL como su herramienta de socialización en línea, es bueno saber que puede publicar en Facebook con él, ya que descrito aquí Cómo publicar en Facebook desde la línea de comandos ahora que FBCMD está muertoImagine abrir una ventana de comandos en su PC, escribir un comando de una sola línea y publicar instantáneamente en Facebook sin siquiera abrir un navegador u otra aplicación. Lee mas . Notarás que, técnicamente, cURL no lo hace solo; Una combinación de herramientas hace el trabajo.

curl-facebook11

En cuanto a Twitter, solía ser posible administrarlo directamente desde el terminal con cURL. Luego Twitter cambió su API, y ahora hay un cliente cURL especial para Twitter llamado Twurl. No es lo más fácil de usar, especialmente para un principiante, y requiere autenticación con la Plataforma de anuncios de Twitter. Esto tiene sentido si eres un desarrollador o un usuario avanzado, pero no tanto si solo quieres tuitear desde la línea de comandos. Aún así, hay maneras de divertirse con Twitter. Puede usar cURL para verificar el recuento de seguidores de un usuario:

curl -s https://twitter.com/username El | grep -o '[0-9,] * Seguidores';

comandos-curl-twitter-seguidores

8. Encuentra tu dirección IP externa

Encontrar su dirección IP local es bastante fácil: simplemente ejecute ifconfig o consulte su applet de gestión de red. Para la IP externa, la mayoría de las personas usan sitios web especializados para obtener esta información. Aún así, algunas cosas son solo más fácil de hacer desde la terminal 5 cosas más fáciles de hacer en la línea de comandos de Linux Lee mas , y este podría ser uno de ellos. Tú también puedes crear un alias Cómo definir alias de línea de comando en cualquier sistema operativoYa hemos hablado y recomendado que se familiarice con el terminal de línea de comando de su computadora varias veces en el pasado. Tina escribió un buen manual para usuarios de Windows con una Guía para principiantes sobre el comando de Windows ... Lee mas para el comando cURL. Existen varios servicios en línea que cooperan con cURL:

curl ipinfo.io
curl -s https://4.ifcfg.me
curl -s http://whatismyip.akamai.com
curl ifconfig.me
curl -s icanhazip.com

Algunos pueden darle más información sobre cualquier dirección IP externa:

curl ipinfo.io/207.46.13.41
curl ifconfig.me/207.46.13.41

curl-command-ipaddress

Todo lo que tienes que hacer es elegir un servicio. Si no está decidido, simplemente inclúyalos en su alias, como soluciones de respaldo.

9. Pegar texto y compartir imágenes

Romper tu flujo de trabajo nunca es bueno para productividad y enfoque 5 herramientas que te ayudan a concentrarte y hacer un trabajo realLa batalla por una mejor productividad y una existencia libre de distracciones no se puede ganar solo con el autocontrol. Aplicaciones y herramientas están yendo al rescate. Lee mas . Si realiza la mayor parte de su trabajo en la terminal, cambiar a un navegador solo para compartir algunos archivos puede ser poco práctico, si no molesto. Afortunadamente, algunos servicios de pastebin y uso compartido de archivos nacieron para trabajar con cURL, por lo que puede usarlos directamente desde el terminal, sin una cuenta de usuario.

Clbin y Sprunge.us tienen una sintaxis similar Con Clbin, canaliza un archivo local o la salida de un comando, y devuelve un enlace a su texto cargado:

cat textfile.txt | curl -F 'clbin =

También admite cargas de imágenes (PNG, JPG y GIF):

curl -F '[email protected]' https://clbin.com

Si desea utilizar Sprunge.us en su lugar, escriba:

cat textfile.txt | curl -F 'sprunge =

Sprunge.us no admite la carga de imágenes por ahora.

Ix.io se basa en el mismo principio que los dos servicios anteriores, con algunas características adicionales. Para cargar un archivo, escriba:

cat file.txt | curl -F 'f: 1 =

o

curl -F 'f: [email protected]' ix.io

Cuando obtiene un enlace al texto cargado, puede modificar su URL para mostrar el resaltado de sintaxis (con ix.io/yourpaste+, ix.io/yourpaste/o ix.io/yourpaste/language para un lenguaje de programación o scripting específico). También es posible limitar cuántas veces se puede ver un enlace modificando el número después del 'leer: 1' valor:

cat file.txt | curl -F 'f: 1 =

Ix.io está destinado principalmente a archivos basados ​​en texto, como el código fuente o los registros del sistema. Si desea cargar una variedad de formatos de archivo, use Transfer.sh. Admite imágenes, cifrado de archivos y mantiene sus archivos en línea durante dos semanas. Puede cargar hasta 5 GB de datos a Transfer.sh. Así es cómo:

curl --upload-file bunnies.jpg https://transfer.sh/bunnies.jpg

Usted es libre de definir el nombre del archivo cargado. Para cargar varios archivos, enumérelos uno tras otro con la opción -F:

curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/

10. Comprobar correo no leído en GMail

Existe un enorme potencial para desbloquearse en cURL si está dispuesto a profundizar en los detalles de los protocolos relacionados con el correo electrónico (SMTP, POP, IMAP). Para una verificación rápida por correo electrónico, este comando servirá. Analiza su feed GMail y formatea la salida (asunto del correo electrónico y remitente) con tr, awk, sed y / o grep comandos Tenga en cuenta que esta solución es extremadamente insegura porque expone sus credenciales de inicio de sesión a cualquier persona que tenga acceso a su terminal. La primera versión muestra el nombre del remitente, mientras que la segunda solo imprime asuntos de correo electrónico no leídos:

curl -u nombre de usuario: contraseña --silent " https://mail.google.com/mail/feed/atom" El | tr -d '\ n' | awk -F '' '{para (i = 2; i <= NF; i ++) {print $ i}} '| sed -n "s /


curl -u nombre de usuario: contraseña --silent " https://mail.google.com/mail/feed/atom" El | grep -oPm1 "(? <=) [^

curl-command-check-gmail

¿Qué más puede hacer RURL?

cURL rara vez se usa como un comando independiente. La mayoría de las personas lo usan como parte de un script o una aplicación. Aún así, es posible crear frases prácticas con cURL, como hemos demostrado aquí. Muchos de estos ejemplos fueron adaptados de CommandLineFu CommandLineFu: increíble colección de gemas de línea de comandos [Linux y Mac]Explore una variedad de comandos increíblemente útiles. Ya sea que sea un administrador de sistemas veterano o un neófito de línea de comandos que se esfuerza por descubrir más, CommandLineFu es una colección de comandos basada en votos que le brinda miles de ideas ... Lee mas , una fuente fantástica de hacks inteligentes de línea de comandos, y no debes considerarlos como si estuvieran escritos en piedra.

Con suficiente conocimiento y experiencia, podemos modificar cada comando, formatearlo de manera diferente o reemplazarlo completamente con una mejor solución. ¿Puedes mejorar nuestros comandos sugeridos de cURL? ¿Conoces otros usos geniales para cURL? Comparte tus consejos en los comentarios.

Créditos de imagen: Introducción interior a la línea de comando por Osama Khalid a través de Flickr.

Ivana Isadora es escritora y traductora independiente, amante de Linux y fanática de KDE. Ella apoya y promueve software libre y de código abierto, y siempre está buscando aplicaciones nuevas e innovadoras. Descubra cómo ponerse en contacto aquí.