Linux 中的 time 命令及示例 - Linux 命令行教程Linux 中的 time 命令及示例 - Linux 命令行教程Linux 中的 time 命令及示例 - Linux 命令行教程Linux 中的 time 命令及示例 - Linux 命令行教程
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux 中的 time 命令及示例 - Linux 命令行教程

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 中的 time 命令就像直接内置在命令行终端中的秒表。 time 命令能够跟踪任何命令完成执行所需的时间。您所需要做的就是在某个命令前加上时间命令。您的命令将正常执行,但它也会显示命令的持续时间。

如果您曾经需要测量命令的持续时间,那么这是一个完美的工具。这是一个基本命令,选项很少,目的也很简单。所以,学习时间并不长。在本教程中,您将通过示例学习如何在 Linux 中使用它。请按照下面的示例来了解它是如何工作的。

在本教程中您将学习:

  • 如何在 Linux 上使用 time 命令

常用选项

time命令语法简单,用途也很简单,所以不需要花很长时间就能学会。以下示例将教您有关 time 命令所需了解的所有信息,高级部分将向您展示一些较少使用的选项,这些选项可能偶尔会派上用场。

请注意,在本指南中,我们主要使用 Bash time 命令。 GNU 和其他系统 shell(例如 zsh)有自己的 time 命令版本,其工作方式略有不同。主要是他们的输出看起来有点不同。

Linux 中的 time 命令基本示例

  1. 如前所述,只需在任何命令前面添加 time 命令即可测量命令执行所需的时间。一个完美的例子是 wget 命令,它用于从 Internet 下载文件。使用time命令,我们可以有效地测量一个文件下载到我们的计算机上需要多长时间。

    $ time wget http://example.com/linux.iso
    

    我们要关注的部分是最后三行,这是按时间输出的。

    real	4m12.067s
    user	0m0.086s
    sys	0m1.030s
    

    这些信息的含义如下:

  2. 现在让我们尝试相同的下载,同时使用 GNU 时间 进行测量。我们可以通过提供命令的完整路径 - /usr/bin/time 来告诉我们的系统使用 time 命令的特定实现。

    $ /usr/bin/time wget http://example.com/linux.iso
    

    我们只关心最后两行——来自 GNU time 的行。

    0.05user 0.95system 0:08.64elapsed 11%CPU (0avgtext+0avgdata 7220maxresident)k
    0inputs+30488outputs (0major+428minor)pagefaults 0swaps
    

注意
您始终可以使用 man 命令来阅读有关 time 命令及其官方文档的更多信息。单击上一个链接可查看如何打开 Linux 系统上任何命令的手册页。

高级用法

time 命令非常简单,您可能会发现在运行该命令时通常不会提供任何额外的选项。然而,有一些不同的选项可以提供 GNU time ,它们在各种情况下肯定会派上用场。在本指南的这一部分中,我们将向您展示一些我们认为有用的鲜为人知的选项。

Linux 中的 time 命令高级示例

  1. 使用 -o 选项将 time 输出发送到指定文件,而不是像通常那样发送到标准错误。

    $ /usr/bin/time -o download.log wget http://example.com/linux.iso
    
  2. 使用 -v(详细)选项可以获得非常详细的输出。请注意,输出非常大,因此您可能不会经常使用此选项。

    $ /usr/bin/time -v wget http://example.com/linux.iso
    
    	Command being timed: "wget https://wordpress.org/latest.tar.gz"
    	User time (seconds): 0.08
    	System time (seconds): 0.25
    	Percent of CPU this job got: 10%
    	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.15
    	Average shared text size (kbytes): 0
    	Average unshared data size (kbytes): 0
    	Average stack size (kbytes): 0
    	Average total size (kbytes): 0
    	Maximum resident set size (kbytes): 7112
    	Average resident set size (kbytes): 0
    	Major (requiring I/O) page faults: 0
    	Minor (reclaiming a frame) page faults: 426
    	Voluntary context switches: 455
    	Involuntary context switches: 76
    	Swaps: 0
    	File system inputs: 0
    	File system outputs: 29448
    	Socket messages sent: 0
    	Socket messages received: 0
    	Signals delivered: 0
    	Page size (bytes): 4096
    	Exit status: 0
    

结束语

在本指南中,我们全面了解了 time 命令,当您需要测量在 Linux 系统上执行某些操作所需的时间时,这是您需要了解的唯一命令。该命令非常简单,因此通常不需要使用任何额外选项来运行它。但是,我们在本指南中向您展示了一些方便的选项,这些选项在某些情况下可能很有用。

©2015-2025 Norria support@norria.com