Vraag Hoe tijdstempels in bash-geschiedenis zien?


Is er een manier waarop ik kan zien op welk moment de opdrachten werden uitgevoerd vanuit de bash-geschiedenis? We kunnen de bestelling zien, maar is er een manier waarop ik de tijd ook kan krijgen?

Bottom-Line: uitvoeringstijd in de Bash-geschiedenis


179
2017-12-15 11:58


oorsprong


Ik sta er versteld van hoe slecht gedocumenteerd dit zowel op Linux als BSD op de manpages is. - Sridhar-Sarnobat
Bekijk dit blog - sanctum.geek.nz/arabesque/better-bash-history . - dog0


antwoorden:


druk op Ctrl+alt+T om Terminal te openen, voer dan de onderstaande opdracht uit:

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

Of om de wijziging permanent te maken voor de huidige gebruiker:

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

Dan

history

Zie voor meer info man bash of Een A-Z-index van de Bash-opdrachtregel voor Linux.

Voor opdrachten die zijn uitgevoerd voor  HISTTIMEFORMAT was ingesteld, de actueel de tijd wordt opgeslagen als de tijdstempel. Commando's lopen achterna HISTTIMEFORMAT is ingesteld, krijgt de juiste tijdstempel opgeslagen.


229
2017-12-15 12:03



Waarom verklaren met export in .bash_profile? Het is een variabele die alleen wordt gelezen door bash, niet door commando's die erop worden gestart, dus het moet niet worden geëxporteerd. - Alvaro Gutierrez Perez
Merk op dat dit zal gebeuren alleen tijdstempels opnemen voor nieuwe geschiedenis items, na HISTTIMEFORMAT is ingesteld voor sessies, dat wil zeggen u kunt dit niet achteraf gebruiken. Sommige antwoorden geven hier de indruk dat het historiecommando onmiddellijk tijdstempels bevat - Louis Maddox
@Louis - Eigenlijk werkte dit met terugwerkende kracht voor mij?!?! - stephenmm
@Jamil: voor mensen die de ISO-normen volgen, is het "% y-% m-% d" voor het datumgedeelte;) - Gauthier
@Gauthier - eigenlijk, gebruik gewoon% F voor ISO-datum ;-) man7.org/linux/man-pages/man3/strftime.3.html - brianmearns


Open terminalCtrl+alt+T en loop,

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

dan,

history

Om de wijzigingen permanent te maken, volg de onderstaande stappen,

gedit ~/.bashrc

je moet de onderstaande regel toevoegen aan .bashrc bestand en het opslaan,

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

voer het onderstaande commando uit om .bashrc bestand te bron,

source ~/.bashrc

Na die vlucht history opdracht.

enter image description here

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


59
2017-12-15 12:02



Bedankt voor het beantwoorden, \ zal het een permanente verandering zijn? - Ten-Coin
Hallo, ik doe dit in OS X en Windows (via MINGW), en ik voeg het toe aan .bash_profile, wat is het verschil tussen profiel en rc? - LasagnaAndroid


Ja, u kunt: als u instelt $HISTTIMEFORMAT, de .bash-history zal op de juiste tijd worden voorzien van een tijdstempel. Dat helpt niet bij het bestaande .bash-history inhoud, maar zal in de toekomst helpen.


15
2017-12-15 12:02



kun je het uitbreiden voor meer duidelijkheid? - Ten-Coin
Correctie op vorige bericht: instellen HISTTIMEFORMAT maakt het weergeven van de tijdstempels ... zelfs bestaande mogelijk. Mijn favoriet is: HISTTIMEFORMAT = '% F% T' omdat het er niet toe doet in welk land je woont ... iedereen weet meteen hoe laat het is. :)
Ik heb $ HISTTIMEFORMAT ingesteld en ik kreeg de tijden voor vandaag nog voor de commando's van deze set. - Yasin Okumuş


Als u history timestamps voor alle gebruikers wilt inschakelen, maakt u een script in /etc/profile.d:

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

0
2018-01-09 21:18



Dit zal waarschijnlijk niet werken voor gebruikers die inloggen via de GUI, omdat de standaard terminal geen login-shells zal uitvoeren. /etc/bash.bashrczou een betere plek zijn. - muru