Linux time命令

Linux 的 time 命令是用来计算一个命令的执行时间的。它会返回命令的执行时间以及用户CPU时间、系统CPU时间、子进程CPU时间等统计信息。下面是time命令的用法和实例:

time命令用法

time [options] command [argument...]

time命令选项

  • -f FORMAT, --format=FORMAT:自定义输出格式,可用的占位符见下文
  • -o FILE, --output=FILE:将结果写入文件,而不是输出到终端
  • -p:使用POSIX标准格式输出结果
  • -v:使用verbose模式输出结果

time命令占位符

  • %E:命令的执行时长(例:"0:00.01")
  • %U:用户CPU时间(例:"0.00s")
  • %S:系统CPU时间(例:"0.00s")
  • %P:命令的CPU利用率(例:"1%")
  • %M:最大内存使用情况(单位:KB)
  • %W:退出状态草丛(类似于命令返回值)

time命令实例

实例1:计算命令执行时间

我们经常需要知道一些命令的执行时间以及资源占用情况。通过time命令,我们可以轻松地获取到这些信息。

time ping -c 5 www.baidu.com

输出结果如下:

PING www.baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148: icmp_seq=1 ttl=51 time=11.7 ms
64 bytes from 220.181.38.148: icmp_seq=2 ttl=51 time=10.0 ms
64 bytes from 220.181.38.148: icmp_seq=3 ttl=51 time=10.1 ms
64 bytes from 220.181.38.148: icmp_seq=4 ttl=51 time=10.0 ms
64 bytes from 220.181.38.148: icmp_seq=5 ttl=51 time=10.2 ms

--- www.baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4009ms
rtt min/avg/max/mdev = 10.026/10.422/11.718/0.707 ms

real    0m4.131s
user    0m0.000s
sys 0m0.000s

输出结果中的real、user和sys各表示命令执行的总时间、用户CPU时间和系统CPU时间。在这个示例中,我们得到的结果是“real 0m4.131s”,它表示ping 命令执行了4.131秒。我们也可以利用-f选项自定义输出格式,比如:

time -f "real %e seconds. user %U seconds. sys %S seconds." ping -c 5 www.baidu.com

输出结果如下:

PING www.baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148: icmp_seq=1 ttl=51 time=10.9 ms
64 bytes from 220.181.38.148: icmp_seq=2 ttl=51 time=10.0 ms
64 bytes from 220.181.38.148: icmp_seq=3 ttl=51 time=10.1 ms
64 bytes from 220.181.38.148: icmp_seq=4 ttl=51 time=10.0 ms
64 bytes from 220.181.38.148: icmp_seq=5 ttl=51 time=10.1 ms

--- www.baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 10.007/10.244/10.895/0.346 ms
real 4.014 seconds. user 0.001 seconds. sys 0.003 seconds.

在这个示例中,我们定义了一个输出格式,它包含了命令执行时间、用户CPU时间和系统CPU时间的信息。

实例2:比较两个命令的执行时间

我们经常需要比较两个命令的执行时间,用time命令可以轻松地实现这个需求。比如,我们希望知道一个简单的命令逆袭执行的时间和系统复制命令执行的时间哪个更短,可以这样做:

time seq 1000 | sort > /dev/null

输出结果如下:

real    0m0.003s
user    0m0.000s
sys 0m0.004s

其中real、user和sys各表示命令执行的总时间、用户CPU时间和系统CPU时间。这个命令使用了管道符,将seq命令的输出传递给sort命令,并将sort命令的输出传递给/dev/null,从而去除所有的输出。我们也可以使用-f选项自定义输出格式,比如:

time -f "real %e seconds. user %U seconds. sys %S seconds." cp -r /usr/lib /tmp

输出结果如下:

real 3.601 seconds. user 0.418 seconds. sys 2.692 seconds.

在这个示例中,我们使用cp命令将/usr/lib目录复制到了/tmp目录,并利用-f选项自定义了输出格式,得到了命令执行时间、用户CPU时间和系统CPU时间的信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux time命令 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • CentOS 7.2配置Apache服务httpd(上)

    CentOS7.2配置Apache服务httpd(上) 导语 Apache是一款非常流行的Web服务器软件,可在多数操作系统上运行。本文将介绍在CentOS 7.2上配置Apache服务httpd的过程。 安装Apache服务 在安装Apache服务之前,我们需要先更新系统: sudo yum update 然后,安装Apache服务: sudo yum i…

    Linux 2023年5月14日
    00
  • linux 基础(10)进程管理

    使用 ps 观察程序 ps -l ps程序可以查询当前在运行的进程信息。ps -l可以列出详细的信息,默认仅列出当前 bash 相关的进程。 sudo -i ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 2133 2113 0 80 0 – 3026 do_sys pts/0…

    Linux 2023年4月10日
    00
  • centos系统安装Kubernetes集群步骤

    下面我将详细讲解“CentOS系统安装Kubernetes集群步骤”的完整攻略,过程中将包含两条示例说明。 1. 安装必要的软件和配置环境 首先,需要安装一些必要的软件,包括Docker、kubeadm、kubelet和kubectl。在安装之前需要添加Kubernetes软件仓库,步骤如下: # 添加Kubernetes软件仓库 $ vi /etc/yum…

    Linux 2023年5月14日
    00
  • Linux下JDK安装教程

    下面是“Linux下JDK安装教程”的详细攻略。 1. 下载JDK安装包 首先,需要前往Oracle官网下载适合自己操作系统架构的JDK安装包。可以通过以下链接进入下载页面: https://www.oracle.com/java/technologies/javase-downloads.html 在下载页面选择符合自己系统版本的JDK安装包,点击下载即可…

    Linux 2023年5月14日
    00
  • 在CentOS上安装搭建PHP+Apache+Mysql的服务器环境

    安装Apache 首先我们需要在CentOS上安装Apache作为Web服务器。使用以下命令来安装Apache: sudo yum install httpd 安装完成后可以启动Apache,并设置其随系统启动: sudo systemctl start httpd sudo systemctl enable httpd 可以通过访问服务器的公共IP地址,来…

    Linux 2023年5月14日
    00
  • Linux sar命令

    Linux sar命令的作用与使用方法 简介 sar(System Activity Reporter)是一个用于收集、报告和存储系统活动信息的命令行工具。它可以收集各种系统活动信息,如 CPU 使用率、内存使用率、磁盘 I/O、网络 I/O 等,并将这些信息存储在文件中,以供后续分析和报告。 安装 sar 命令通常包含在 sysstat 包中,因此需要先安…

    Linux 2023年5月10日
    00
  • CentOS下重新安装yum的方法分享

    下面是详细讲解“CentOS下重新安装yum的方法分享”的完整攻略。 1. 准备工作 在重新安装yum之前,确保你已经备份好了系统数据,以防止数据丢失。此外,需要保证系统联网并拥有sudo管理员权限。 2. 卸载旧版本yum 首先,我们需要卸载旧版本yum: sudo yum remove yum 提示:如果提示“No package yum availab…

    Linux 2023年5月14日
    00
  • Centos 6中编译配置httpd2.4的多种方法详解

    标题 介绍 本文将讲解在CentOS6中编译配置httpd2.4的多种方法,通过这些方法能够方便快捷的配置和使用httpd2.4。 前置条件 在进行以下操作之前,请确保您的系统已经安装了以下环境: GCC编译器 Apache2.2.x APR1.5.x APR-util1.5.x 步骤 1. 下载httpd2.4源代码 从Apache官网下载httpd2.4…

    Linux 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部