详解Linux命令history查看执行时间

Linux命令行中使用history命令可以查看之前执行的命令记录,但是,通过history命令也可以查看每个命令执行的时间,方便我们分析、查找和优化命令执行情况。本文将从多个方面对history命令查看命令执行时间做详细阐述。

一、history查看命令执行时间基本用法

history命令可以显示之前执行的命令列表,并且其中包含了执行时间信息,history命令的基本使用方法如下:

$ history
...
 2465  2022-02-15 17:13:34 ls
 2466  2022-02-15 17:13:43 date
 2467  2022-02-15 17:13:49 pwd
 2468  2022-02-15 17:13:54 whoami
...

上面的历史命令显示了之前执行过的一些命令,包括执行时间、命令数字和命令本身。从输出结果可以看出,每一个命令的前面都有一个数字,该数字即为这个命令的唯一标识(也称为历史命令号)。同时,每条命令的前面都有一个时间戳,该时间戳包含了该命令的执行日期和时间。

二、使用history命令查看命令执行的时间范围

有时候,我们需要仅查看一段时间内执行的命令,我们可以通过history命令的选项来实现。history命令的选项-r和-t可以帮助我们检索特定时间范围内的历史记录。

# 下面的命令会显示过去24小时内执行的所有命令
$ history -t $(date +%s -d '24 hours ago') 

# 下面的命令会显示从2022年1月1日到现在的所有命令
$ history -r '2022-01-01'

其中,选项-t接受一个时间戳作为参数,该时间戳是Unix时间(即自1970年1月1日0时0分0秒UTC起的秒数),通过date命令获取24小时前的时间戳,实现了查看过去24小时内执行的所有命令。

选项-r需要指定一个日期和时间的范围,通过此选项我们可以查看特定时间范围内执行的所有命令。上述命令通过-r选项,指定了从2022年1月1日开始的命令执行记录。

三、使用history命令查看具体的命令执行时间和执行时间间隔

除了上述的两种基本使用方法,通过history命令还可以查看具体的命令执行时间和执行时间间隔。具体方法如下:

# 显示最新执行命令的时间信息
$ history 1

# 显示命令号为2465的命令的执行时间信息
$ history 2465

# 显示命令号为2465和2466的命令的执行时间间隔
$ history 2465 2466

上述命令中,history命令通过指定参数,实现了查看具体的命令执行时间和执行时间间隔。

四、结合grep命令查找特定命令的执行时间

有时候我们需要查找某个命令的执行时间,可以使用grep命令结合history命令来实现。grep命令可以按照用户指定的模式,在文件或标准输入流中搜索匹配的行,并返回匹配的结果。

# 显示包含字符串“ls”的命令的执行时间信息
$ history | grep 'ls'

# 显示包含字符串“-a”和“-l”且以“chmod”命令开头的命令的执行时间信息
$ history | grep '^chmod.*-a.*-l'

上述命令中,history命令输出了之前执行的所有命令,然后通过管道符(|)将输出结果传递给grep命令进行过滤。grep命令通过指定搜索模式,筛选出包含指定字符串的命令,并返回相关执行时间信息。

五、使用bash内置变量获取命令执行时间信息

在bash中,还可以通过一些内置变量来获取命令执行的时间信息,比如$SECONDS和$LINENO。

其中,$SECONDS变量表示脚本或命令行shell的运行时间,单位为秒。$LINENO表示正在执行的当前脚本或命令行shell中的命令的行号。

$ echo "该命令执行了 $SECONDS 秒"

$ echo "当前命令所在行号:$LINENO"

上述命令将打印出脚本或命令行shell的运行时长和当前命令所在的行号。

六、结合其他命令查看命令执行时间信息

除了上述命令外,还可以通过其他命令结合history命令来查看命令执行时间信息。比如,我们可以结合awk命令,筛选出历史命令中最早和最晚的时间戳,以及整个命令执行的时间间隔。

# 显示历史列表中最早和最晚的时间戳,以及命令执行的时间间隔
$ history | awk '{print $2}' | {head -n1 && tail -n1; printf "%.2f minutes total.\n",($NF-$2)/60}'

# 显示历史列表中最早和最晚的时间戳,以及命令执行的时间间隔(以小时为单位)
$ history | awk '{print $2}' | {head -n1 && tail -n1; printf "%.2f hours total.\n",($NF-$2)/3600}'

上述命令分别通过head命令和tail命令,获取历史命令列表中最早和最晚的时间戳。随后,使用awk命令进行解析,计算出命令执行的时间间隔,并按照分钟或小时为单位输出。

总结

通过本文的介绍,相信大家已经掌握了Linux命令history查看命令执行时间的各种方法。通过结合不同的命令,我们可以更加灵活方便地查看和分析命令执行时间信息,提高我们的工作效率。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/291551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-24 14:16
下一篇 2024-12-25 14:06

相关推荐

  • Git config命令用法介绍:用正确的邮箱保障开发工作

    本文将详细介绍如何使用git config命令配置Git的全局和本地用户信息,特别是如何正确使用用户邮箱,保障Git操作的正常进行。 一、git config命令介绍 Git中的每…

    编程 2025-04-29
  • Python命令大全及说明

    Python是一种高级编程语言,由Guido van Rossum于1989年底发明。它具有良好的语法结构和面向对象的编程思想,具有简洁、易读、易学的特点,是初学者以及专业开发人员…

    编程 2025-04-29
  • Python SSH 远程执行命令

    Python SSH 远程执行命令是指在一个服务器上执行远程另一个服务器上命令。如果你需要在本地机器上执行命令,或者在远程机器上执行本地命令,你都可以使用 SSH。在 Python…

    编程 2025-04-29
  • 剖析命令执行函数

    在编程开发过程中,命令执行函数是非常常见的一个概念。它是指接受一个命令字符串,并将其解析执行,返回相应的结果或错误信息的函数。本文将从多个方面对命令执行函数进行详细的阐述,包括其定…

    编程 2025-04-28
  • 如何使用Python执行Shell命令并获取执行过程信息

    本文将介绍如何使用Python执行Shell命令并获取执行过程信息。我们将从以下几个方面进行阐述: 一、执行Shell命令 Python内置的subprocess模块可以方便地执行…

    编程 2025-04-28
  • Python中获取用户输入命令的方法解析

    本文将从多个角度,分别介绍Python中获取用户输入命令的方法,希望能够对初学者有所帮助。 一、使用input()函数获取用户输入命令 input()是Python中用于获取用户输…

    编程 2025-04-27
  • Python3 执行 cmd 命令用法介绍

    本文将详细讲解如何使用Python3执行cmd命令,包括使用subprocess模块、os模块、Popen方法、system方法等多个方面的实现方法。 一、使用subprocess…

    编程 2025-04-27
  • 全面解析Python直接命令更新

    本文将从多个方面对Python直接命令更新进行详细阐述,包括更新命令的基本用法、更新过程中可能遇到的问题及其解决方法等等。 一、更新命令基本用法 Python直接命令更新是一种非常…

    编程 2025-04-27
  • 如何在Linux中添加用户并修改配置文件

    本文将从多个方面详细介绍在Linux系统下如何添加新用户并修改配置文件 一、添加新用户 在Linux系统下创建新用户非常简单,只需使用adduser命令即可。使用以下命令添加新用户…

    编程 2025-04-27
  • Python启动命令用法介绍

    Python是一门解释型语言,与许多编译型语言不同,它不需要编译成机器码,而是通过解释器一行一行读取程序,逐句翻译成目标代码然后运行。因此,对于Python程序员来说,学会如何正确…

    编程 2025-04-27

发表回复

登录后才能评论