El comando "history" nos ofrece mucha información de los comandos ejecutados por los usuarios en los sistemas GNU/Linux con Bash. El "problema" es que por defecto, dichos comandos salen en una lista sin fecha ni hora, por lo que es imposible saber cuando se han ejecutado determinados comandos en el sistema.
Seguid leyendo y os enseñaré a añadir al "history" de Bash en GNU/Linux, la fecha y la hora de la ejecución de los comandos...
¿QUÉ ES EL HISTORY DE BASH?
Cada comando que ejecuta un usuario en GNU/Linux queda registrado en su fichero ~/.bash_history. Es muy útil para poder consultar los viejos comandos y para utilizar la búsqueda inversa.
El "history" de Bash nos muestra los últimos comandos ejecutados por el usuario
1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL
- Un PC con GNU/Linux con Bash Shell
2.- HISTORY POR DEFECTO
Para mostrar el historial completo de comandos del usuario, tendremos que ejecutar el siguiente comando para ver únicamente sus propios comandos. Como podrás ver, cada comando tiene asignado un número incremental, pero no se muestra la fecha ni la hora de la ejecución del comando. Es el comportamiento "by default" del history en todos los sistemas GNU/Linux con Bash:
raul@debian:~$ history
Historial de comandos "by default"
3.- AÑADIR FECHA Y HORA AL HISTORIAL DE BASH
Los cambios pueden ser permanentes o temporales. En este ejemplo vamos a realizar la configuración para un determinado usuario de forma permanente. Por tanto, a partir del cambio que hagamos, solamente los nuevos comandos tendrán la fecha correcta.
El usuario afectado será "raul". Dicho usuario deberá añadir una línea nueva en su ~/.bashrc ejecutando el siguiente comando:
raul@debian:~$ echo "export HISTTIMEFORMAT='%F %T -> '" > ~/.bashrc
Tras realizar la modificación del fichero, el usuario debe volver a hacer login de nuevo o recargar con el siguiente comando dicha configuración:
raul@debian:~$ source ~/.bashrc
Si ahora el usuario ejecuta de nuevo el comando "history", verá el nuevo formato con fechas y horas. Tened en cuenta que solo a los nuevos comandos a partir del cambio se le aplica la hora y fecha de ejecución.
raul@debian:~$ history
Historial con fecha y hora
Como podéis ver, ahora es posible identificar el momento exacto de la ejecución de cada comando.
ENJOY!