如何使用Linux时间命令(linux时间命令)

如何使用Linux时间命令(linux时间命令)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-03-03
文章简介

无论您是系统管理员还是虚拟专用服务器(VPS)用户,学习各种Linux命令将帮助您更高效地执行任务。在本教程中,您将了解Linux时间命令——它是什么、用途以及如何使用它。 Linux和类Unix操

2025阿里云双十一服务器活动

无论您是系统管理员还是虚拟专用服务器(VPS)用户,学习各种Linux命令将帮助您更高效地执行任务。在本教程中,您将了解Linux时间命令——它是什么、用途以及如何使用它。

Linux和类Unix操作系统中的时间命令可让您确定特定命令的运行时间。通常,它用于衡量脚本或命令的性能。命令完成任务的速度越快,其性能就越好。

此外,time命令还可以显示进程的系统资源使用情况,使其成为查看特定命令效率的有用工具。例如,您想在可以运行同一任务的两个cron作业之间进行选择。您可以通过运行time命令来确定每个cron作业完成任务所需的时间。

在我们开始讨论如何使用Linux时间命令之前,请记住它因您使用的shell而异。Linux系统中time命令有3个不同版本:

  • Bash——已经内置到shell中,可以通过输入time来运行。
  • Zsh——?和Bash一样,它也已经内置到系统中,通过输入time运行
  • GNU默认Linux(GNU)?–?可通过键入命令的显式路径usr/bin/time获得。
  • 要检查哪个Linux时间命令版本适用于您的系统,请在您的shell程序中输入以下内容:

  • 如果你得到输出timeisashellkeyword,你正在使用Bashtime命令。
  • 如果你得到输出timeisareservedword,你正在使用Zshtime命令。
  • 如果您得到输出timeisusr/bin/time,则您使用的是GNUtime命令。
  • 或者,您可以通过为usr/bin/time创建别名命令来简化Linux中的GNUtime命令。

    在本节中,您将学习Linuxtime命令的语法以及如何读取其输出。

    了解Linux时间命令的语法

    使用time命令非常简单——你所要做的就是打开你的shell程序并输入:

    要充分利用time命令,您必须了解其语法:

    [arg1][arg2]...[argN]

    Time使用任何给定的参数(?arg?)运行给定的命令。命令完成其任务后,时间会输出信息,其中包括运行命令所花费的持续时间及其使用的资源。

    如果程序命令以指示失败的非零状态退出,时间将输出警告消息和退出状态。

    通过输入命令使用的字符串格式,您可以确定在系统资源使用部分显示哪些信息。

    如果用户未指定任何格式,但设置了时间环境变量,则其值将用作格式。否则,将使用时间内置的默认格式。

    选项是改变时间输出的资源说明符。它们必须出现在命令之前。命令后输入的任何内容都将被视为参数。

    要查看可用于时间的所有选项,请在命令行中输入以下内容:

    您将看到可用于修改Linux时间命令输出的选项列表。请记住,这些选项可能会因特定操作系统和您使用的版本而异。

    让我们从一个简单的第一个例子开始。要了解运行用于显示所选目录内容的命令ls需要多长时间,请在shell中输入以下命令:

    您将看到ls命令的输出以及完成它所花费的时间。

    现在,让我们试着加入一个论点。在此示例中,我们将尝试找出将文件移动到不同目录需要多长时间:

    $timemvexample.txt示例目录

    因此,example.txt文件已移至example-dir,您将看到完成该过程所花费的时间。

    了解输出

    要完全了解Linux时间命令的好处,您必须知道如何阅读它的输出。

    读取终端中的输出

    内置时间命令的默认输出包含以下信息:

  • 实时(real)。流程从开始运行到结束所需的实际时间。这包括其他进程所花费的任何时间以及等待它们完成所花费的时间。
  • 用户时间(用户)。进程期间在用户模式下花费的CPU时间量。不包括其他进程和阻塞时间。
  • 系统时间(sys)。进程期间在内核模式下花费的总CPU时间。与用户时间类似,不统计其他进程和被其他进程阻塞的时间。
  • 这是一个例子。如果我们在命令行中输入以下命令,系统会下载开源虚拟机程序VirtualBox的安装程序:

    $时间wgethttps://download.virtualbox.org/virtualbox/6.1.28/virtualbox-6.1_6.1.28-147628~Ubuntu~eoan_amd64.deb

    下载完成后,你会看到三个数字——realusersys。如您所见,它们以分钟和秒为单位显示下载期间在实际、用户和系统模式下经过的时间。

    将输出写入文件

    有时,您可能希望保存使用时间收到的信息。幸运的是,有一个格式选项可以让您将命令输出写入文件。

    如果您使用GNUtime命令,-o选项将让您做到这一点——它将创建一个新的输出文件,其中包含有关其他命令的信息。

    例如,输入以下命令将hostinger.com的ping信息及其进程的详细信息保存到一个新文件中:

    如何使用Linux时间命令,linux时间命令

    请注意,如果您使用Bashshell并想使用-o或任何其他选项,则必须使用显式路径usr/bin/time而不是仅使用time来调用外部时间命令。

    $usr/bin/time-ohostinger-ping-info.logpinghostinger.com

    要检查hostinger-ping-info.log的内容,请使用cat命令:

    $cathostinger-ping-info.log

    在文件中获取详细输出

    默认时间命令输出可能不包含您想了解的有关特定进程的所有详细信息。要显示详细输出,请将-v选项添加到Linux中的时间命令。

    例如,如果要查找hostinger.com的ping或响应时间,并查看进程的详细信息,请输入以下命令:

    $time-vpinghostinger.com

    如果您不使用GNU时间命令或遇到标准错误流,请尝试通过输入完整路径usr/bin/time来触发外部时间命令:

    $usr/bin/time-vpinghostinger.com

    或者,用户可以使用以下输出格式选项自定义他们希望在输入时间命令时在输出中看到的信息类型:

    正在计时的命令的名称和命令行参数。

    d进程非共享数据区的平均大小,以千字节为单位。

    进程使用的经过的实际(挂钟)时间,以(小时:)分钟:秒为单位。

    进程运行时发生的主要页面错误或需要I/O的页面错误的数量。这些是页面已迁移出主内存的故障。

    进程输入的文件系统的第i个数。

    进程的平均总内存使用量(以千字节为单位)。

    进程在其生命周期内的最大驻留集大小,以千字节为单位。

    进程输出的文件系统数量。

    此作业获得的CPU百分比。这只是用户和系统时间除以总运行时间。它还打印一个百分号。

    次要或可恢复页面错误的数量。这些是无效但尚未被其他虚拟页面声明的页面。因此页面上的数据仍然正确,但必须更新系统表。

    系统代表进程(在内核模式下)使用的CPU秒总数,以秒为单位。

    进程直接使用(在用户模式下)的CPU秒总数,以秒为单位。

    进程被换出主内存的次数。

    进程中共享文本的平均数量(以千字节为单位)。

    z系统的页面大小,以字节为单位。作为每个系统的常量,它可能因系统而异。

    进程非自愿上下文切换的次数(因为时间片已过期)。

    进程使用的实际(挂钟)时间,以秒为单位。

    传递给进程的信号数。

    进程的平均非共享堆栈大小,以千字节为单位。

    进程收到的套接字消息数。

    进程发送的套接字消息数。

    进程的平均驻留集大小,以千字节为单位。

    程序主动进行上下文切换的次数,例如,在等待I/O操作完成时。

    命令的退出状态。

    例如,如果要显示命令接收到的套接字消息数,请在shell中输入以下内容:

    $/usr/bin/time-f“接收到的套接字消息:%r”命令

    或者,如果您使用Bashshell,您可能更喜欢内置时间命令的TIMEFORMAT。TIMEFORMAT使用特定的格式字符串让用户指定计时信息的显示方式。

    下面是TIMEFORMAT参数值的列表:

    经过的时间(以秒为单位)。

    进程在用户模式下花费的CPU秒数。

    进程在系统模式下花费的CPU秒数。

    CPU百分比,计算方式为(%U+%S)/%R。

    Linux中的time命令是检查特定进程的执行时间和整体性能的绝佳工具。在本指南中,您了解了Linux时间命令、它的用途、语法和输出。我们希望本指南能帮助您了解如何更有效地驾驭Linux系统。

    标签:
    什么是IaaS、PaaS和SaaS(iaaspaas和saas)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!