We are all familiar with the history command. It stores all commands executed by bash on the terminal into the .bash_history file to help us review the commands previously executed by the user.
By default, the history command directly displays the commands executed by the user without outputting the date and time when the command was run, even if the history command records this time.
When you run the history command, it will check an environment variable called HISTTIMEFORMAT. This environment variable specifies how to format the output of the time recorded in the history command.
If the value is null or not set at all, it will be the same as most systems display by default, and the date and time will not be displayed.
HISTTIMEFORMAT Use strftime to format display times (strftime - converts dates and times to strings). The history command outputs the date and time to help you track down the problem more easily.
·%T: Replaced with time (%H:%M:%S).
·%F: Equivalent to %Y-%m-%d (ISO 8601:2000 standard date format).
The following is the default output of the history command.
# history 1 yum install -y mysql-server mysql-client 2 service mysqld start 3 sysdig proc.name=sshd 4 sysdig -c topprocs_net 5 sysdig proc.name=sshd 6 sysdig proc.name=sshd | more 7 sysdig fd.name=/var/log/auth.log | more 8 sysdig fd.name=/var/log/mysqld.log 9 sysdig -cl 10 sysdig -i httplog 11 sysdig -i proc_exec_time 12 sysdig -i topprocs_cpu 13 sysdig -c topprocs_cpu 14 sysdig -c tracers_2_statsd 15 sysdig -c topfiles_bytes 16 sysdig -c topprocs_cpu 17 sysdig -c topprocs_cpu "fd.name contains sshd" 18 sysdig -c topprocs_cpu "proc.name contains sshd" 19 csysdig 20 sysdig -c topprocs_cpu 21 rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public 22 curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo 23 yum install -y epel-release 24 yum update 25 yum makecache 26 yum -y install kernel-devel-$(uname -r) 27 yum -y install sysdig 28 sysdig 29 yum install httpd mysql 30 service httpd start
Depending on your needs, there are three different ways to set environment variables.
·Temporarily set the current user’s environment variables
·Permanently set environment variables for current/other users
·Permanently set environment variables for all users
Note: Don’t forget to add a space before the last single quote, otherwise the output will be very confusing.
Run the following command to temporarily set the HISTTIMEFORMAT variable for the current user. This will take effect until the next reboot.
# export HISTTIMEFORMAT='%F %T '
Add the HISTTIMEFORMAT variable to the .bashrc or .bash_profile file to make it permanent.
# echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc 或 # echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bash_profile
Run the following command to make the changes in the file take effect.
# source ~/.bashrc 或 # source ~/.bash_profile
Add the HISTTIMEFORMAT variable to the /etc/profile file to make it permanent for all users.
# echo 'HISTTIMEFORMAT="%F %T "' >> /etc/profile
Run the following command to make the changes in the file take effect.
# source /etc/profile
The output result is:
# history 1 2017-08-16 15:30:15 yum install -y mysql-server mysql-client 2 2017-08-16 15:30:15 service mysqld start 3 2017-08-16 15:30:15 sysdig proc.name=sshd 4 2017-08-16 15:30:15 sysdig -c topprocs_net 5 2017-08-16 15:30:15 sysdig proc.name=sshd 6 2017-08-16 15:30:15 sysdig proc.name=sshd | more 7 2017-08-16 15:30:15 sysdig fd.name=/var/log/auth.log | more 8 2017-08-16 15:30:15 sysdig fd.name=/var/log/mysqld.log 9 2017-08-16 15:30:15 sysdig -cl 10 2017-08-16 15:30:15 sysdig -i httplog 11 2017-08-16 15:30:15 sysdig -i proc_exec_time 12 2017-08-16 15:30:15 sysdig -i topprocs_cpu 13 2017-08-16 15:30:15 sysdig -c topprocs_cpu 14 2017-08-16 15:30:15 sysdig -c tracers_2_statsd 15 2017-08-16 15:30:15 sysdig -c topfiles_bytes 16 2017-08-16 15:30:15 sysdig -c topprocs_cpu 17 2017-08-16 15:30:15 sysdig -c topprocs_cpu "fd.name contains sshd" 18 2017-08-16 15:30:15 sysdig -c topprocs_cpu "proc.name contains sshd" 19 2017-08-16 15:30:15 csysdig 20 2017-08-16 15:30:15 sysdig -c topprocs_cpu 21 2017-08-16 15:30:15 rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public 22 2017-08-16 15:30:15 curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo 23 2017-08-16 15:30:15 yum install -y epel-release 24 2017-08-16 15:30:15 yum update 25 2017-08-16 15:30:15 yum makecache 26 2017-08-16 15:30:15 yum -y install kernel-devel-$(uname -r) 27 2017-08-16 15:30:15 yum -y install sysdig 28 2017-08-16 15:30:15 sysdig 29 2017-08-16 15:30:15 yum install httpd mysql 30 2017-08-16 15:30:15 service httpd start
The above is the detailed content of Detailed analysis of how to display date and time in the history command. For more information, please follow other related articles on the PHP Chinese website!