Linux之history命令显示用户名和操作时间

Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认情况下,history 不记录命令的执行时间,如果要记录哪个用户执行了某些命令则需要我们通过修改/etc/profile 文件来实现

首先history显示用户名和命令执行时间比较简单,只要在/etc/profile文件追加

export HISTTIMEFORMAT="%F %T `whoami` "

如果要显示登录IP,则需要先获取到源登录IP:

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

if [ "$USER_IP" = "" ]

then

USER_IP=`hostname`

fi

然后将USER_IP写入HISTTIMEFORMAT 即可

export HISTTIMEFORMAT="%F %T `whoami` $USER_IP "

然后 source /etc/profile(不用重新登录而立刻生效) 执行history | more

1000  2014-12-08 10:05:09 root 192.168.10.136 history

1001  2014-12-08 10:14:24 root 192.168.10.136 cd root

1002  2014-12-08 10:14:27 root 192.168.10.136 ls

1003  2014-12-08 10:14:30 root 192.168.10.136 cd /opt

注意:当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会记录执行时间,在设置HISTTIMEFORMAT变量之前,命令执行的时间默认是不被记录的。

时间: 2024-10-08 23:17:13

Linux之history命令显示用户名和操作时间的相关文章

让Linux的history命令显示用户名和时间

修改/etc/profile 增加 export HISTTIMEFORMAT="%Y%m%d_%T `whoami` `who am i|awk '{print $1,$5}'|sed 's/ (/@/'|sed 's/)//'` " export PROMPT_COMMAND='history 1|{ read x y; echo $y; } >> /var/log/.history/${LOGNAME}.history' 之后 mkdir /var/log/.hist

Linux系统history命令显示日期和时间,增加history命令保留个数

编辑 /etc/profile文件 # vi /etc/profile 在文件末尾添加 export HISTTIMEFORMAT='%F %T '     #注意有个空格,为了显示时日期与命令之间有空格分割. export HISTSIZE="10000"    #默认保留1000条. 保存 重新login即可生效. Linux系统history命令显示日期和时间,增加history命令保留个数

linux下history命令显示历史指令记录的使用方法

linux下history命令显示历史指令记录的使用方法 History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 .1>History命令语法: [[email protected]]# history [n][[email protected]]# history [-c][[email protected]]# history [-raw] histfiles参数:n   :数字,要列出最近的 n 笔命令列表-c  :将目前的shell中的所有 history 内容全部消除-

让linux的history命令显示操作时间

很多人都会用到history这个命令,这个命令的意思就是列出来当前用户的所有操作(默认如此),但是很多发行版的默认的history是没有用户和操作时间的,这个对于需要查看原来的操作内容的时候就提供了麻烦,man 了下history,发现有个变量是可以设定history这个显示格式的,这个变量就是HISTTIMEFORMAT 只要执行下面命令: export HISTTIMEFORMAT="`whoami` : |  %F  | %T: | " 然后就可以看到带有用户和时间的histor

如何让linux的history命令显示时间记录

在.bashrc文件追加如下内容即可: HISTFILESIZE=2000 HISTSIZE=2000 HISTTIMEFORMAT='%F %T ' export HISTTIMEFORMAT 原文地址:https://www.cnblogs.com/pinganzi/p/shell.html

Linux下history命令详解---转载

Linux下History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 . >History命令语法:[[email protected]]# history [n][[email protected]]# history [-c][[email protected]]# history [-raw] histfiles 参数:n  :数字,要列出最近的 n 笔命令列表-c :将目前的shell中的所有 history 内容全部消除-a :将目前新增的history 指令新增入 hi

Linux下history命令用法

如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFORMAT 显示时间戳 当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身.如果你想要查看命令历史的时间戳,那么可以执行:# export HISTTIMEFORMAT='%F %T '# history | more1 2008-08-05 19:02:39 service n

Linux下history命令说明

Linux中history命令的作用是可以显示曾经执行过的命令历史,history是一个内部命令.当执行history命令时,会显示之前使用过的历史命令,这些命令会存放在内存中,当用户退出或关机时,会将内存中的命令写入家目录下的.bash_history文件中.当用户登录时,又会从文件中将history历史读入内存.在history中,记录限制的数量由变量HISTSIZE来表示,默认为1000条可以有多种方式来利用history中的历史命令.如果想重复执行之前执行过的命令,可以通过以下方式: 重

02 :history命令显示日期-时间-登录IP-用户名

 如何让history命令显示日期-时间-登录IP-用户名 修改: vim /etc/bashrc 在文件最后面加入如下两行: USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}]" 重新加载环境变量: Source /etc/bashrc 再次执行history ,历史命令就会显示出时