LINUX下如何查看命令历史及输入时间?

发表于:2007-07-04来源:作者:点击数: 标签:
按向上箭头可以查到以前的命令,这个偶还知道,但是怎么知道我输入命令的时间呢? sakulagi 回复于:2004-11-27 11:33:43 这个问题挺有意思。bash_history里好像没有这个记录,不知道其他的日志力是不是有。 wallace888 回复于:2004-11-27 12:28:11 感觉有点创

按向上箭头可以查到以前的命令,这个偶还知道,但是怎么知道我输入命令的时间呢?

 sakulagi 回复于:2004-11-27 11:33:43
这个问题挺有意思。bash_history里好像没有这个记录,不知道其他的日志力是不是有。

 wallace888 回复于:2004-11-27 12:28:11
感觉有点创意,或许在工作中真的能用上哟!
估计应该写Shell才能实现吧

 李暮楚 回复于:2004-11-27 12:29:02
主要是我对邮件服务器的文件rcpthost修改了一次,然后当天就有人报告发信特别慢,我想知道是不是在修改之后出现的问题.

 wallace888 回复于:2004-11-27 12:33:03
邮件服务器我不熟悉的,不过你的这个问题我感觉很好,帮你支持这个帖子.希望高手给个回复!

 李暮楚 回复于:2004-11-27 13:32:10
非常感谢!!

 anhui 回复于:2004-11-27 22:50:33
history 命令是查看所使用的命令记录!
        但是查看使用的时间没用过!

 hutuworm 回复于:2004-11-27 23:43:28
export PROMPT_COMMAND='{
date "+: %c; `history 1 | { read x cmd; echo "$cmd"; }`";
} >> $HOME/.history-timestamp'

或者安装 Bash 3.0
http://ftp.gnu.org/gnu/bash/bash-3.0.tar.gz
bb. New HISTTIMEFORMAT variable; value is a format string to pass to
    strftime(3).  If set and not null, the `history' builtin prints out
    timestamp information aclearcase/" target="_blank" >ccording to the specified format when displaying
    history entries.  If set, bash tells the history library to write out
    timestamp information when the history file is written.

或者用Snare for Linux大炮打苍蝇 :P

 sakulagi 回复于:2004-11-28 12:59:32
不错。这个讨论很好。

 同行 回复于:2004-12-02 11:14:27
我也来学习一下。

 davidxueer 回复于:2004-12-02 11:42:03
学习

 dlcat 回复于:2004-12-02 12:24:44
[quote:8a210ce280="hutuworm"]export PROMPT_COMMAND='{
date "+: %c; `history 1 | { read x cmd; echo "$cmd"; }`";
} >> $HOME/.history-timestamp'

或者安装 Bash 3.0
http://ftp.gnu.org/gnu/bash/bash-3.0.tar.gz
bb. New HIS..........[/quote:8a210ce280]
编的很好,可是我照着做了没通过啊

 NetSnake 回复于:2004-12-02 13:20:42
在Debian上,你可以安装acct包,然后就有命令
lastcomm
应该可以满足你的要求。

 zzzzzjjjjj 回复于:2004-12-07 00:29:52
不错不错,,学习

 zzzzzjjjjj 回复于:2004-12-07 00:33:43
可是为什么直接回车也会把之前的命令记录下来呢?
我把${USER}加进去了,如果想把ip也加进去,应该是哪个变量呢?${FROM}我试了,好像不是。
请指教3333333xxxxxxxx

 zzzzzjjjjj 回复于:2004-12-07 10:48:59
还是想知道,,所以顶一下

 dahai01 回复于:2005-06-03 18:34:48
希望写这样脚本的时候,能段落清楚,这样以下写下来,俺们初学者看上去非常不爽.
最好写上注释.

 flute 回复于:2005-06-03 18:45:36
在FREEBSD下用history -r或-T。

 zyliu2002cn 回复于:2005-07-04 03:38:56
试了有个楼主给的PROMPT_COMMAND,总是有问题。自己就写了个麻烦点的。:D 把他们加到.bashrc文件中, source .bashrc 即可。
# === Begin ====
datestamp_history(){
export infodate=`date "+: %c"`
export infohis=`history 1`
echo $infodate' => '$infohis >> $HOME/.history-timestamp
}
export PROMPT_COMMAND=datestamp_history
# === end =====

 linsu 回复于:2005-08-05 11:24:48
摘自:Red Hat Linux 9: Red Hat Linux 入门指南
用过的命令很可能会储存在一个叫做 .bash_history 的文件中.默认情况下,这个文件记载你在 shell 提示下键入的最后 500 个命令。 你可以在 shell 提示下键入 history 来把命令历史匆匆掠过,但是输出结果滚动的太快,你无法阅读每一行。 

查看 .bash_history 的另一种方法是使用一个 less 之类的工具。在 shell 提示下键入 less .bash_history ,结果就会被一页一页地显示。要向前翻阅,按 [Space] 键;要向后翻阅,按 [b] 键,要退出,按 [q] 键。 


你可能不需要查看这 500 个命令中的所有项目,因此命令 history 20 可能会更有用。这个命令只会显示你键入的前 20 个命令(你可以把 history 命令的参数改变成任何数量)。 

键入 !! 来执行历史中的最后一项命令。
键入 !数字(如 !302)会执行命令历史文件中的第 302 项
键入 !字串(如 !rpm)会执行命令行中匹配该字串的最新近输出的命令。

 snowtty 回复于:2005-08-05 13:54:36
要的就是这种效果呀

原文转自:http://www.ltesting.net