# Guía Completa del Comando history en Linux

- Link: https://binariocero.com/articulos/guia-completa-del-comando-history-en-linux
- Published: 2024-06-05T07:53:22+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

El comando `history` es una herramienta poderosa en Linux que permite a los usuarios
ver y manipular el historial de comandos ejecutados en la terminal. Es especialmente
útil para recordar comandos anteriores, reutilizarlos o corregir errores. En este
artículo, exploraremos cómo usar el comando `history`, su configuración y algunos
ejemplos prácticos.

## ¿Qué es el Comando `history`?

El comando `history` muestra una lista de comandos que has ejecutado previamente
en tu terminal. Cada comando se muestra con un número asociado que puede usarse 
para referenciarlo en futuras operaciones.

## Cómo Usar el Comando `history`

### Mostrar el Historial de Comandos

Para ver una lista de todos los comandos que has ejecutado en la sesión actual, 
simplemente ingresa:

    ```wp-block-preformatted
    history
    ```

Esto mostrará una lista numerada de comandos.

### Ejecutar Comandos Anteriores

Puedes reutilizar un comando anterior usando su número de referencia. Por ejemplo,
para ejecutar el comando número 42, usa:

    ```wp-block-preformatted
    !42
    ```

También puedes repetir el último comando ejecutado con:

    ```wp-block-preformatted
    !!
    ```

O ejecutar un comando que comienza con una palabra específica, por ejemplo, para
ejecutar el último comando que empieza con `ls`, usa:

    ```wp-block-preformatted
    !ls
    ```

### Buscar Comandos en el Historial

Puedes buscar comandos en tu historial usando la combinación de teclas `Ctrl + r`.
Esto inicia una búsqueda incremental inversa:

 1. Presiona `Ctrl + r` y comienza a escribir parte del comando que deseas encontrar.
 2. Una vez que encuentres el comando deseado, presiona `Enter` para ejecutarlo o `
    Ctrl + j` para seleccionarlo sin ejecutarlo.

### Configurar el Historial de Comandos

#### Variables de Entorno

Puedes ajustar el comportamiento del historial usando variables de entorno:

 * `HISTSIZE`: Determina cuántos comandos se mantienen en el historial de la sesión
   actual.
 * `HISTFILESIZE`: Define el número máximo de líneas que el archivo de historial
   puede contener.

Por ejemplo, para establecer que el historial guarde los últimos 1000 comandos, 
añade las siguientes líneas a tu archivo `~/.bashrc`:

    ```wp-block-preformatted
    HISTSIZE=1000HISTFILESIZE=1000
    ```

#### Eliminar Comandos del Historial

Para eliminar un comando específico del historial, puedes usar:

    ```wp-block-preformatted
    history -d <número>
    ```

Donde `<número>` es el número del comando en el historial.

Si deseas limpiar todo el historial, usa:

    ```wp-block-preformatted
    history -c
    ```

### Guardar y Cargar el Historial

El historial de comandos se guarda en un archivo (generalmente `~/.bash_history`).
Para asegurarte de que tu historial se guarde en este archivo al cerrar la terminal,
usa:

    ```wp-block-preformatted
    history -a
    ```

Para leer el contenido del archivo de historial y cargarlo en la sesión actual, 
usa:

    ```wp-block-preformatted
    history -r
    ```

## Ejemplos de Uso del Comando `history`

### Repetir un Comando Anterior

Supongamos que ejecutaste un comando complejo y quieres reutilizarlo:

    ```wp-block-preformatted
    $ ls -lh /var/log
    ```

Puedes repetirlo simplemente usando `!!`:

    ```wp-block-preformatted
    $ !!
    ```

### Ejecutar un Comando Similar

Si ejecutaste un comando y deseas repetirlo con una pequeña modificación, puedes
usar `!` con parte del comando:

    ```wp-block-preformatted
    $ grep "error" /var/log/syslog
    ```

Para repetir el comando anterior pero buscando "warning" en lugar de "error":

    ```wp-block-preformatted
    $ !grep:s/error/warning/
    ```

### Buscar y Ejecutar un Comando

Usa `Ctrl + r` para buscar y ejecutar un comando anterior sin tener que escribirlo
nuevamente:

 1. Presiona `Ctrl + r` y escribe `ls -lh`.
 2. Una vez que encuentres el comando deseado, presiona `Enter` para ejecutarlo.

## Conclusión

El comando `history` es una herramienta esencial para cualquier usuario de Linux
que desee mejorar su eficiencia en la terminal. Con la capacidad de revisar, buscar
y reutilizar comandos, `history` simplifica muchas tareas repetitivas y reduce errores.
Configura tu historial según tus necesidades y aprovecha al máximo esta potente 
herramienta.
