10 buenos hábitos para manejar la consola (2/2)

Si el otro día os comentábamos los primeros 5 buenos hábitos para manejar la consola, hoy os traemos los siguientes 5 con lo que terminamos esta serie, que como es digo, es una traducción adaptada del original de la librería técnica de IBM.

6. Agrupa tus comandos en una lista

Muchas shells nos proporciona métodos para agrupar conjuntos de comandos juntos en una lista de forma que podamos pasar el total de la suma de sus salidas a través de pipelines o redirigir todos los flujos hacia el mismo lugar. Veamos dos formas de hacerlo.

Ejecutar una lista de comandos en una shell secundaria

Se usan paréntesis para encerrar una lista de comandos en un grupo simple. Haciéndolo de esta forma, los comandos se ejecutan en una nueva shell secundaria y te permite redirigir o si no, recoger la salida del conjunto, como en el siguiente ejemplo.

~ $ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && \
> VAR=$PWD; cd ~; tar xvf -C $VAR archivo.tar ) \
> | mailx admin -S "Archivo"

En este ejemplo, el contenido del archivo es extraído en el directorio tmp/a/b/c mientras que la salida de los comandos agrupados es enviada por correo al administrador.

Ejecuta una lista de comandos en la shell actual

Utiliza las llaves para marcar la lista de comandos que deben ejecutar en la shell actual. Estate seguro que incluyes espacios entre las llaves y los comandos (sino puedes tener problemas de interpretación). También, debes tener cuidado poniendo un punto y coma al final de la lista. Veamos un ejemplo para este caso:

~ $ { cp ${VAR}a . && chown -R guest.guest a && \
> tar cvf newarchive.tar a; } | mailx admin -S "Nuevo archivo"

7. Utiliza xargs además de find

Utiliza xargs como filtro para hacer un mejor uso de la salida de la orden find. De esta forma, podemos hacer algo con la salida de find. La estructura básica es la siguiente:

~ $ find criterio-búsqueda-archivos ruta | \
> xargs acción-a-realizar-con-salida

Podríamos usarlo por ejemplo para borrar todos los ficheros MP3 de un directorio en particular:

find /tmp -maxdepth 1 -name '*.mp3' -maxdepth 1 | xargs rm

Por ejemplo, los del directorio temporal sin mirar en subdirectorios (maxdepth es1).

8. Aprende a conocer cuando grep debería hacer la cuenta

Aunque con el parámetro -c le indicamos a grep que nos devuelva la cantidad de ocurrencias, no siempre funciona de forma correcta porque devuelve una salida por cada fichero, que a su vez muestra en diferentes líneas.

Para ello usamos:

~ $ grep -o and ruta | wc -l
3402

Siendo 3402, para este ejemplo, el número de ocurrencias.

9. Compara algunos campos en la salida, no sólo las líneas al completo

Para búsquedas en las que queremos definir que sólo haga comparaciones para ciertos campos, deberemos utilizar awk en lugar de grep. Veamos un ejemplo muy claro: estamos buscando ficheros cuya última modificación fue en diciembre. Sin embargo, tenemos un fichero de nombre “December”, aunque la modificación no sea en diciembre sí aparecería en el resultado usando grep.

~/tmp $ ls -l /tmp/a/b/c | grep Dec -rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 root root 238 Dec 03 08:19 README -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar ~/tmp $ read more

Leer más » 10 Comentarios

Talleres de Software Libre en la Universidad de Granada

A través de la lista de correo de lal Aula de Software Libre (LSL) de la Universidad de Córdoba me entero de que acaba de publicarse la lista oficial de talleres de software libre en la Oficina de Software Libre (OSL) de la Universidad de Granada.

Para más información os dejo el enlace de la entrada.

Leer más » 2 Comentarios

Código ajeno


ajeno

Hay ocasiones en las que te pones a mirar código de otra gente y te echas las manos a la cabeza… Hay que tener mucho cuidado con los comentarios despectivos porque muchas de esas veces el código más inmundo puede ser tuyo, recuerda que un hubo un día en el que no sabías programar…

Leer más » 13 Comentarios

SBackup, una alternativa a rsync

