Linux下history命令输出时间方式

 更新时间:2025年07月07日 09:13:41   作者:言之。  
本文详解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

注意事项

历史记录大小:确保 HISTSIZEHISTFILESIZE 设置足够大,以保存足够的历史记录。例如,在 ~/.bashrc 中添加:

export HISTSIZE=10000
export HISTFILESIZE=20000

安全性:时间戳会记录每个命令的执行时间,这可能涉及隐私或安全问题。请根据需要调整权限和可访问性。

Zsh Shell

如果你使用的是 Zsh,同样可以配置时间戳。

步骤:

启用时间戳

编辑你的 ~/.zshrc 文件,添加以下行:

HIST_STAMPS="yyyy-mm-dd"

你也可以使用其他格式,如 "mm/dd/yyyy""iso"

应用更改

执行以下命令以使更改生效:

source ~/.zshrc

查看历史记录

使用 historyfc -l 命令查看带有时间戳的历史记录:

history
# 或
fc -l

示例输出:

1  2024-04-26 ls -la
2  2024-04-26 cd /var/www
3  2024-04-26 vim index.html

注意事项

历史记录设置:确保 HISTSIZESAVEHIST 设置足够大。例如,在 ~/.zshrc 中添加:

HISTSIZE=10000
SAVEHIST=20000

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Ubuntu交换区(Swap)扩容实现方式

    Ubuntu交换区(Swap)扩容实现方式

    本文介绍了如何在Linux系统中调整Swap分区和Swap文件的大小,包括关闭当前Swap、删除旧的Swap、创建新的Swap(文件或分区)、格式化新Swap、启用新Swap、验证新Swap状态以及编辑fstab文件以确保新Swap在开机时自动挂载
    2026-02-02
  • Linux实现自动挂载autofs的方法详解

    Linux实现自动挂载autofs的方法详解

    这篇文章主要介绍了Linux实现自动挂载autofs的相关资料。autofs 服务将实现自动挂载外围设备,NFS共享目录等,并在空闲5分钟后后自动卸载,需要的可以参考一下
    2022-10-10
  • linux服务器显卡崩溃解决方案

    linux服务器显卡崩溃解决方案

    这篇文章主要介绍了linux服务器显卡崩溃解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • CentOS设置精准时间的方法

    CentOS设置精准时间的方法

    下面小编就为大家分享一篇CentOS设置精准时间的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • CentOS7系统下部署MySQL 5.7.34服务全过程

    CentOS7系统下部署MySQL 5.7.34服务全过程

    这篇文章主要为大家详细介绍了如何通过普通用户 test 在 CentOS 7 系统下部署 MySQL 5.7.34,适用于中小型服务部署、开发测试环境以及基于裸机的数据库初始化场景
    2025-07-07
  • Apache No space left on device的解决办法

    Apache No space left on device的解决办法

    [Fri Aug 15 10:54:31 2008] [emerg] (28)No space left on device: Couldn't create accept lockdf一下发现不是磁盘空间的问题。Google了一下就找到了解决方案,原来是系统的信号量(?)不够用了。
    2008-08-08
  • linux下建站目录分配权限的经验技巧总结

    linux下建站目录分配权限的经验技巧总结

    在建站的时候给目录分配权限是非常重要的,也是建站的程序员们必须要会的,下面这篇文章主要给大家总结了在linux下建站目录分配权限的经验技巧,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • Apache Sqoop数据采集原理解析

    Apache Sqoop数据采集原理解析

    Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目,本文给大家介绍Apache Sqoop数据采集原理解析,感兴趣的朋友一起看看吧
    2025-04-04
  • Linux系统下SSD磁盘识别方法详解

    Linux系统下SSD磁盘识别方法详解

    在当今数据驱动的时代,存储介质的选择直接影响着系统性能,固态硬盘(SSD)以其卓越的 I/O 性能逐渐取代传统机械硬盘(HDD),成为服务器和高端工作站的标配,本文给大家介绍了Linux系统下SSD磁盘识别方法,需要的朋友可以参考下
    2025-05-05
  • Linux安装yum时出现apt-get install E: 无法定位软件包问题解决

    Linux安装yum时出现apt-get install E: 无法定位软件包问题解决

    这篇文章主要介绍了Linux安装yum时出现apt-get install E: 无法定位软件包问题解决的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-12-12

最新评论