一、命令简介
- 用途: 用于测量 Linux 命令执行的时间,包括实际时间、用户 CPU 时间和系统 CPU 时间。刚开始以为是用来“看现在几点钟”的 🥲。
- 标签: 实用工具,性能分析。
二、命令参数
2.1 命令格式
time [选项] [命令] [参数]
2.2 选项和参数
选项:
-
-o FILE
:指定输出文件。 -
-a
:搭配-o
选项,将资源使用信息附加到输出文件。sudo time -v -a -o time.log ls
-
-f FORMAT
:自定义输出格式,使用各种占位符来表示不同的时间度量。 -
-v
:使用内置的详细格式。 -
--quiet
:即使程序的退出状态非零,也不报告程序的状态。 -
-V
:打印time
的版本号并退出。
三、命令示例
3.1基本语法
使用 time
命令通常很简单,只需在其后跟上你想测量的命令即可,例如:
#示例1
time ls
#示例2
time updatedb
输出结果:
- real:命令实际执行的总时间,从开始到结束。
- user:命令在用户态(非内核态)执行所花费的时间。
- sys:命令在系统态(内核态)执行所花费的时间。
3.2详细输出
使用 -v 选项获取更详细的输出信息,可能要使用 sudo 权限,不然显示【未知命令】
sudo time -v tar -czf new.tar.gz /bin/*
输出
3.3脚本中使用
脚本
#!/bin/bash
{ time updatedb; } 2>&1 | tee time.txt
执行
其他
内置命令与外部命令:在某些 shell 中,time
既可以是一个内置命令也可以是一个外部命令。通常,可以通过 type time
来查看是哪种类型。
精确度:time
命令提供的是一种相对粗略的测量方法,如果需要更精确的时间测量,可以考虑使用其他工具,如 gettimeofday
或 clock_gettime
。
注意事项
-
time
命令可以帮助您评估命令或脚本的性能,对于性能分析和调试非常有用。