Tamaño del historial de bash

Abdul Mateen 20 junio 2023
  1. Descripción general del historial de Bash
  2. Use el comando Bash history para ver el historial de Bash
  3. Tamaño del historial de bash
  4. Modificar el tamaño del archivo de historial de Bash
  5. Establecer tamaño de archivo de historial de Bash ilimitado
  6. Controla el historial de Bash
  7. Guarde el historial en HISTFILE antes de cerrar la sesión
Tamaño del historial de bash

En este tutorial, aprenderemos sobre el historial de Bash, su tamaño y cómo podemos cambiar el tamaño de nuestro historial y los límites de manejo. Antes de pasar a nuestro tema, primero descubramos por qué necesitamos el historial en un shell Bash y cómo podemos tomarlo.

La mayoría de los desarrolladores, administradores de sistemas e ingenieros de aplicaciones de software pasan mucho tiempo en la línea de comandos de Linux. Siendo humanos, cometen errores de tipeo.

Además, muchos comandos tienen una lista de parámetros/opciones (con su respectivo orden). Por lo tanto, es difícil recordarlos en su orden exacto.

Por lo tanto, la historia nos ayuda a recordar el comando anterior escrito en el shell Bash.

Descripción general del historial de Bash

En términos de historial, Bash realiza un seguimiento de los comandos, archivos y accesos directos. Los usuarios pueden escribir en la línea de comando con la utilidad historial.

La utilidad historial proporciona información útil. Ayuda a rastrear cómo se pueden haber producido cambios en el sistema actual o en la cuenta.

Bash tiene dos comandos integrados relacionados con el historial de Bash:

  1. historia: este comando proporciona una lista de los comandos utilizados anteriormente de su historial de Bash, y también le permite modificar el historial de Bash
  2. fc - Este comando realiza todas las tareas del comando historial y permite la ejecución del comando.

Toda la información sobre el historial de Bash se guardará en el archivo ~/.bash_history para los usuarios de Bash, mientras que podría ser solo .history para otros usuarios.

Comencemos con nuestro comando historial y veamos cómo funciona.

Use el comando Bash history para ver el historial de Bash

Si desea ver su historial completo, puede escribir el comando historia en el shell. Enumerará todo el historial del archivo de historial.

$ history

La salida se verá así:

	1  ping google.com
    2  sudo apt update
    3  ping google.com
    4  java --version
    5  sudo apt install openjdk-17-jre-headless
    6  sudo apt-get install gcc
    7  sudo apt-get install gpp
    8  sudo apt-get install g++
    9  sudo apt-get install mingw-w64
   10  sudo apt-get install codeblocks
   11  codeblocks
   12  sudo apt update
   13  sudo apt update mu-editor
   14  sudo apt install mu-editor
   15  sudo apt update
   16  python3 --version
   17  clear
   18  snap find pycharm
   19  sudo snap install pycharm-professional --classic
   20  clear
   21  cd desktop/python
   22  cd desktop/python task5.py
	...

También hay otros comandos útiles de historial de Bash que no explicaremos, pero puede leerlos desde este sitio web.

El comando fc en Bash en Linux también se conoce como el comando fix. Principalmente, se utiliza para modificar comandos de varias líneas.

El parámetro -l con el comando fc muestra el historial de comandos anteriores.

Veamos el siguiente ejemplo del comando y su salida:

$ fc -l
302	 284 ./a.out
303	 285 gcc execve1.c -o e1
304	 286 gcc execve2.c
305	 287 ./a.out
306	 288 $ sudo snap install whatsdesk
307	 289 sudo snap install whatsdesk
308	 290 cd ..
309	 291 cd CodeForces/
310	 292 pwd
311	 293 history
312	 294 1  ping google.com
313	 295 ls
314	 296 wc Test.c
315	 297 fc -l
316	 298 ls
317	 clear

Tamaño del historial de bash

Si habla del archivo de historial de Bash, cree que también hay algunos datos. El valor predeterminado del archivo de historial de Bash es 500 a 1000.

Es el número máximo de entradas en el archivo histórico. Pero no es permanente, ya que podemos configurar el tamaño de nuestro historial en la medida que queramos usando diferentes comandos.

Explorémoslos.

Configurar el historial de Bash

Para configurar el historial de comandos de Bash, debe realizar cambios en el archivo ~/.bashrc. El archivo ~/.bashrc se puede actualizar usando el siguiente comando nano:

$ nano ~/.bashrc

