Configuración inicial
Checklist para un sistema recién instalado. Aplica los cambios como root y comprueba cada paso antes de dar el servidor por listo.
Resumen
- Configurar el history de Bash con marca temporal (root y
/etc/skel). - Personalizar la terminal según Funciones personalizadas para ~/.bashrc.
- Recargar la sesión y verificar con
history.
1. History de Bash con timestamp
Por defecto history no muestra cuándo se ejecutó cada comando. Con HISTTIMEFORMAT cada línea lleva fecha y hora (formato ISO: AAAA-MM-DD HH:MM:SS).
También conviene:
shopt -s histappend— no sobrescribir el fichero de history al cerrar sesiones.HISTCONTROL— evitar duplicados o líneas que empiezan por espacio (ignorebothoignoredups:ignorespace).
Importante: Hay que editar dos sitios: el ~/.bashrc de root y /etc/skel/.bashrc. El skel se copia a los usuarios nuevos en useradd; si solo tocas root, los usuarios creados después seguirán sin timestamp.
# Tras shopt -s histappend y HISTSIZE / HISTFILESIZE, añadir:
# Marca temporal en history (visible con: history)
export HISTTIMEFORMAT='%F %T '
Editar y guardar:
sudo nano /root/.bashrc
sudo nano /etc/skel/.bashrc
Recargar en la sesión actual:
. ~/.bashrc
Comprobar (ejecuta un par de comandos nuevos y luego):
history | tail -5
Deberías ver algo como 2026-05-20 17:30:01 ls -la delante de cada comando.
2. Decoración de la terminal
Prompt con Git, alias, colores de ls, protección de git add ., etc. Está documentado en la wiki:
terminalDecoration.html — Funciones personalizadas para ~/.bashrc
En instalación nueva, aplica el mismo contenido en /root/.bashrc (o ficheros fuente como ~/.bash_git) y en /etc/skel/.bashrc para que los usuarios futuros hereden la configuración.
3. Verificación rápida
# Timestamp activo
bash -ic 'echo HISTTIMEFORMAT=$HISTTIMEFORMAT'
# History con hora (tras un comando de prueba en sesión interactiva)
history | tail -3
# Skel listo para nuevos usuarios
grep HISTTIMEFORMAT /etc/skel/.bashrc
grep HISTTIMEFORMAT /root/.bashrc