Si pasas mucho tiempo trabajando en Linux, tiene sentido aprender a optimizar el uso de las opciones de la línea de comandos, especialmente el tiempo que pasas escribiendo comandos. La mayoría de los usuarios de Linux están familiarizados con el historial básico de la línea de comandos de Linux. La forma más sencilla de evitar teclear un comando es pulsar la tecla de flecha hacia arriba hasta encontrar el comando, o utilizar el simple !! para el último comando ejecutado. Hoy te mostraremos algunas formas relativamente desconocidas, y sin embargo efectivas, de usar el historial de Linux para acelerar tu forma de trabajar.

Extiende el humilde !! para que trabaje para ti

Digamos que ejecutaste un comando que requería privilegio de root, pero te olvidaste de hacer un sudo. En lugar de escribirlo de nuevo, o navegar hacia arriba y luego hacia la izquierda, esto es lo que puedes hacer

$ touch build_04052014.tgztouch: cannot touch’build_04052014.tgz’: Permiso denegado $ sudo!!sudotouch new_binary[sudo] contraseña para richa:

Si quieres guardar el comando anterior en un nuevo script, así es como puedes hacerlo, sin tener que escribirlo

$ touch build_04052014.tgz$ echo!!> script1.sh$ cat script1.shtouch build_04052014.tgz

Buscar y ejecutar el comando desde el historial

Tener acceso al último comando ejecutado tiene un uso limitado. A veces querrás buscar en el historial para encontrar una orden oscura o realmente grande que hayas escrito. Una simple búsqueda ![keyword] te permite acceder a ella. Por ejemplo, tienes un comando grande que has ejecutado por la mañana, y no recuerdas bien las opciones que le diste, pero todavía quieres ejecutarlo de nuevo. Si esto es lo que era una captura de pantalla de tu historial de ese momento:

Entonces, ¿cómo se ejecuta ese comando de nuevo? Simplemente haz:

$ !makemake brutus.mk &&tar brutus/* brutus.tgz &&cp brutus.tgz ../outputBuilding….

Cómo trasladar un argumento del comando anterior

A veces, puede que no quiera ejecutar un comando anterior, sino simplemente trasladar el argumento. Puede utilizar el operador “!$” como se muestra a continuación.

Si había varios argumentos en su comando anterior, y quiere acceder sólo al primero, puede usar “!^”

$ ls*.png *.txt *.tgzbuild_04052014.tgz OOO2.png out2.png unix.txtOOO1.png out1.png out3.png windows.txt $ ls-a!^ls-a*.pngOOO1.png OOO2.png out2.png out3.png

Para acceder al argumento número x, basta con utilizar “![comando_previo]:[número_de_argumento]”. El ejemplo siguiente lo muestra más claramente.

$ ls*.png *.txt *.tgzbuild_04052014.tgz OOO2.png out2.png unix.txtOO1.png out1.png out3.png windows.txt $ ls-a!ls:3ls-a*.tgzbuild_04052014.tgz

¿Qué pasa si tienes algún comando que no quieres que aparezca en el historial en absoluto – si sólo quieres eliminar los duplicados y tener un historial más limpio. Puedes establecer la variable de entorno HISTCONTROL para manejar esto. Así es como se hace.

$ export HISTCONTROL = erasedups

Evitar que un comando aparezca en el historial

A veces, puede querer evitar que comandos simples aparezcan en el historial, como “ls” o “pwd”. En estos casos, puedes evitar que aparezcan en el historial utilizando de nuevo el comando HISTCONTROL, como hicimos en el ejemplo anterior. Sin embargo, normalmente no es una buena idea ocultar un comando para que no aparezca en el historial.

Para ocultar un comando, primero hay que configurar el HISTCONTROL para que ignore los espacios, es decir, que ignore todos los comandos que empiezan por espacio. Luego, cuando escribas el comando, asegúrate de añadir un espacio extra antes de escribirlo. Esto evitará que el historial recuerde el comando.

$ export HISTCONTROL = ignorespace

Sólo en caso de que por alguna extraña razón, quieras desactivar tu historial de Linux por completo. Para ello, puede utilizar el siguiente comando:

$ export HISTSIZE = 0

Si buscas tu historial ahora, estará en blanco. Tenga en cuenta que el comando HISTSIZE también se puede utilizar para cambiar el tamaño de su historia.

Si quieres almacenar más comandos en el historial, abre el archivo .bash_profile

en tu directorio Home y cambia el HISTSIZE (hazlo más grande o más pequeño).

Crédito de la imagen: bash command-line linux shell terminal , Introducción a la línea de comandos cover