linux的bash内部命令history就可以显示命令行的命令历史,默认环境执行 history
命令后,通常只会显示已执行命令的序号和命令本身。
如果想要查看命令历史的时间戳,那么可以执行:
# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
这样显示的格式就变成,序号 - 时间 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制历史命令记录的总行数
将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450
条:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改历史文件名称
默认情况下,命令历史存储在 ~/.bash_history 文件中。添加下列内容到 .bash_profile 文件并重新登录
bash shell,将使用 .commandline_warrior 来存储命令历史:
# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior
3、使用 HISTCONTROL 从命令历史中剔除连续重复的条目
在下面的例子中,pwd 命令被连续执行了三次。执行 history 后会看到三条重复的条目。要剔除这些重复的条目,可以将
HISTCONTROL 设置为 ignoreps:
# export HISTCONTROL=ignoreps
4、使用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoreps 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成
eraseps:
# export HISTCONTROL=eraseps
5、使用 -c 选项清除所有的命令历史
如果你想清除所有的命令历史,可以执行:
# history -c
6、使用 HISTIGNORE 忽略历史中的特定命令
下面的例子,将忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”
② linux 查看历史命令执行时间
至少今天的时间日期是对的,写个shell,history每新增一条记录就写到一个文件里就OK了,然后把这个shell添加成服务。如果需要帮忙写可以说。
③ linux如何查看历史命令的时间
①-echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile
source /etc/profile
###执行上面的命令
④ 请问linux的history指令如何显示全部的历史记录
方法步骤如下:
1、首先打开linux客户端。
⑤ linux查看历史命令执行结果
不很明白您的问题。Linux下每个用户用他们各自的用户名登录,每个用户名下都有.bash_history(除非该用户或Admin另外设置),所以每个用户只会看到自己的history,而Admin只要去不同的用户下看该用户的.bash_history文件,就知道该用户的历史。
如果您的用户都是共用同一个用户名,那就很难查了。
⑥ linux 获取命令执行结果时间
执行命令后,执行date,类似于这种,ls ; date,如果是脚本可以把data保存为一个变量,通过echo $变量名 打印出来
⑦ 怎么查看 Linux 运行了多长时间和最后重启时间
对于Linux一般用户来说,是不会去注意系统最后一次的重启时间,除非是Linux工程师,如果你想要查看Linux最后重启时间的话,小编教你三种查看系统重启时间的方法。
方法一:last命令
# last reboot
reboot system boot 2.6.32-431.el6.i Wed Jul 30 13:44 - 21:39 (46+07:55)
reboot system boot 2.6.32-431.el6.i Sun Apr 13 14:28 - 09:27 (107+18:59)
reboot system boot 2.6.32-431.el6.i Tue Mar 25 22:27 - 14:19 (18+15:52)
这条命令实际上显示的是最近几天的系统运行时间。last原本被设计来显示某个特定用户的登录历史。在Linux中,有一个特别的“伪用户”称为reboot会在系统重启的时候立即自动登录。这样通过检查reboot用户的登录历史,你就可以检查最后的重启时间。
方法二:who -b
使用who命令带上‘-b’选项。
# who -b
system boot Jul 30 13:44
⑧ linux系统如何用一个指令去查看另一个指令执行用了多长时间
time命令可以查看执行时间
比如要查看ls执行时间, 可以用"time ls",就会看到执行时间了。
⑨ linux如何查看一个命令执行的时间
time命令可以查看执行时间
比如要查看ls执行时间, 可以用"time ls",就会看到执行时间了。关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》
⑩ linux查看历史操作记录
在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:
PS1="`whoami`@`hostname`:"'[$PWD]'
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
source /etc/profile 使用脚本生效
退出用户,重新登录
上面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。
root@zsc6:[/tmp/dbasky/root]ls
10.1.80.47 dbasky.2013-10-24_12:53:08
root@zsc6:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08
查看在12:53:08从10.1.80.47登录的root用户操作命令历史