Recupere el historial de la línea de comandos de Linux por fecha


20

Quiero ver lo que escribí en mi línea de comando bash en un día determinado hace una semana. ¿Hay alguna manera de recuperar el historial de la línea de comandos? Algo como abajo, tal vez?

> history --include-date | grep 2012-02-27`


si estás usando zsh:history -E
Vahid

Respuestas:


32

De forma predeterminada, Historyregistra el momento en que ejecutó un comando, pero no lo muestra. La razón de esto es cuando ejecuta el Historycomando, busca una variable de entorno llamada HISTTIMEFORMAT, que le indica cómo formatear el tiempo. Si el valor se establece nullo no, entonces, de manera predeterminada, no se muestra en ningún momento.

Un ejemplo con algo de tiempo

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '
[qweet@superbox ~]$ history
    1  2012-03-06        su -
    2  2012-03-06        jbach@mobiletribe.net
    3  2012-03-06        mysql
    4  2012-03-06        ll
    5  2012-03-06        cd /opt/
    6  2012-03-06        ll
    7  2012-03-06        exit
    8  2012-03-06        ll
    9  2012-03-06        ls -lsa
   10  2012-03-06        cd ../
   11  2012-03-06        ll
   12  2012-03-06        ll
....

Pero eso no es todo. Dado que los valores de las HISTTIMEFORMATtomas strftime(que puedes encontrar aquí por cierto), puedes hacer todo tipo de cosas mágicas. Pero para lo que quieres hacer, lo siguiente funciona.

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'
[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"
 1006  2012-03-06 14:48:05      export HISTTIMEFORMAT='%F %T %t'
 1007  2012-03-06 14:48:07      history
 ...

Además, si desea que su HISTTIMEFORMAT persista, considere agregarlo a su bashrcgusto;

echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc

Verá los cambios cuando abra una nueva pestaña en el terminal, o cuando cierre la sesión y vuelva a iniciarla.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.