GNU/Linux >> Tutoriels Linux >  >> Linux

Bash History :comment afficher un horodatage (date/heure) lorsque chaque commande a été exécutée

À côté de chaque commande de votre. ajouter un horodatage (date et heure) Bash story ? Cela peut être fait avec le HISTTIMEFORMAT Variable bash.

Bash enregistre un historique des commandes que vous tapez, auquel vous pouvez accéder en appuyant sur history . Par défaut, vous verrez un nombre suivi des commandes que vous avez utilisées récemment :

$ history
1889  cd Cloaker/
1890  ./Cloaker.run
1891  sudo apt upgrade
1892  sudo apt autoremove
1893  history

Avec l'aide de HISTTIMEFORMAT Vous pouvez utiliser la variable bash pour afficher la date et l'heure d'exécution de chaque commande. Cela peut être utile à diverses occasions, comme se souvenir des commandes que vous avez exécutées dans un laps de temps donné, annuler diverses opérations, etc.

Il convient de noter que lorsque cette variable est définie, les horodatages sont écrits dans le fichier d'historique afin qu'ils soient conservés à travers les sessions shell. Ainsi, la première fois que vous l'activerez, vous ne verrez pas la date et l'heure correctes pour vos commandes précédemment utilisées.

Une autre amélioration de l'historique bash que vous aimerez peut-être :HSTR facilite la recherche dans votre bash ou historique des commandes zsh

Définissez l'historique bash pour afficher un horodatage pour votre historique de commandes (uniquement pour la session de terminal en cours) avec cette commande :

HISTTIMEFORMAT="%F %T "

Cette commande s'applique uniquement à cette session, vous pouvez donc voir à quoi elle ressemble et éventuellement configurer le format de date et d'heure (voir ci-dessous).

Entrez maintenant history et vous devriez voir l'horodatage de vos commandes d'historique bash :

$ history
2027  2019-07-12 13:02:31 sudo apt update
2028  2019-07-12 13:02:33 history
2029  2019-07-12 13:03:35 HISTTIMEFORMAT="%F %T "
2029  2019-07-12 13:03:38 man date
2030  2019-07-12 13:03:55 history


Nous avons exporté HISTTIMEFORMAT avec l'horodatage suivant :

  • %F :date complète (année-mois-jour)
  • %T :Heure (heure :minutes :secondes)


Il y a un espace après %T et avant " afin qu'il y ait un espace dans votre historique bash entre l'exécution de la commande et la commande elle-même. Sans elle, les deux ne seraient pas séparés.

Vous pouvez régler la date et l'heure. Utilisez HISTTIMEFORMAT="%Y/%m/%d %T " pour afficher la date sous forme d'année (4 chiffres) -mois-jour et l'heure sous forme d'heure (00..24) :minutes :secondes. Afficher la date sous forme de mois / jour / année (2 chiffres) avec %m/%d/%y . Souhaitez-vous afficher l'heure sous la forme 00..12 suivi de AM / PM au lieu de 00..24 ? Utilisez %I:%M:%S %p comme format d'heure. Voir la commande Date pour formater davantage la date et l'heure.

Il est maintenant temps d'exporter HISTTIMEFORMAT depuis votre ~/.bashrc Fichier pour le définir par défaut pour toutes les nouvelles sessions de terminal pour votre utilisateur . Vous pouvez soit votre. pour ouvrir ~/.bashrc Fichier avec un éditeur de texte et collez export HISTTIMEFORMAT="%F %T " (ou un autre format de date et d'heure) ci-dessous, puis enregistrez le fichier ou exécutez cette commande pour le convertir dans votre fichier. écrire ~/.bashrc :

echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

Exécutez cette commande une seule fois car elle ajoute export HISTTIMEFORMAT="%F %T " à ~/.bashrc chaque fois que vous l'exécutez.

Après cela, tout ce que vous avez à faire est de faire le ~/.bashrc Fichier pour que la session de terminal en cours utilise les nouveaux paramètres (ou vous pouvez ouvrir un nouveau terminal et il prendra automatiquement le nouveau HISTTIMEFORMAT les paramètres):

source ~/.bashrc

N'oubliez pas que la première fois que vous activez les horodatages sur votre historique bash, vous ne verrez pas de date / heure pour aucune de vos commandes précédemment utilisées. Seules les commandes qui s'exécutent après que vous avez activé les horodatages pour votre historique bash afficheront une date et une heure au début de la ligne.

Je pense que vous aimerez aussi :z.lua – A Faster Way Of Changed Directorys (commande cd qui apprend au fur et à mesure que vous l'utilisez)


Linux
  1. CentOS / RHEL :Comment afficher les commandes exécutées dans la sortie de la commande yum history

  2. CentOS / RHEL :Comment obtenir la date et l'heure de la commande exécutée dans la sortie de la commande d'historique

  3. Comment désactiver la modification de mon historique dans bash

  4. Comment afficher l'historique des commandes d'un autre utilisateur sous Linux ?

  5. Comment ajouter un horodatage au journal des scripts bash ?

Comment activer l'horodatage dans la sortie de la commande d'historique Linux

Commande d'historique sous Linux (historique de bash)

Comment afficher l'historique de Bash sans numéros de ligne

Comment activer l'horodatage dans l'historique de Bash sous Linux

Comment utiliser la commande de date dans les scripts bash sous Linux

Comment enregistrer + fermer le fichier lors de l'édition en bash ?