Dominar el historial de la línea de comandos en Linux

Dominar el historial de la línea de comandos en Linux

Si pasa 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 pasa 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 escribir un comando es presionar la tecla de flecha hacia arriba hasta que encuentre su comando, o usar el simple !! para el último comando ejecutado. Hoy le mostraremos algunas formas relativamente desconocidas pero efectivas en las que puede usar el historial de Linux para acelerar su forma de trabajar.

Extiende a los humildes!! trabajar para ti

Digamos que ejecutó un comando que requería privilegios de root, pero olvidó hacer un sudo. En lugar de escribirlo de nuevo o navegar hacia arriba y luego hacia la izquierda, esto es lo que puede hacer

$ touch build_04052014.tgz
touch: cannot touch 'build_04052014.tgz': Permission denied
 
$ sudo !!
sudo touch new_binary
[sudo] password for richa:

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

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

LinuxHistoria1

Buscar y ejecutar comandos desde el historial

Tener acceso al último comando de ejecución tiene un uso limitado. A veces, querrá buscar en el historial para encontrar un comando oscuro o realmente grande que haya escrito. Un simple ! la búsqueda le permite acceder a ella. Por ejemplo, tenía un comando grande que ejecutaría por la mañana y no recuerda las opciones que proporcionó, pero aún desea ejecutarlo nuevamente. Si esto es lo que era una captura de pantalla de su historial de ese momento:

LinuxHistoria2

Entonces, ¿cómo ejecutas ese comando nuevamente? Solo haz:

$ !make
make brutus.mk && tar brutus/* brutus.tgz && cp brutus.tgz ../output
Building....

Cómo transferir un argumento del comando anterior

A veces, es posible que no desee ejecutar un comando anterior, sino simplemente continuar con el argumento. Puedes usar el “!$” operador como se muestra a continuación.

LinuxHistoria3

Si hubo varios argumentos para su comando anterior y desea acceder solo al primero, puede usar «!^

$ ls *.png *.txt *.tgz
build_04052014.tgz OOO2.png out2.png unix.txt
OOO1.png out1.png out3.png windows.txt
 
$ ls -a !^
ls -a *.png
OOO1.png OOO2.png out1.png out2.png out3.png

Para acceder al argumento número x, simplemente use «![prev_command]:[argument_number]“. El siguiente ejemplo lo muestra más claramente.

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

¿Qué sucede si tiene algún comando que no desea que aparezca en el historial en absoluto, si solo desea eliminar los duplicados y tener un historial más limpio? Puede configurar la variable de entorno HISTCONTROL para manejar esto. Aquí está cómo hacerlo.

$ export HISTCONTROL = erasedups

Evitar que un comando aparezca en el historial

A veces, es posible que desee evitar que aparezcan comandos simples en el historial, como «ls» o «pwd“. En tales casos, puede evitar que aparezcan en el historial utilizando nuevamente el comando HISTCONTROL, como hicimos en el ejemplo anterior. Sin embargo, por lo general no es una buena idea ocultar un comando para que no aparezca en el historial.

Para ocultar un comando, primero debe configurar HISTCONTROL para ignorar los espacios, es decir, ignorar todos los comandos que comienzan con un espacio. Luego, cuando escriba el comando, asegúrese de agregar un espacio adicional antes de escribir. Esto evitará que el historial recuerde el comando.

$ export HISTCONTROL = ignorespace

Por si acaso, por alguna extraña razón, es posible que desee deshabilitar su historial de Linux por completo. Para hacer eso, puede usar el siguiente comando:

Si busca su historial ahora, estará en blanco. Tenga en cuenta que el comando HISTSIZE también se puede usar para cambiar el tamaño de su historial. Si desea almacenar más comandos en el historial, abra el archivo .bash_profile en su directorio de inicio y cambie el HISTSIZE (hágalo más grande o más pequeño).

Credito de imagen: bash línea de comandos linux shell terminal , Introducción a la portada de la línea de comandos

Experto Geek - Tu Guía en Tendencias Tecnológicas