Wiki

Índice

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

  1. Configurar el history de Bash con marca temporal (root y /etc/skel).
  2. Personalizar la terminal según Funciones personalizadas para ~/.bashrc.
  3. 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 (ignoreboth o ignoredups: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