Linux查看History记录加时间戳的小技巧

Linux查看History记录加时间戳小技巧

熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如

[root@servyou_web ~]# history | more
  6 ./test.sh
  7 vim test.sh
  8 ./test.sh 

但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间。

通过设置环境变量 export HISTTIMEFORMAT="%F %T `whoami` " 给history加上时间戳

[root@servyou_web ~]# export HISTTIMEFORMAT="%F %T `whoami` "
[root@servyou_web ~]# history | tail
 1014 2011-06-22 19:17:29 root  15 2011-06-22 19:13:02 root ./test.sh
 1015 2011-06-22 19:17:29 root  16 2011-06-22 19:13:02 root vim test.sh
 1016 2011-06-22 19:17:29 root  17 2011-06-22 19:13:02 root ./test.sh
 1017 2011-06-22 19:17:29 root  18 2011-06-22 19:13:02 root vim test.sh
 1018 2011-06-22 19:17:29 root  19 2011-06-22 19:13:02 root ./test.sh
 1019 2011-06-22 19:17:29 root  20 2011-06-22 19:13:02 root vim test.sh
 1020 2011-06-22 19:17:29 root  21 2011-06-22 19:13:02 root ./test.sh
 1021 2011-06-22 19:17:29 root  22 2011-06-22 19:13:02 root vim test.sh
 1022 2011-06-22 19:25:22 root  22 2011-06-22 19:13:02 root vim test.sh
 1023 2011-06-22 19:25:28 root history | tail

可以看到,历史命令的时间戳已经加上了,但是.bash_history里并没有加上这个时间戳。其实这个时间记录是保存在当前shell进程内存里的,如果你logout并且重新登录的话会发现你上次登录时执行的那些命令的时间戳都为同一个值,即当时logout时的时间。

尽管如此,对于加上screen的bash来说,这个时间戳仍然可以长时间有效的,毕竟只要你的server不重启,screen就不会退出,因而这些时间就能长时间保留。你也可以使用echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile 然后source一下就OK

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • Linux使用join -a1来合并两个文件

    要合并以下两个文件,一起合并在一起,合并到1.txt中 # 1.txt Jerry 20 Alice 30 David 40 # 2.txt Jerry man Alice woman David 40 合并的后的1.txt Jerry 20 man Alice 30 woman David 40 上面的文件特点是有相同的,则合并,第二列缺少内容的.这个时候使用join -a1 1.txt 2.txt就可以很好的达到目的. [root@host ~]# join -a1 1.txt 2.txt

  • Linux后台运行Python程序的几种方法讲解

    1.第一种方法是直接用unhup命令来让程序在后台运行,命令格式如下: unhup python 文件名.py (> ***.log )& 在这个命令中,python指定我们要执行的文件为python文件,后面的文件名.py即是我们要执行的文件.括号内容表示可以将平时输出到控制台中的内容重定向到*.log这个文件中,这个是可选的,如果没有这个,则会默认输出到nohup.out文件中.括号后面你的&表示后台运行. 2.第二种方法是写一个脚本,然后把脚本提交给服务器,让服务器在后台运行脚

  • Linux两台服务器之间传输文件和文件夹操作步骤

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快速的在两台服务器之间传输文件和文件夹. 第一步:打开我们的远程连接工具,输入账号密码登录到服务器,如图: 点击文件打开或者新建一个会话,新建会话输入主机的ip和账号密码即可,如果已经登录过,直接点击文件下面那个带+号的图标就可以了. 第二步:找到你要传输的文件或者文件夹: 这里有这么多图片,我随便传

  • Linux获取当前脚本真实路径的方法

    1.获取当前脚本的真实路径: #!/bin/bash if [[ $0 =~ ^\/.* ]] #判断当前脚本是否为绝对路径,匹配以/开头下的所有 then script=$0 else script=$(pwd)/$0 fi script=`readlink -f $script` #获取文件的真实路径 script_path=${script%/*} #获取文件所在的目录 realpath=$(readlink -f $script_path) #获取文件所在目录的真实路径 echo $sc

  • Linux文本处理命令sort详解

    sort  对文本文件内容进行排序 用法:sort +选项 +文件名(可跟多个文件) 示例1:cat 1.txt sort 1.txt    #文字,默认按字母a-z排序 实示例2:cat  2.txt sort 2.txt  #数字,默认按1-9排序 -n 参数:sort -n 2.txt  #加-n,把数字从小到大排序 -r 参数:sort -n -r 2.txt #-r ,倒序排序(也适用于文字) 如果一个文本有两列内容,默认按第一列排序,示例:cat 3.txt sort 3.txt 

  • Linux文本查找命令find的用法详解

    find 命令主要用于查找目录和文件,可以指定多种参数进行匹配. 用法:find  +查找路径  +命令参数   [输出形式] 查找路径:告诉find在哪查找 命令参数:指定要查找的文件属性,属性包括多种,类型.名称.大小.修改时间等等 常用的参数: -name 按文件名进行查找 -user 按照文件的属主进行查找 -mtime  按照文件的更改时间来查找,-n 表示文件修改时间距今天n天以内,+n 表示文件修改时间距今天n天以前 -type  按照文件的类型查找,d 表示目录, f表示文件 ,

  • 一道题理解Linux中sort命令的多个参数

    sort命令很常用,但参数也很多,比如: -o, -n, -u, -r一时也未必能想起如何使用. 这里有一道题,可以很好的结合使用上面的参数,达到很好记忆的效果. 题目: 数据文件data中含以下数据: 4 1 3 5 1001 2 4 5 请用一条命令反向排序,去重并将这些数据同样保存在data文件中.最终输出结果: 1001 5 4 3 2 1 要达到上面的三条要求,就要同时借助于上面的几个参数,具体命令如下: [root@localhost ~]# cat data | sort -nur

  • Linux删除文件提示Operation not permitted的处理办法

    经常有同事问,删除文件/目录时报Operation not permitted错误,这个要如何处理?! 这个一般是权限的问题,比如: 1. 普通用户且有足够的权限的话,一般文件夹可能是别的服务/进程掉用该文件夹 lsof +D  /Dir/Your/Want/To/Delete/ 先执行上面的命令,查询到调用该文件夹的进程IDs,然后再kill掉,这个时候应该就可以删了! 2. 普通用户且缺乏权限的话,如果要删除该文件夹则要借助su或者sudo命令来删除 3. 如果是root用户,依然报上面的错

  • Linux统计一个文件中特定字符个数的方法

    统计一个文件中某个字符串的个数,其实就是在在一块沙地里面找石头,有的人看到石头以后,在上面做个标记(grep),然后记住自己做了多少个标记:有的人看到石头以后,把它挖了(tr),最后统计自己挖了多少石头:有的人看到石头以后,把它跳过去(awk),然后统计自己跳了多少次. 这是我用的的文件 [root@bzhou test]# cat file hafsdha hahafsdfsdhaha haha 我想匹配的是'haha'这个字符串 1.grep的-o选项 [root@bzhou test]#

  • Python使用paramiko操作linux的方法讲解

    paramiko介绍 paramiko是一个基于python编写的.使用ssh协议的模块,跟xshell和xftp功能类似,支持加密与认证,可以上传下载和访问服务器的文件. 可以利用paramiko模块写服务器脚本,在本地执行,比如持续更新代码,查看日志,批量配置集群等. paramiko 主要包含SSHClient和SFTPClient两个组件: SSHClient ssh服务会话的表示,通常用来执行命令,主要有connect.exec_command.load_system_host_key

随机推荐