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

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

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