Debo reconocer que el uso que yo le daba al history no iba más allá del uso de las flechas arriba y abajo para navegar por los últimos comandos, o como alguna vez vimos: el Top 5 de los comandos más utilizados o como utilizar el operador !! (bang bang).
En esta ocasión, veremos unos cuantos ejemplos de algo del provecho que le podemos sacar a esta herramienta:
* Mostrar el timestamp del comando: normalmente cuando ejecutas history ves el número del comando y el comando propiamente dicho. Para propósitos de auditorÃa también te puede ser útil ver fecha y hora de cuando se ejecutó el comando. Para hacer esto, hay que setear la variable de entorno HISTTIMEFORMAT.
# export HISTTIMEFORMAT=’%F %T ‘
# history | more
1 2008-08-19 20:01:01 service network restart
2 2008-08-19 20:02:09 exit
3 2008-08-19 20:08:39 id
4 2008-08-19 20:11:23 cat /etc/inetd.conf
* Búsqueda en el history: presionando Ctrl+R puedes buscar en tu history por un comando. Una vez presionado Ctrl+R en el prompt, empiezas a copiar el comando y el shell buscará por un comando que coincida en parte con lo que estás ingresando. Una vez que de con el comando que buscas puedes presionar Enter para confirmarlo o las flechas izquierda o derecha para editar el comando antes de ejecutarlo.
# (reverse-i-search)`inet‘: cat /etc/inetd.conf
* Repetir el último comando: puedes repetir el último comando de cuatro formas diferentes: presionando la flecha hacia arriba y Enter, ingresando el operador !! (bang bang) y Enter, ingresando !-1 y Enter o presionando Ctrl+P y Enter.