为你在 Bash 历史中执行过的每一项命令设置时间和日期

简介:

在默认情况下,所有通过 Bash 在命令行中执行过的命令都被存储在历史缓存区或者一个叫做~/.bash_history 的文件里。这意味着系统管理员可以看到系统上用户执行过的命令清单,或者用户可以通过像 history 命令这样的选项来看他或她自己的命令历史。


 
 
  1. $ history

Linux 历史命令

Linux 历史命令

从上面 history 命令的输出可知,命令被执行的日期和时间并没有显示出来。基本上所有的 Linux 发行版的默认设置都是这样的。

在这篇文章里,我们将解释当在 Bash 中执行 history 命令显示每个命令时,如何配置显示时间戳信息。

每个命令相关的日期和时间可以记录到历史文件中,用 HISTTIMEFORMAT 环境变量的设置作为命令历史的备注记录。

这里有两种可行的方式来达到目的:一种是暂时的效果,一种是永久的效果。

要临时设置 HISTTIMEFORMAT 环境变量,在命令行这样输出它:


 
 
  1. $ export HISTTIMEFORMAT='%F %T'

在上面的输出命令当中,时间戳格式如下:

1、%F-展开为完整日期,即 %Y-%m-%d(年-月-日)。

2、%T-展开为时间,即 %H:%M:%S(时:分:秒)。

通读 date 命令的 man 手册来获得更多使用说明:


 
 
  1. $ man date

然后如下检查你的命令历史:


 
 
  1. $ history

显示带有日期和时间的 Linux 命令历史。

显示带有日期和时间的 Linux 命令历史。

(LCTT 译注:注意:这个功能只能用在当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会被打上正确的时间戳。在此之前的所有命令,都将会显示成设置 HISTTIMEFORMAT 变量的时间。)

然而,如果你想永久地配置该变量,用你最喜欢的编辑器打开文件 ~/.bashrc


 
 
  1. $ vi ~/.bashrc

然后在下方添加(用注释将其标记为你自己的配置):


 
 
  1. # 我的配置
  2. export HISTTIMEFORMAT='%F %T'

保存文件并退出,然后,运行下面的命令以便改动当即生效:


 
 
  1. $ source ~/.bashrc

原文发布时间为:2017-01-23

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
Linux Shell Windows
4:Bash shell命令-步入Linux的现代方法
4:Bash shell命令-步入Linux的现代方法
333 0
|
关系型数据库 MySQL Shell
【Linux命令】-bash: mysql: command not found
【Linux命令】-bash: mysql: command not found
364 0
|
Kubernetes Shell Docker
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
|
缓存 Shell 开发工具
Git Bash⭐一、安装软件,与Git Bash基础命令
Git Bash⭐一、安装软件,与Git Bash基础命令
|
Shell Linux
在Linux中,哪⼀个bash内置命令能够进行数学运算?
在Linux中,哪⼀个bash内置命令能够进行数学运算?
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
存储 Shell
Bash 脚本中的 `hash` 命令
【8月更文挑战第19天】
334 0
|
Unix Shell Linux
技术经验分享:Bash脚本命令使用详解
技术经验分享:Bash脚本命令使用详解
1209 0
|
Shell
shell 命令(一)概述【别名、 bash重定向 、定义变量】
shell 命令(一)概述【别名、 bash重定向 、定义变量】
245 0
|
Linux Shell 开发工具
linux】-bash:vim:未找到命令
linux】-bash:vim:未找到命令
445 0