====== BASH - History ====== **history** is used to keep track of all commands that were executed on a Linux machine. By default, the **history** command stores the last one thousand commands. ---- ===== History ===== history returns: 1 vi .config/beets/config.yaml 2 beet ls 3 beet remove 4 beet import /home/peter/Music 5 beet ls 6 vi .config/beets/config.yaml 7 beet ls 8 beet import /home/peter/Music 9 beet ls 10 vi .config/beets/config.yaml 11 beet import /home/peter/Music ... As can be seen the timestamp is not in the output. ---- ===== Add timestamp to history ===== export HISTTIMEFORMAT="%F %T " * **%F**: shows Date in the format ‘YYYY-M-D’ (Year-Month-Day) * **%T**: shows Time in the format ‘HH:MM:S’ (Hour:Minute:Seconds) ---- ===== History ===== history returns: 1 2019-12-23 13:02:38 vi .config/beets/config.yaml 2 2019-12-23 13:02:38 beet ls 3 2019-12-23 13:02:38 beet remove 4 2019-12-23 13:02:38 beet import /home/peter/Music 5 2019-12-23 13:02:38 beet ls 6 2019-12-23 13:02:38 vi .config/beets/config.yaml 7 2019-12-23 13:02:38 beet ls 8 2019-12-23 13:02:38 beet import /home/peter/Music 9 2019-12-23 13:02:38 beet ls 10 2019-12-23 13:02:38 vi .config/beets/config.yaml 11 2019-12-23 13:02:38 beet import /home/peter/Music ... ---- ===== Make “HISTTIMEFORMAT” variable persistent across reboots ===== Add this line to the .bashrc file. ... export HISTTIMEFORMAT="%F %T " ... and enable this change: source ~/.bashrc If you want to enable timestamp in history command for all local users too, then define the variable HISTTIMEFORMAT in /etc/profile file instead of root user’s ~/.bashrc file.