Linux下history命令输出时间方式
作者:言之。
本文详解Linux中Bash与Zsh记录命令执行时间的方法,通过设置HISTTIMEFORMAT环境变量,修改配置文件后使用history查看,需注意历史记录大小及隐私安全
在 Linux 中,查看每条命令的执行时间。
配置 Shell 以记录命令执行时间
Bash Shell
Bash 是最常用的 shell 之一,通过配置 HISTTIMEFORMAT
环境变量,可以在历史记录中包含时间戳。
步骤:
检查当前历史记录设置
首先,查看当前的 HISTTIMEFORMAT
是否已设置:
echo $HISTTIMEFORMAT
如果返回为空,说明尚未启用时间戳。
启用时间戳
编辑你的 ~/.bashrc
文件,添加以下行:
export HISTTIMEFORMAT="%F %T "
解释:
%F
表示日期(年-月-日)。%T
表示时间(时:分:秒)。
应用更改
执行以下命令以使更改生效:
source ~/.bashrc
查看历史记录
使用 history
命令查看带有时间戳的历史记录:
history
示例输出:
1 2024-04-26 10:15:30 ls -la 2 2024-04-26 10:16:05 cd /var/www 3 2024-04-26 10:16:20 vim index.html
注意事项
历史记录大小:确保 HISTSIZE
和 HISTFILESIZE
设置足够大,以保存足够的历史记录。例如,在 ~/.bashrc
中添加:
export HISTSIZE=10000 export HISTFILESIZE=20000
安全性:时间戳会记录每个命令的执行时间,这可能涉及隐私或安全问题。请根据需要调整权限和可访问性。
Zsh Shell
如果你使用的是 Zsh,同样可以配置时间戳。
步骤:
启用时间戳
编辑你的 ~/.zshrc
文件,添加以下行:
HIST_STAMPS="yyyy-mm-dd"
你也可以使用其他格式,如 "mm/dd/yyyy"
或 "iso"
。
应用更改
执行以下命令以使更改生效:
source ~/.zshrc
查看历史记录
使用 history
或 fc -l
命令查看带有时间戳的历史记录:
history # 或 fc -l
示例输出:
1 2024-04-26 ls -la 2 2024-04-26 cd /var/www 3 2024-04-26 vim index.html
注意事项
历史记录设置:确保 HISTSIZE
和 SAVEHIST
设置足够大。例如,在 ~/.zshrc
中添加:
HISTSIZE=10000 SAVEHIST=20000
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。