À 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)