Question Comment voir les horodatages dans l'histoire de bash?


Est-il possible de voir à quelle heure les commandes ont été exécutées à partir de l’histoire de bash? Nous pouvons voir la commande, mais y a-t-il un moyen d'obtenir le temps?

Bottom-Line: temps d'exécution dans l'historique Bash


179
2017-12-15 11:58


origine


Je suis étonné de constater à quel point cela est mal documenté à la fois sur Linux et BSD dans les pages de manuel. - Sridhar-Sarnobat
Consultez ce blog - sanctum.geek.nz/arabesque/better-bash-history . - dog0


Réponses:


presse Ctrl+Alt+T pour ouvrir Terminal, puis exécutez la commande ci-dessous:

HISTTIMEFORMAT="%d/%m/%y %T "

Ou, pour rendre le changement permanent pour l'utilisateur actuel:

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

alors

history

Pour plus d'infos voir homme bash ou Un index A-Z de la ligne de commande Bash pour Linux.

Pour les commandes qui ont été exécutées avant  HISTTIMEFORMAT était réglé, le actuel le temps sera enregistré comme horodatage. Les commandes s'exécutent après HISTTIMEFORMAT a été défini aura le timestamp correct enregistré.


229
2017-12-15 12:03



Pourquoi le déclarer avec export dans .bash_profile? C'est une variable seulement lue par bash, pas par les commandes lancées à partir de celui-ci, donc il ne devrait pas être exporté. - Alvaro Gutierrez Perez
Notez que cela va enregistrer uniquement les horodatages pour Nouveau éléments de l'histoire, après HISTTIMEFORMAT est défini pour les sessions, c'est-à-dire que vous ne pouvez pas l'utiliser rétrospectivement. Certaines réponses donnent l'impression que la commande d'historique affiche immédiatement les entrées horodatées - Louis Maddox
@Louis - En fait, cela a fonctionné pour moi rétroactivement pour moi?!?! - stephenmm
@Jamil: pour les personnes qui respectent les normes ISO, c'est "% y-% m-% d" pour la partie date;) - Gauthier
@Gauthier - en fait, utilisez% F pour la date ISO ;-) man7.org/linux/man-pages/man3/strftime.3.html - brianmearns


Terminal ouvertCtrl+Alt+T et courir,

HISTTIMEFORMAT="%d/%m/%y %T "

puis,

history

Pour que les modifications soient permanentes, suivez les étapes ci-dessous.

gedit ~/.bashrc

vous devez ajouter la ligne ci-dessous au fichier .bashrc et puis enregistrez-le,

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

exécutez la commande ci-dessous pour générer le fichier .bashrc,

source ~/.bashrc

Après cette course history commander.

enter image description here

la source:http://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/


59
2017-12-15 12:02



Merci d'avoir répondu, sera-ce un changement permanent? - Ten-Coin
Hé, je le fais sous OS X et Windows (via MINGW), et je l'ajoute dans .bash_profile, quelle est la différence entre profil et rc? - LasagnaAndroid


Oui, vous pouvez: si vous définissez $HISTTIMEFORMAT, la .bash-history sera correctement horodaté. Cela n'aide pas avec existant .bash-history contenu, mais aidera à l'avenir.


15
2017-12-15 12:02



pouvez-vous le développer pour plus de clarté? - Ten-Coin
Correction du post précédent: La configuration de HISTTIMEFORMAT permet d’afficher les horodatages ... même existants. Mon préféré est: HISTTIMEFORMAT = '% F% T' car il importe peu de quel pays vous résidez ... tout le monde sait immédiatement quelle heure il est. :)
J'ai mis $ HISTTIMEFORMAT et j'ai eu le temps pour aujourd'hui même avant les commandes de cet ensemble. - Yasin Okumuş


Pour activer l'horodatage de l'historique pour tous les utilisateurs, créez un script dans /etc/profile.d:

echo 'HISTTIMEFORMAT="%Y%m%d %T "' >> /etc/profile.d/timestamp.sh

0
2018-01-09 21:18



Cela ne fonctionnera probablement pas pour les utilisateurs se connectant via l'interface graphique, car le terminal par défaut n'exécutera pas les shells de connexion. /etc/bash.bashrcserait un meilleur endroit. - muru