Comando HISTCONTROL en Linux con ejemplos

En Linux, el comando de historial se puede usar para mostrar la lista de comandos que se han ejecutado recientemente. La variable HISTCONTROL es una lista de valores separados por dos puntos que controlan cómo se guardan los comandos en la lista del historial. La variable HISTCONTROL nos permite almacenar el historial de bash de manera más eficiente. Se puede usar para ignorar los comandos duplicados o los comandos con espacios en blanco iniciales o ambos.

Usos del comando HISTCONTROL:

  • Varios comandos se ejecutan varias veces mientras se trabaja en la línea de comandos. El tamaño predeterminado del historial es 500. Por lo tanto, el almacenamiento de varios comandos será un desperdicio de memoria. Aunque el tamaño del historial predeterminado se puede cambiar usando HISTFILESIZE, es favorable para eliminar los duplicados. Esto se puede lograr utilizando HISTCONTROL.
  • Cuando no queremos que ciertos comandos aparezcan en el historial, se puede lograr usando la variable HISTCONTROL. Podemos indicarle al historial que ignore el comando dando un espacio en blanco antes del comando.

Trabajando con el comando HISTCONTROL

1. ignoreups: Provoca que no se incluyan líneas que coincidan con la entrada anterior del historial. No agrega un comando al historial si es el mismo que el comando inmediatamente anterior. No parece más atrás en la lista de historial.

HISTCONTROL=ignoredups

El historial posterior a la ejecución de este comando no almacenará un comando que sea igual al comando más reciente utilizado. Considere que los siguientes comandos se agregan en secuencia después de usar ignoreups:

pwd
whoami
date
pwd
pwd
whoami

Cuando se ingresan dos comandos pwd consecutivamente, el segundo comando se ignora y no se agrega al historial. Pero si el comando inmediatamente anterior no es pwd, no se ignorará.

histcontrol

2. ignorespace: hace que las líneas que comienzan con un carácter de espacio en blanco no se incluyan en la lista del historial. Si no queremos que un comando se incluya en el historial, podemos usar espacios en blanco antes del comando para evitar su inclusión en la lista del historial.

HISTCONTROL=ignorespace

Tenga en cuenta que los siguientes comandos se agregan en secuencia después de usar ignorespace y no queremos incluir el comando de fecha, por lo que se puede agregar un carácter de espacio en blanco antes:

pwd
whoami
date
ls -l | wc -l

Como hay un espacio en blanco antes del comando de fecha, no aparecerá en la lista del historial.

histcontrol ignorespace

3. ignoreboth: se usa cuando queremos usar tanto ignorespace como ignoreups.

HISTCONTROL=ignoreboth

Es lo mismo que:

HISTCONTROL=ignorespace:ignoredups

El historial no incluirá comandos con espacios en blanco iniciales ni duplicados. Considere que los siguientes comandos se agregan en secuencia después de usar ignoreboth:

whoami
pwd
pwd
pwd

Solo se agrega un comando pwd a la lista del historial, ya que un comando pwd tiene un carácter de espacio en blanco delante de él, mientras que el otro es el mismo que el comando más reciente incluido en la lista del historial.

histcontrol ignoreboth

4. erasedups: permite que todas las líneas anteriores que coincidan con la línea actual se eliminen de la lista del historial antes de que se guarde esa línea. La segunda línea y las siguientes de un comando compuesto de varias líneas no se prueban y se agregan al historial en cualquier caso del valor de HISTCONTROL. Su sintaxis es:

HISTCONTROL=erasedups

El historial después de que se use este comando no almacenará ningún elemento duplicado. Después de ejecutar un comando, lo comparará con otros comandos recientes antes de agregarlo al historial y, si se encuentra la coincidencia, el comando se ignora y no se almacena en el historial. Considere que los siguientes comandos se agregan en secuencia después de usar erasedups:

pwd
whoami
date
ls -l | wc -l
pwd
whoami

Los comandos whoami y pwd se han usado dos veces, pero no se agregarán al historial dos veces después de que se hayan implementado borrados. La salida se puede ver en la siguiente imagen:

hsicontrol erasedumps

Publicación traducida automáticamente

Artículo escrito por mharshita31 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *