Sugerencia rápida de Linux: descarga y eliminación de etiquetas en un solo paso

La forma tradicional de descargar y descomprimir algo en el terminal sería algo como esto: wget http://wordpress.org/latest.tar.gz tar xvzf latest.tar.gz

La mayoría de las veces, cuando descargo algo, es un archivo de algún tipo, generalmente un tarball o un archivo zip. Esto podría ser algún código fuente para una aplicación que no está incluida en el árbol de Portage de Gentoo, alguna documentación para una aplicación corporativa interna o incluso algo tan mundano como una nueva instalación de WordPress.

La forma tradicional de descargar y descomprimir algo en el terminal sería algo como esto:

wget http://wordpress.org/latest.tar.gz

tar xvzf latest.tar.gz

rm latest.tar.gz

O tal vez la forma más compacta:

wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz

De cualquier manera es un poco torpe. Esta es una operación muy simple, un shell poderoso como bash debería permitir que dicha tarea se realice de una manera más «hábil».

Bueno, gracias a un pequeño comando útil «curl», podemos lograr el desorden anterior en una sola declaración:

curl http://wordpress.org/latest.tar.gz | tar xvz

No hay archivos temporales de los que deshacerse, no hay que perder el tiempo con símbolos de unión. En resumen, un comando altamente compacto y eficiente. De hecho, desde un punto de vista teórico, el método de rizo puede ser más rápido que el desorden concatenado wget/tar/rm ya que la tubería stdout usará RAM como búfer si es posible, mientras que wget y tar (con el interruptor -f) deben leer/escribir directamente desde un disco.

Por cierto, tar con la opción -v (la forma en que lo estamos usando en todos los ejemplos anteriores) imprime cada nombre de archivo en stdout ya que cada uno no está marcado. Esto puede interferir con la salida agradable de curl ncurses que muestra el estado de descarga. Podemos silenciar el alquitrán invocandolo sin -v de esta manera:

curl http://wordpress.org/latest.tar.gz | tar xz

¡Y eso es todo!

Rate article
labsfabs.com
Add a comment