Una vez que haya modificado, presione Ctrl+O seguido de Ctrl+X para guardar y cerrar el nano editor. Luego, ejecute los siguientes comandos para recargar la configuración de Bash:

$ source ~/.bashrc

o

$ . ~/.bashrc

Ambos comandos harán modificaciones en el archivo de historial de Bash.

Modificar el tamaño del archivo de historial de Bash

Las variables HISTSIZE y HISTFILESIZE están relacionadas con el historial de Bash. La variable HISTSIZE tiene un recuento de los comandos Bash máximos que se almacenarán en caché, mientras que la variable HISTFILESIZE tiene un recuento de los comandos principales almacenados en el archivo de historial.

De forma predeterminada, podemos mantener un máximo de 500 comandos en el archivo de historial.

Podemos ver estos valores imprimiendo estas variables; la salida puede variar en diferentes máquinas/configuraciones. Aquí hay una ejecución de muestra y el resultado relacionado:

$ echo $HISTSIZE
$ echo $HISTFILESIZE
1000
2000

Podemos configurar estos valores agregando las siguientes líneas en el archivo ~/.bashrc:

$ HISTSIZE = 6000
$ HITFILESIZE = 6000

Nuevamente, podemos imprimir estas variables para verificar los valores:

$ echo $HISTSIZE
$ echo $HISTFILESIZE
6000
6000

Establecer tamaño de archivo de historial de Bash ilimitado

La sección anterior analiza el método para modificar el tamaño del historial en Bash. Sin embargo, a veces es útil dejar que se establezca en un tamaño sin restricciones. ¿Cómo haremos eso? ¡Vamos a explorar!

También puede configurar el tamaño de su historial de Bash o el tamaño total del archivo siguiendo estos pasos:

  • Cambie el archivo de historial de Bash. Como puede leer en StackOverFlow, hay algunos problemas con el archivo de historial de Bash, ya que se trunca en algunos casos.

    Podemos superar este problema cambiando la variable de entorno HISTFILE para usar un directorio diferente.

    export HITSFILE= ~/.history
    

    HISTFILE se refiere a la ruta/ubicación del archivo de historial (el valor predeterminado es ~/.bash_history).

  • Aumentar el tamaño de la historia. Establezca las variables HISTFILESIZE y HISTSIZE en una cadena vacía para que el tamaño del historial de Bash sea ilimitado.
    $ export HITSFILESIZE=
    $ export HITSIZE=
    
  • Copiar el historial existente. Aunque estamos usando un nuevo archivo de historial, no debemos perder los comandos de archivo anteriores, por lo que copiaremos el contenido del archivo anterior al nuevo.
    $ cp ~/.bash_history ~/.history
    

Controla el historial de Bash

Puede excluir comandos del historial de Bash para evitar el ruido de salida o por razones de seguridad. Puede hacer esto usando el comando de control de historial HISTCONTROL, que controla qué historial se almacena.

Puede especificarlo para ignorar las entradas duplicadas y las entradas con espacios en blanco iniciales en su archivo ~/.bashrc.

  1. ignorar espacio: elimina los comandos que comienzan con una lista de historial de espacio.
  2. ignoredups: esto elimina los comandos duplicados.
  3. ignoreboth: esto habilita tanto ignoredups como ignorespace.
  4. borrados- Esto elimina los duplicados de toda la lista.
$ export HISTCONTROL=ignorespace:ignoredups

También puede controlar los comandos para que sean ignorados usando la variable HISTIGNORE. Es una lista de patrones separados por dos puntos en los que podemos especificar todos los comandos que queremos omitir del historial.

Por ejemplo, si desea ignorar los comandos básicos y más frecuentes (por ejemplo, ls y pwd) en la lista de historial, escriba la siguiente línea en el archivo ~/.bashrc:

$ export HISTIGNORE="ls:pwd:"

Puede hacer más con el historial de comandos de Linux Bash que repetir los comandos antiguos.

Guarde el historial en HISTFILE antes de cerrar la sesión

Los comandos se escriben en el archivo Bash solo después de que el usuario cierra la sesión. Sin embargo, la opción de escritura está disponible con el comando historial para escribir el historial en el archivo antes de cerrar la sesión.

La sintaxis es:

$ history -w

Este comando escribirá todo el historial de comandos de la sesión actual en el HISTFILE. Después de esto, el script de comando estará disponible para uso futuro.

En este artículo, finalmente, hemos cubierto el historial de Bash, el tamaño del historial y el tamaño del archivo o cómo podemos modificar el historial de Bash y su tamaño a un rango limitado o ilimitado.