Home>Article>Operation and Maintenance> How to let the history command display date and time in Linux

How to let the history command display date and time in Linux

小云云
小云云 Original
2018-01-19 09:51:29 3652browse

The history command 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. This article mainly introduces the method of letting the history command display the date and time. Friends who need it can refer to it. I hope it can help everyone.

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 yum install -y mysql-server mysql-client service mysqld start sysdig proc.name=sshd sysdig -c topprocs_net sysdig proc.name=sshd sysdig proc.name=sshd | more sysdig fd.name=/var/log/auth.log | more sysdig fd.name=/var/log/mysqld.log sysdig -cl sysdig -i httplog sysdig -i proc_exec_time sysdig -i topprocs_cpu sysdig -c topprocs_cpu sysdig -c tracers_2_statsd sysdig -c topfiles_bytes sysdig -c topprocs_cpu sysdig -c topprocs_cpu "fd.name contains sshd" sysdig -c topprocs_cpu "proc.name contains sshd" csysdig sysdig -c topprocs_cpu rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo yum install -y epel-release yum update yum makecache yum -y install kernel-devel-$(uname -r) yum -y install sysdig sysdig yum install httpd mysql service httpd start

There are three different ways to set environment variables based on needs.

  • Temporarily set the environment variables of the current user

  • Permanently set the environment variables of the 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.

Method 1:

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 '

Method 2:

Add the HISTTIMEFORMAT variable to the .bashrc or .bash_profile file to make it permanent.


# echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

or


# echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bash_profile

Run the following command to make the changes in the file take effect.


#source~/.bashrc

or


#source~/.bash_profile

Method 3:

Change HISTTIMEFORMAT Add the 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 2017-08-16 15:30:15 yum install -y mysql-server mysql-client 2017-08-16 15:30:15 service mysqld start 2017-08-16 15:30:15 sysdig proc.name=sshd 2017-08-16 15:30:15 sysdig -c topprocs_net 2017-08-16 15:30:15 sysdig proc.name=sshd 2017-08-16 15:30:15 sysdig proc.name=sshd | more 2017-08-16 15:30:15 sysdig fd.name=/var/log/auth.log | more 2017-08-16 15:30:15 sysdig fd.name=/var/log/mysqld.log 2017-08-16 15:30:15 sysdig -cl 2017-08-16 15:30:15 sysdig -i httplog 2017-08-16 15:30:15 sysdig -i proc_exec_time 2017-08-16 15:30:15 sysdig -i topprocs_cpu 2017-08-16 15:30:15 sysdig -c topprocs_cpu 2017-08-16 15:30:15 sysdig -c tracers_2_statsd 2017-08-16 15:30:15 sysdig -c topfiles_bytes 2017-08-16 15:30:15 sysdig -c topprocs_cpu 2017-08-16 15:30:15 sysdig -c topprocs_cpu "fd.name contains sshd" 2017-08-16 15:30:15 sysdig -c topprocs_cpu "proc.name contains sshd" 2017-08-16 15:30:15 csysdig 2017-08-16 15:30:15 sysdig -c topprocs_cpu 2017-08-16 15:30:15 rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public 2017-08-16 15:30:15 curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo 2017-08-16 15:30:15 yum install -y epel-release 2017-08-16 15:30:15 yum update 2017-08-16 15:30:15 yum makecache 2017-08-16 15:30:15 yum -y install kernel-devel-$(uname -r) 2017-08-16 15:30:15 yum -y install sysdig 2017-08-16 15:30:15 sysdig 2017-08-16 15:30:15 yum install httpd mysql 2017-08-16 15:30:15 service httpd start

Related recommendations:

How to Vue-cli is transformed into a history mode that supports multiple pages

Several methods of history

Detailed explanation of the History mode in HTML5

The above is the detailed content of How to let the history command display date and time in Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn