Usar y personalizar el historial de comandos bash

Usar y personalizar el historial de comandos bash
Bash Shell es el entorno de línea de comando predeterminado disponible en la mayoría de las distribuciones de Linux. Similar a todos los entornos de shell, mantiene un registro de comandos que el usuario ha ejecutado previamente. Este registro se mantiene y mantiene incluso reiniciamos nuestro sistema.

Es posible que conozca el comando de uso básico del historial, pero puede hacer mucho más que eso. El historial bash generalmente se almacena en el archivo ~/.bash_history. Le permite recordar y reutilizar el registro almacenado de una manera eficiente para obtener lo mejor de la función de ahorro de historial de bash. No solo esto, sino que también puede personalizar y controlar la salida del comando BASH de la manera que desee.

En este artículo, explicaremos cómo usar y personalizar de manera efectiva el historial de comandos de bash para aprovechar al máximo sus características.

Hemos usado Debian 10 para ejecutar los comandos y el procedimiento mencionados en este artículo.

Usando el historial de comandos de Bash

Viendo la historia de Bash

Para ver el historial completo de los comandos de shell, puede ejecutar el siguiente comando en la terminal:

$ Historia

Enumerará todo el historial para un usuario específico del archivo de historial almacenado específicamente para ese usuario. Verá todos los comandos que comienzan con un número asignado a cada uno de ellos. Enumerará los comandos más antiguos en la parte superior comenzando con el número 1 y los comandos más nuevos en la parte inferior.

Buscando la salida del historial

También puede buscar una palabra clave específica desde la salida del historial. Empareje el comando Historial con GREP y una palabra clave específica para buscar comandos que coincidan con su palabra clave especificada de la siguiente manera:

$ Historia | GREP [Palabra clave]

Por ejemplo, para enumerar todos los comandos que incluyen la palabra clave "Buscar", el comando sería:

$ Historia | Grep encontrar

Visualización de los últimos comandos n

El comando de historial de forma predeterminada enumera el último número de 1000 comandos ejecutados por un usuario. En caso de que solo enumere un número específico, digamos que N número de comando ejecutado, ejecute el siguiente comando en el terminal:

$ HISTORIA N

Por ejemplo, para enumerar los últimos 7 comandos ejecutados, el comando sería:

$ HISTORIA 7

Para ver el número de los últimos comandos de ejecución que incluye una palabra clave específica, puede usar la siguiente sintaxis:

$ Historia | Palabra clave GREP | Tail -n

Un ejemplo de esto sería ver los últimos 4 comandos ejecutados con la palabra clave "java".

$ Historia | Grep Java | Tail -n

Ver los comandos más antiguos

Para ver el número N más antiguo de comandos, puede usar la siguiente sintaxis en la terminal:

$ Historia | Cabeza -n

Para ver el número N más antiguo de comandos que incluye una palabra clave específica, use la siguiente sintaxis:

$ Historia | Palabra clave GREP | Cabeza -n

Un ejemplo de esto sería ver los 4 comandos ejecutados más antiguos con la palabra clave "java".

$ Historia | Grep Java | Cabeza -4

Clear Bash History por completo

Para eliminar todo el historial de bash, ejecute el siguiente comando en la terminal:

$ HISTORIA -CW

Personalización del historial de comandos de bash

Para personalizar el historial de comandos BASH, tendremos que hacer cambios en ~/.archivo bashrc. Para editar el ~/.archivo bashrc, use el siguiente comando:

$ nano ~/.bashrc

Una vez que haya terminado de modificar el archivo, use Ctrl+O y Ctrl+X para guardar y cerrar el editor nano.

Luego ejecute el siguiente comando para aplicar las modificaciones:

$ fuente ~/.bashrc

Agregar fecha y marca de tiempo a la historia de Bash

Si desea mostrar fecha y marca de tiempo junto con el historial de comandos, puede hacerlo agregando la siguiente línea en ~/.BASHRC:

$ Export HistTimeFormat = ' %F, %t'

Ahora corre el historia comando y mostrará el historial de comando con los datos y la marca de tiempo correspondiente.

Aumento del tamaño de la historia de Bash

Bash por defecto mantiene 500 comandos en la lista de historial. Sin embargo, podemos cambiar este valor utilizando el valor de Histsize.

Para ver el tamaño actual del historial de bash, ejecute el siguiente comando en la terminal:

$ Echo $ histsize

Del mismo modo, el tamaño predeterminado del archivo del historial bash es 500. Es el número máximo de entradas que están contenidas en el archivo del historial.

Para aumentar el tamaño de la historia de Bash, digamos 10000, agregue las siguientes líneas en ~/.Archivo BASHRC:

$ Histsize = 10000
$ Histfilesize = 10000

Para verificar si el tamaño del historial de bash ha cambiado correctamente, ejecute los siguientes comandos en la terminal:

$ Echo $ histsize
$ echo $ histfilesize

Agregar comandos bash al archivo de historial

Cuando se cierra una sesión de bash, puede elegir sobrescribir o agregar los comandos en el archivo de historial utilizando la variable Histappend. Para ver la configuración actual, ejecute el siguiente comando en la terminal:

$ Shopt Histappend

La opción "ON" en la salida muestra que la opción Histappend está habilitada y los comandos se agregarán en el archivo del historial en lugar de sobrescribir. Mientras se muestra "apagado", la opción Histappend está deshabilitada y el archivo se sobrescribirá.

Abra el ~/.archivo bashrc y:

Agregue la línea siguiente, si desea agregar los comandos al archivo del historial en lugar de sobrescribir:

$ shopt -s histappend

O agregue la siguiente línea, si desea deshabilitar la opción de agregar y desea sobrescribir el archivo en salida:

$ shopt -u histappend

Almacena el historial de bash inmediatamente

Bash de forma predeterminada solo guarda la sesión en el archivo del historial de bash una vez que finaliza la sesión. Para cambiar este comportamiento predeterminado y hacerlo para guardar instantáneamente cada comando que haya ejecutado, puede hacer uso de pronto.

Editar el ~/.archivo bashrc y agregar la siguiente línea:

$ Apric_command = 'History -a'

Ahora, cada vez que ejecute cualquier comando, se agregará inmediatamente al archivo de historial.

Historia de la fiesta de control

Podemos controlar la forma en que Bash guarda nuestro historial de comando a través de la variable de histontrol. Podemos especificarlo para ignorar las entradas duplicadas y/o ignorar las entradas con espacios blancos líderes.

  • Ignorespace: elimina los comandos que comienzan con una lista de historial de espacio.
  • IgnoredUps - Elimine los comandos duplicados.
  • Ignoreboth: habilite los ignorados e ignorados
  • borrado ups- eliminar duplicados de toda la lista

Para aplicar estas funciones, abra el ~/.BASHRC y agregue la siguiente línea con valores separados por el colon de la siguiente manera:

$ Export HistControl = Ignorespace: IgnoredUps

Ignorar comandos específicos

También podemos controlar qué comandan ignorar en la historia utilizando un Histignore variable. Es una lista de patrones separados por colon en los que podemos especificar todos los comandos que queremos ignorar de la historia.

Por ejemplo, si no queremos enumerar los comandos básicos como History, LS, Comandos PWD en la lista de historial, entonces agregamos la siguiente línea en ~/.Archivo BASHRC:

$ Export Histignore = "History: LS: PWD:"

Con el historial de comandos de Bash Linux, puede hacer mucho más que simplemente repetir los comandos antiguos. En este artículo, hemos aprendido cómo usar el historial de bash para ver los comandos que se han ejecutado anteriormente y también aprendieron a controlar la forma en que Bash guardando el historial de comando.