¿Hay alguna manera de tener en el archivo .bash_history, en la lista:el directorio donde se escribió el comando, la fecha y el comando?
Respuesta aceptada:
Comando de historial que muestra el directorio:¡NO! 🙁
Comando de historial que muestra la fecha:¡SÍ! 🙂
Eso es porque (del man history
):
The history list is an array of history entries. A history entry is declared as follows: typedef void * histdata_t; typedef struct _hist_entry { char *line; char *timestamp; histdata_t data; } HIST_ENTRY;
Entonces, nada sobre el directorio donde se escribió el comando.
Para saber la hora exacta en que se ejecutó un determinado comando, consulte help history
:
If the $HISTTIMEFORMAT variable is set and not null, its value is used as a format string for strftime(3) to print the time stamp associated with each displayed history entry. No time stamps are printed otherwise.
Así que todo lo que tienes que hacer es configurar $HISTTIMEFORMAT
algo como esto en el shell actual:
export HISTTIMEFORMAT="%F %T "
Para configurarlo de forma permanente, ejecute el siguiente comando:
echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
El comando anterior agregará una nueva línea (export HISTTIMEFORMAT="%F %T "
) al final de su ~/.bashrc
archivo.
Ahora, la salida de history
se verá algo como esto:
...
1613 2013-11-13 13:00:15 cat .bash_history
1614 2013-11-13 13:01:04 man history
1615 2013-11-13 13:11:58 help history
1616 2013-11-13 13:19:07 ls
1617 2013-11-13 13:19:09 cd
1618 2013-11-13 13:19:15 history