Qué es el historial y cómo funciona en macos (bash y zsh)
La Terminal de macOS actúa como una herramienta versátil para ejecutar órdenes de sistema a través de shells como Bash o Zsh. Ambos shells mantienen un registro de los comandos ejecutados, conocido como historial de comandos. Este historial se almacena tanto en memoria durante la sesión actual como en un archivo persistente en el disco duro. En Zsh, el archivo se llama ~/.zsh_history, mientras que en Bash es ~/.bash_history.
El historial en memoria proporciona acceso rápido a los comandos recientes mediante las teclas de flecha arriba/abajo, mientras que el archivo persistente conserva los comandos entre sesiones. Es importante comprender la diferencia entre estos dos tipos de historial para gestionar efectivamente la privacidad y el almacenamiento de comandos.
Cómo consultar tu historial de terminal en mac
Existen métodos directos para revisar los comandos anteriores en la Terminal de macOS, ya sea mostrando el historial en pantalla o inspeccionando el archivo persistente.
Consultar en pantalla el historial reciente con history (bash y zsh)
history
history 20
history | head -n 10
history | less
El comando history muestra todos los comandos en memoria. Puede limitarse a las últimas entradas usando history 20 o combinarse con head o less para facilitar la navegación.
Leer el archivo histórico persistente
Para inspeccionar el archivo histórico en Bash y Zsh, utiliza:
cat ~/.bash_history
cat ~/.zsh_history
less ~/.zsh_history
Diferencias entre el historial en memoria y el archivo pueden surgir debido a configuraciones como HISTSIZE y HISTFILESIZE, que determinan cuántas entradas se almacenan.
Buscar y reutilizar comandos del historial (grep, ctrl+r y expansión)
Con un historial extenso, usar filtros es esencial. grep es una herramienta eficaz para localizar comandos específicos:
history | grep -i sudo
El uso de -i permite una búsqueda insensible a mayúsculas. Las expresiones regulares extendidas permiten búsquedas más complejas:
history | grep -E 'apt.*--purge'
history | grep 'apt|--purge'
La búsqueda inversa interactiva con Ctrl+R facilita encontrar y ejecutar comandos previos. Una vez localizado un comando, se puede re-ejecutar mediante su número de línea:
!281 # ejecuta la entrada con número 281
!! # repite el último comando
Borrar el historial en mac: sesión actual y archivo persistente
Vaciar la historia de la sesión actual
Para borrar el historial en memoria en Bash, el comando es:
history -c
En Zsh, history -c también es efectivo. Es esencial saber esto para gestionar la privacidad durante una sesión activa.
Eliminar o truncar el archivo persistente
Para eliminar o vaciar el archivo de historial, se puede hacer de la siguiente manera:
rm ~/.zsh_history # elimina el archivo
: > ~/.zsh_history # lo trunca a tamaño 0
Y para Bash:
rm ~/.bash_history
: > ~/.bash_history
Para evitar la reescritura de entradas, asegúrate de cerrar la Terminal antes de realizar estas acciones.
Renombrar y recuperar el histórico
Para preservar el historial sin borrarlo, se puede renombrar el archivo:
mv /Users/tu_usuario/.bash_history ~/.bash_history_old
rm /Users/tu_usuario/.bash_history 2>/dev/null || true
mv ~/.bash_history_old ~/.bash_history
Recuerda cerrar y reabrir la Terminal para que los cambios surtan efecto.
Ajustar el comportamiento del historial (tamaño, duplicados, tiempos)
El comportamiento del historial se puede personalizar editando los archivos de configuración del shell. Para Bash, edita ~/.bashrc o ~/.bash_profile; para Zsh, ~/.zshrc o ~/.zprofile.
Capacidad del historial
HISTSIZE=30000
HISTFILESIZE=40000
Estos valores controlan cuántas entradas se almacenan en memoria y en el archivo.
Control de duplicados y comandos con espacio inicial
HISTCONTROL=ignoreboth # equivale a ignorespace,ignoredups
# Alternativas:
# HISTCONTROL=ignorespace
# HISTCONTROL=ignoredups
# HISTCONTROL=ignorespace,erasedups
Estos ajustes ayudan a mantener un historial limpio eliminando duplicados y comandos no deseados.
Marcas temporales
HISTTIMEFORMAT="%F %T: " # Año-mes-día hora:minuto:segundo
Permite agregar fechas y horas a cada entrada en el historial.
Ejemplos prácticos: listar, filtrar, borrar líneas concretas
Algunas acciones comunes para mejorar la eficiencia incluyen:
# Mostrar los últimos 20 comandos
env HISTTIMEFORMAT="%F %T: " history 20
# Ver las 10 primeras entradas cargadas en memoria
history | head -n 10
# Filtrar por una palabra y ejecutar por número
history | grep apt
!1884
# Borrar una entrada específica en Bash
history -d 500
Privacidad y seguridad: qué borrar y qué proteger
Si compartes un equipo o manejas información sensible, borrar el historial de la sesión y el archivo persistente es esencial. Además, es posible evitar que el historial se guarde mediante:
unset HISTFILE
En macOS, puedes proteger archivos utilizando chflags para marcar el archivo como inmutable:
# En macOS, marcar inmutable (reversible con -nouchg)
chflags uchg ~/.zsh_history
Solucionar problemas frecuentes al usar history
Para solucionar problemas, asegúrate de revisar la sintaxis de los comandos, las rutas y el shell que estás utilizando. Puedes verificar tu PATH con:
echo $PATH
Y restablecerlo si es necesario. Además, consulta los manuales específicos para tu versión de macOS si encuentras diferencias en el comportamiento de los comandos.
Truco extra de teclado: repetir caracteres en lugar de acentos alternativos
Para cambiar el comportamiento de repetición de teclas en macOS, utiliza:
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool FALSE
Si prefieres volver al comportamiento original, el comando es:
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool TRUE
Alternativa de terceros para limpieza general (privacidad y cachés)
Para gestionar y limpiar rastros en el sistema, existen herramientas como Macube que ayudan a identificar y eliminar datos obsoletos y temporales. Estas herramientas no son necesarias para gestionar el historial, pero pueden ser útiles para una limpieza más amplia.
Dominar el comando history en macOS optimiza tu flujo de trabajo, permitiéndote consultar y repetir comandos de manera efectiva, ajustando el historial a tus necesidades y garantizando la privacidad y seguridad de tus datos.
Sep 20 2025
Cómo usar el comando history en la Terminal de Mac: consultar, buscar, limpiar y afinar tu historial
Qué es el historial y cómo funciona en macos (bash y zsh)
La Terminal de macOS actúa como una herramienta versátil para ejecutar órdenes de sistema a través de shells como Bash o Zsh. Ambos shells mantienen un registro de los comandos ejecutados, conocido como historial de comandos. Este historial se almacena tanto en memoria durante la sesión actual como en un archivo persistente en el disco duro. En Zsh, el archivo se llama ~/.zsh_history, mientras que en Bash es ~/.bash_history.
El historial en memoria proporciona acceso rápido a los comandos recientes mediante las teclas de flecha arriba/abajo, mientras que el archivo persistente conserva los comandos entre sesiones. Es importante comprender la diferencia entre estos dos tipos de historial para gestionar efectivamente la privacidad y el almacenamiento de comandos.
Cómo consultar tu historial de terminal en mac
Existen métodos directos para revisar los comandos anteriores en la Terminal de macOS, ya sea mostrando el historial en pantalla o inspeccionando el archivo persistente.
Consultar en pantalla el historial reciente con history (bash y zsh)
El comando history muestra todos los comandos en memoria. Puede limitarse a las últimas entradas usando
history 20o combinarse conheadolesspara facilitar la navegación.Leer el archivo histórico persistente
Para inspeccionar el archivo histórico en Bash y Zsh, utiliza:
Diferencias entre el historial en memoria y el archivo pueden surgir debido a configuraciones como HISTSIZE y HISTFILESIZE, que determinan cuántas entradas se almacenan.
Buscar y reutilizar comandos del historial (grep, ctrl+r y expansión)
Con un historial extenso, usar filtros es esencial. grep es una herramienta eficaz para localizar comandos específicos:
El uso de
-ipermite una búsqueda insensible a mayúsculas. Las expresiones regulares extendidas permiten búsquedas más complejas:La búsqueda inversa interactiva con Ctrl+R facilita encontrar y ejecutar comandos previos. Una vez localizado un comando, se puede re-ejecutar mediante su número de línea:
Borrar el historial en mac: sesión actual y archivo persistente
Vaciar la historia de la sesión actual
Para borrar el historial en memoria en Bash, el comando es:
En Zsh, history -c también es efectivo. Es esencial saber esto para gestionar la privacidad durante una sesión activa.
Eliminar o truncar el archivo persistente
Para eliminar o vaciar el archivo de historial, se puede hacer de la siguiente manera:
Y para Bash:
Para evitar la reescritura de entradas, asegúrate de cerrar la Terminal antes de realizar estas acciones.
Renombrar y recuperar el histórico
Para preservar el historial sin borrarlo, se puede renombrar el archivo:
Recuerda cerrar y reabrir la Terminal para que los cambios surtan efecto.
Ajustar el comportamiento del historial (tamaño, duplicados, tiempos)
El comportamiento del historial se puede personalizar editando los archivos de configuración del shell. Para Bash, edita ~/.bashrc o ~/.bash_profile; para Zsh, ~/.zshrc o ~/.zprofile.
Capacidad del historial
Estos valores controlan cuántas entradas se almacenan en memoria y en el archivo.
Control de duplicados y comandos con espacio inicial
Estos ajustes ayudan a mantener un historial limpio eliminando duplicados y comandos no deseados.
Marcas temporales
Permite agregar fechas y horas a cada entrada en el historial.
Ejemplos prácticos: listar, filtrar, borrar líneas concretas
Algunas acciones comunes para mejorar la eficiencia incluyen:
Privacidad y seguridad: qué borrar y qué proteger
Si compartes un equipo o manejas información sensible, borrar el historial de la sesión y el archivo persistente es esencial. Además, es posible evitar que el historial se guarde mediante:
En macOS, puedes proteger archivos utilizando chflags para marcar el archivo como inmutable:
Solucionar problemas frecuentes al usar history
Para solucionar problemas, asegúrate de revisar la sintaxis de los comandos, las rutas y el shell que estás utilizando. Puedes verificar tu PATH con:
Y restablecerlo si es necesario. Además, consulta los manuales específicos para tu versión de macOS si encuentras diferencias en el comportamiento de los comandos.
Truco extra de teclado: repetir caracteres en lugar de acentos alternativos
Para cambiar el comportamiento de repetición de teclas en macOS, utiliza:
Si prefieres volver al comportamiento original, el comando es:
Alternativa de terceros para limpieza general (privacidad y cachés)
Para gestionar y limpiar rastros en el sistema, existen herramientas como Macube que ayudan a identificar y eliminar datos obsoletos y temporales. Estas herramientas no son necesarias para gestionar el historial, pero pueden ser útiles para una limpieza más amplia.
Dominar el comando history en macOS optimiza tu flujo de trabajo, permitiéndote consultar y repetir comandos de manera efectiva, ajustando el historial a tus necesidades y garantizando la privacidad y seguridad de tus datos.
By Roger Casadejús Pérez • Blog 0