在Linux或Unix系统中,time
命令是一个非常有用的工具,用于测量程序或脚本的执行时间。它不仅可以帮助我们了解程序运行所需的时间,还可以提供其他有用的信息,如CPU使用率等。
time
命令的基本语法如下:
time [选项] 命令
其中,命令
是你想要测量执行时间的任何合法的Shell命令或脚本。
例如,要测量一个简单的ls
命令的执行时间,可以这样使用:
time ls
执行上述命令后,你会看到类似以下的输出:
real 0m0.005s
user 0m0.001s
sys 0m0.002s
real
:表示从开始到结束整个过程所花费的实际时间(wall clock time)。user
:表示程序在用户模式下实际使用的CPU时间。sys
:表示程序在内核模式下实际使用的CPU时间。如果你需要更详细的输出或者自定义输出格式,可以使用/usr/bin/time
命令(通常这个版本比内置的time
命令功能更强大)。你可以通过-f
或--format
选项来指定输出格式。
例如:
/usr/bin/time -f "Elapsed time: %E, User time: %U, System time: %S" ls
常用的格式说明符包括:
%E
:整个过程的实际时间(real time)。%U
:用户模式下的CPU时间。%S
:系统模式下的CPU时间。%P
:CPU使用率,以百分比表示。除了简单的命令外,你还可以使用time
来测量脚本或复杂命令链的执行时间。例如:
time (sleep 2; echo "Hello World")
在这个例子中,time
会测量sleep 2
和echo "Hello World"
整个命令链的执行时间。
假设你有一个Python脚本script.py
,你想测量它的执行时间。可以按照以下步骤操作:
创建一个名为script.py
的文件,并写入以下内容:
import time
start_time = time.time()
# 模拟一些耗时操作
for i in range(1000000):
pass
end_time = time.time()
print("Script execution time:", end_time - start_time, "seconds")
在终端中运行以下命令:
time python script.py
这将输出脚本本身的执行时间和time
命令测量的整体执行时间。
time
命令而不是Shell内置的time
命令,特别是在需要高级功能时。