SBackup (Simple Backup) es una forma simple para realizar automáticamente copias de seguridad en nuestro escritorio Linux sin tener que usar la línea de comandos, caso que ya hemos comentado anteriormente usando la herramienta rsync.

La vía de instalación de SBackup es bien simple, desde el mismo gestor de paquetes, concretamente usando Synaptic en Ubuntu se realizará de forma trivial buscando SBackup.

Una vez instalado, nos dirigimos a través de un par de diálogos de confirmación incluyendo y excluyendo los directorios para la copia de seguridad, elegimos el destino de esta (con posibilidad remota) y listo. read more

Leer más » 4 Comentarios

Lo mejor de mi RSS del 27 de septiembre al 3 de octubre

Leer más » 2 Comentarios

JavaRA, la mejor forma de limpiar tantos JREs

Hoy es un día extraño. En el trabajo, decidido a limpiar un poco mi equipo, y desesperado por la lentitud que estaba cogiendo el arranque de Windows, sí estimados lectores, uso Windows, realmente no hay más remedio cuando tienes que usar ciertas aplicaciones que comparten DLLs con el sistema y que con Wine bajo Linux no son capaces de lanzarse. A lo que iba que me enrrollo, ya que iba a formatear la partición de Windows y para usar toda la RAM que tengo, pues decido instalar el 7 en lugar de XP. read more

Leer más » 3 Comentarios

Sincroniza tus SMS con tu cuenta Gmail en Android

Seguro que no soy el primero ni el único, que cada vez que cambia de móvil, porque lo pierdes o porque te compras uno nuevo, tiene problemas para mantener los datos de los contactos y los mensajes cortos.

Para mantener los contactos actualizados, incluso en diferentes terminales, y no sufrir problemas al cambiar, lo ideal es manejar algún servicio en la nube. Por compatibilidad y por comodidad, sobre todo si usas el correo de Gmail; lo mejor es usar tu cuenta de Google. Así te desentiendes de este tema y tienes todos los contactos en la nube con las ventajas que eso supone. read more

Leer más » 7 Comentarios

Un ejemplo de las posibilidades de un repositorio con aplicaciones de pago

Hace poco, hablábamos del hecho de que Ubuntu Software Center incluya aplicaciones de pago. El hilo de comentarios se animo (os doy las gracias porque hicisteis que fuera más interesante aún los comentarios que la entrada en sí) y he de decir, que a pesar de haber opiniones en ambos sentidos, hubo más a favor que en contra.

Yo soy de los que estoy a favor. ¿Por qué? Aparte de lo que ya comenté, hay noticias como esta que os traigo que apoyan mi opinión: Electronics Arts ha lanzado FIFA 2010 para Android. La gente podrá llegar, pagar X dólares y llevárselo. Será código cerrado y será muchas otras cosas más, pero lo que está claro es que será un punto a favor de Android. read more

Leer más » 4 Comentarios

El podcast de Linux Hispano – #045 – Entrevista a Andy Ramos

¡Hola a todos!

Acaba de lanzarse el cuadragésimo quinto número de El podcast de Linux Hispano, un podcast sobre Linux y Software Libre.

Esta semana tenemos una nueva entrevista. En este caso el entrevistado es Andy Ramos Gil de la Haza, abogado especializado en Propiedad Intelectual y, en general, Derecho del Entretenimiento, y desde 2006 codirige el Departamento de Propiedad Intelectual, Industrial y NN.TT. de Bardají & Honrado | Abogados. Podéis encontrar más información profesional suya en la página oficial: Andy Ramos Gil de la Haza. read more

Leer más » 3 Comentarios

Microsoft se rinde a un proyecto libre: WordPress sustituirá a sus Live Spaces

La plataforma Live! de Microsoft ha sido uno de los muchos intentos de la compañía de Redmond de agarrarse al carro de la Web 2.0. Aunque en el mercado del escritorio, todos debemos reconocer su éxito (a pesar de las prácticas monopolísticas), el mercado de la web no se le ha dado mal, se le ha dado peor.

Las grandes startup del sector han conseguido superar al gigante en muy poco tiempo. Lo único que medio se salva, en número de usuarios, es el decadente servicio de Hotmail y su mensajería instantánea. read more

Leer más » 9 Comentarios