Comment puis-je voir un horodatage pour quand une commande a été exécutée en utilisant l'historique?

11

Je voudrais vérifier à quelle heure / date une commande dans l'historique bash a été exécutée. Est-ce possible?

Jonathan Day
la source

Réponses:

16

C'est possible. La help historycommande dit:

Si la variable $ HISTTIMEFORMAT est définie et non nulle, sa valeur est utilisée comme chaîne de format pour strftime (3) pour imprimer l'horodatage associé à chaque entrée d'historique affichée. Aucun horodatage n'est imprimé autrement

J'ai défini la variable pour mon utilisateur comme ceci (sur Ubuntu):

echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> ~/.bashrc

Si vous le souhaitez globalement, ajoutez la ligne à /etc/bash.bashrc:

echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc

Voir man strftimepour toutes les options de formatage possibles


La sortie de historysur ma boîte:

  ...
  132  05.05.11 10:45:11 ls
  133  05.05.11 10:45:14 cd ..
  134  05.05.11 10:45:17 history

PS Lorsque vous définissez la variable la première fois, tout l'historique obtiendra l'horodatage du moment où la variable a été définie.

Siim K
la source
Je trouverai cela vraiment utile mais je n'ai pas encore réussi. J'ai ajouté [export HISTIMEFORMAT = "% d.% M.% Y% T"] à mon ~ / .bashrc mais je ne reçois pas encore les données de temps supplémentaire quand je le fais history. (Sur Ubuntu 10.10 pour ce que ça vaut.)
boehj
@boehj: Vous devrez peut-être vous déconnecter et vous reconnecter
Siim K
OK, je vais essayer et faire un rapport. À votre santé. Mais pour l'instant, c'est l'heure de la bière. :)
boehj
semble superbe mais malheureusement je vois la même chose que @boehj sur Centos
Jonathan Day
1
@Jonathan et @boehj: bien sûr, il y avait un Tmanquant dans le nom de la variable :( Je blâme mes doigts ... J'ai mis à jour la réponse, veuillez essayer maintenant
Siim K