如何让AIX、LINUX的History命令显示执行时间

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介:

问题描述:Linux、AIX上都提供了History命令,可以查询以前执行的命令历史记录,但是这个记录并不包含时间项目。有时候需要回溯源头时比较郁闷。如何让History记录时间呢?如下针对LINXU和AIX进行了实践,本文本意是作为个人记录。

一、LINUX系统
1、编辑编辑/etc/bashrc文件,加入如下三行:
  HISTFILESIZE=2000
  HISTSIZE=2000
  HISTTIMEFORMAT="%Y%m%d-%H%M%S: "
  export HISTTIMEFORMAT

保存后退出,关闭当前shell,并重新登录这个时候,在~/.bash_History文件中,就有记录命令执行的时间了
注意:本方法必须在服务器刚刚新安装好时候,就设置这个参数。
如果是已经运行了很久的服务器才添加这个参数,则以前的那些命令历史记录是不显示时间的。

2、显示的时间格式
[weblogic@localhost ~]$ history

  992  20120223-103953: hisrory
  993  20120223-103953: history
  994  20120223-103953: vi /etc/bashrc
  995  20120223-103953: vi /etc/bashrc
  996  20120223-103953: cd /etc
 1040  20120222-114927: sl
 1041  20120222-114932: cat
 1042  20120222-114955: tac
 1043  20120222-115000: more
 1044  20120222-115005: erom
 1045  20120223-103956: hisroy
 1046  20120223-104000: history

二、AIX系统
1、用ROOT用户VI,添加EXTENDED_HISTORY=ON至/etc/environment

2、其他用户登陆
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2006.
login: oracle
oracle's Password: 
*******************************************************************************
*                                                                             *
*                                                                             *
*  Welcome to AIX Version 5.3!                                                *
*                                                                             *
*                                                                             *
*  Please see the README file in /usr/lpp/bos for information pertinent to    *
*  this release of the AIX Operating System.                                  *
*                                                                             *
*                                                                             *
*******************************************************************************
Last unsuccessful login: Sat Nov 19 02:10:46 BEIST 2011 on ftp from ::ffff:172.16.128.16
Last login: Wed Feb 15 16:52:01 BEIST 2012 on /dev/pts/0 from 172.16.3.6
 
[YOU HAVE NEW MAIL]
$ env
_=/bin/env
TMPDIR=/tmp
LANG=en_US
TEMP=/tmp
LOGIN=oracle
PATH=/home/oracle/database/bin:/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.
EXTENDED_HISTORY=ON==========================环境变量已经有了
ORACLE_BASE=/home/oracle
LC__FASTMSG=true
LOGNAME=oracle
TMP=/tmp
MAIL=/usr/spool/mail/oracle
ORACLE_SID=standby
LOCPATH=/usr/lib/nls/loc
USER=oracle
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
HOME=/home/oracle
TERM=xterm

3、fc -t命令看到此后的命令已经有时间记录了
$ fc -t
143     ? :: cd /home/oracle/admin/standby/bdump
144     ? :: tail -f *.log
145     ? :: df -g
146     ? :: tail -f *.log
147     ? :: cd /home/oracle/admin/zjport/bdump
148     ? :: tail -f *.log
149     ? :: cd /home/oracle/admin/standby/bdump
150     ? :: tail -f *.log
151     ? :: errpt
152     ? :: cd /home/oracle/admin/standby/bdump
153     ? :: tail -f *.log
154     ? :: vi ~/.bash_profile
155     ? :: su -
156     2012/02/23 10:54:45 :: env
157     2012/02/23 10:54:49 :: history
158     2012/02/23 10:54:54 :: fc -t

4、切换回ROOT,发现也可以实现记录时间了
$ su -
root's Password: 
P560A:/#fc -t
539     ? :: set -o vi or ksh -o vi
540     ? :: history
541     ? :: errpt -a>errpt-a.20111223
542     ? :: fc -t
543     ? :: whoami
544     ? :: more /etc/profile
545     ? :: cp /etc/profile /etc/profile_bak
546     ? :: vi /etc/profile
547     ? :: whoami
548     ? :: cd /etc
549     ? :: ls -lt|grep pro
550     ? :: vi /etc/environment
551     ? :: env
552     ? :: fc -t
553     ? :: fc -t
554     2012/02/23 10:56:04 :: fc -t

附:在AIX下 运行history命令显示出来的历史命令的语句是什么
1. $set -o vi or ksh -o vi
2. 按esc,k--上一次命令,j下一个命令,可以编辑命令,操作同vi


本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/787549,如需转载请自行联系原作者
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
19天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
56 23
Linux系统之whereis命令的基本使用
|
6天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
60 25
|
4天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
15 2
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
45 11
|
3月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
162 8
|
存储 Unix Linux
Linux命令历史记录管理:使用history命令提高工作效率
Linux命令历史记录管理:使用history命令提高工作效率
1053 0
|
Linux
Linux命令之history
Linux命令 history
187 0
|
Shell Linux 开发工具
10.3.2 【Linux】历史命令:history
10.3.2 【Linux】历史命令:history
178 0
|
Linux
【Linux】命令别名与历史命令(alise\history)
【Linux】命令别名与历史命令(alise\history)
286 0
【Linux】命令别名与历史命令(alise\history)