How to add time and user parameters to history on Linux

  

Linux system can use the history command to view the history of instructions. In order to improve the efficiency of the history command, you can also add some parameters to the history command, such as time, user and IP parameters. So how do you add these parameters to the history?

1. set the display time and the user:

echo & lsquo; export HISTTIMEFORMAT = & ldquo;% F% T `whoami` & rdquo; & rsquo;" "/etc /profile

Execute source to take effect:

source /etc/profile

View results:

history

1852 2016-01-11 16:24 :52 xubo hs

1853 2016-01-11 16:24:53 xubo ls

1854 2016-01-11 16:24:56 xubo history

1855 2016 -01-11 16:25:02 xubo history --help

1856 2016-01-11 16:26:35 xubo vi /etc/profile

1857 2016-01-11 16 :27:27 xubo echo ‘export HISTTIMEFORMAT=“%F %T `whoami` ”’ 》 /etc/profile

1858 2016-01-11 16:27:29 xubo vi /Etc/profile

1859 2016-01-11 16:27:42 xubo source /etc/profile

1860 2016-01-11 16:27:46 xubo history

1861 2016-01-11 16:27:59 xubo ls

1862 2016-01-11 16:28:01 xubo history

1863 2016-01-11 16:31:00 Xubo clear

1864 2016-01-11 16:31:02 xubo history

2. Only see your own operation record (time, user, ip name):

USER_IP=`who -u am i 2》/dev/null|  Awk ‘{print $NF}’| Sed -e ‘s/[()]//g’`

xport HISTTIMEFORMAT=“[%F %T][`whoami`][${USER_IP}] ”

Execute source to take effect:

source /etc/profile

View results:

hadoop@Master:~$ history

1002 [2016-01 -11 16:47:37][hadoop][host-e-150.ustcsz.edu.cn] cd . . /

1003 [2016-01-11 16:47:37][hadoop][host-e-150.ustcsz.edu.cn] du -h --max-depth=1

1004 [2016-01-11 16:47:37][hadoop][host-e-150.ustcsz.edu.cn] du -h --max-depth=2

1005 [2016 -01-11 16:47:37][hadoop][host-e-150.ustcsz.edu.cn] sudo find /* -name pokec-relationships

1006 [2016-01-11 16: 47:37][hadoop][host-e-150.ustcsz.edu.cn] sudo find /* -name pokec

1007 [2016-01-11 16:47:37][hadoop][ Host-e-150.ustcsz.edu.cn] sudo find /* -name kddcup

1008 [2016-01-11 16:47:37][hadoop][host-e-150.ustcsz. Edu.cn] sudo find /* -name kddcup*

1009 [2016-01-11 16:47:37][hadoop][host-e-150.ustcsz.edu.cn] sudo find /* -name *kddcup*

3. Record the history to the log:

#export HISTTIMEFORMAT=“%F %T $USER_IP:`whoami` ”

#export HISTTIMEFORMAT=“%F %T $USER_IP:`whoami` ”

USE R_IP=`who -u am i 2》/dev/null|  Awk ‘{print $NF}’| Sed -e ‘s/[()]//g’`

export HISTTIMEFORMAT=“[%F %T][`whoami`][${USER_IP}] ”

#history

LOGIP=`who -u am i 2》/dev/null|  Awk ‘{print $NF}’| Sed -e ‘s/[()]//g’`

LOG_DIR=/var/log/history

if [ -z $LOGIP ]

then

LOGIP=`hostname`

fi

if [ ! -d $LOG_DIR ]

then

mkdir -p $LOG_DIR

chmod 777 $LOG_DIR

fi

if [ ! -d $LOG_DIR/${LOGNAME} ]

then

mkdir -p $LOG_DIR/${LOGNAME}

chmod 777 $LOG_DIR/${LOGNAME}

fi

export HISTSIZE=4096

LOGTM=`date +“%Y%m%d_%H%M%S”`

export HISTFILE =“$LOG_DIR/${LOGNAME}/${LOGIP}-$LOGTM”

chmod 777 $LOG_DIR/${LOGNAME}/*-* 2》/dev/null

Run results:

root@xubo:/media/xubo/My Passport/gene_data/1000genomes# ls /var/log/history/root/

host-e-150.ustcsz.edu .cn-20160111_171845 host-e-150.ustcsz.edu.cn-20160111_172719 host-e-213.ustcsz.edu.cn-20160111_202047

root@xubo:/media/xubo/My Passport/gene_data/1000genomes# vi /var/log/history/root/host-e-213.ustcsz.edu.cn-20160111_202047

#1452514808

ls root/

#1452514818

history

#1452514847

source /etc/profile

#1452514848

history

#1452514860< Br>

Ls root/

#1452514861

ls

#1452514863

cd root/

#1452514864

ls

#1452514866

exit

The above is how Linux adds time and user parameters to the history, so that the history can be displayed when viewing the command. And the user's these parameters, the search is more accurate.

Copyright © Windows knowledge All Rights Reserved