当前位置:系统之家 > 电脑学习教程 > 详细页面

Linux如何在history上添加时间与用户等参数

Linux如何在history上添加时间与用户等参数

更新时间:2022-05-29 文章作者:未知 信息来源:网络 阅读次数:

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

  Linux系统下可以使用history命令来查看指令的历史记录。为了提高history命令的效率,还可以在history命令加上一些参数,比如时间、用户和IP等等参数。那么如何在history上添加这些参数呢?

Linux如何在history上添加时间和用户等参数

  1.设置显示时间和用户:

  echo ‘export HISTTIMEFORMAT=“%F %T `whoami` ”’ 》》 /etc/profile

  执行source生效:

  source /etc/profile

  查看结果:

  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.只看到自己的操作记录(时间,用户,ip名):

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

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

  执行source生效:

  source /etc/profile

  查看结果:

  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.将history记录到log:

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

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

  USER_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

  运行结果:

  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

  ls root/

  #1452514861

  ls

  #1452514863

  cd root/

  #1452514864

  ls

  #1452514866

  exit

  以上就是Linux如何在history上添加时间和用户等参数的方法了,这样一来就能让history查阅命令时显示时间和用户的这些参数,查找更加精准。


Linux是一套免费使用和自由传播的类Unix操作系统

温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行