Mostrar timestamp junto a los comandos de «history»


Hay ocasiones (sobre todo cuando lanzas comandos en distintas terminales y se pierde parte del histórico) en las que se agradecería poder saber la fecha y hora en la que se lanza un comando en la terminal Linux.

Por fortuna existe un truco bastante sencillo que te permitirá mostrar la hora junto a cada comando listado con history y aquí la dejo por si te resulta de utilidad y/o para cuando me toque reinstalar alguno de mis equipos y no recuerde exactamente cómo se hacía 😅

En principio es tan sencillo como definir la variable HISTTIMEFORMAT en la línea de comandos. En mi caso, y buscando el formato de fecha y hora que me gusta al listar los comandos ejecutados utilizaré el siguiente valor

HISTTIMEFORMAT="[%Y/%m/%d %T] "

siendo el resultado que obtenemos el que se observa en la imagen

El contenido de la variable HISTTIMEFORMAT es el habitual y entiendo que estarás acostumbrado por lo que optaré por no cansaros con detalles innecesarios e insto al que necesite algo de ayuda a que haga un comentario en esta entrada para resolver cualquier duda y/o problema que le pueda surgir 👍

Para evitar tener que definir la variable continuamente, recordad que podéis añadirla al final del fichero ~/.bashrc de modo que siempre estará como configuración por defecto

Conclusión

Pequeña modificación al sistema que nos permitirá listar los comandos ejecutados en el sistema indicando la fecha y hora en la que fueron utilizados que espero os resulte de interés y/o de utilidad.

Y tú…

  • ¿Conocías la variable HISTTIMEFORMAT?
  • ¿Te parece interesante la posibilidad de mostrar cuándo se ha ejecutado un comando en la terminal?
  • ¿Recurres habitualmente al histórico de comandos en Linux?

Un comentario en “Mostrar timestamp junto a los comandos de «history»

  1. Esto se puede ver esa variable en el fichero /etc/skel/.bashrc, que es lo mismo, y se puede editar desde él. 🙂

    Yo lo tengo desde hace un tiempo, al comprender que tenía unas líneas que no tenía en el .bashrc de hace tiempo. Ya sí, y me viene muy bien, porque de hecho, hago siempre un:

    history | grep loquesea

    Así encuentro el comando que haya hecho en el mismo. Aunque, hay otras formas para poder hacer esto con un buen trabajo. En el mismo, tenemos 2 líneas que hacen referencia a eso:

    for setting history length see HISTSIZE and HISTFILESIZE in bash(1)

    HISTSIZE=4000
    HISTFILESIZE=6000

    Podemos retocar la cantidad de comandos que podemos tener y sin perder nada de lo que hayamos hecho con anterioridad. Así no perdemos ningún comando hecho durante unos días, o unas semanas. Estas variables se pueden cambiar a gusto de quién quiera.

    En cuanto al formato que se dice aquí, es éste:

    export HISTTIMEFORMAT=»%d/%m/%y %T »

    Se puede cambiar a gusto de quién lo quiera. Si queremos cambiar a que la hora salga primero, se puede mover la “%T” al principio y ya.

    Saludos.

    Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.