The time command in Linux is a powerful utility that allows users to measure the duration of execution for a specific command or script. It is an essential tool for system administrators, developers, and anyone working on optimizing performance in their Linux environment.
If you are looking to improve the speed and efficiency of your scripts or commands, using the time command can help you identify performance bottlenecks and optimize your code. By comparing the execution times of different scripts, you can determine which one performs better and make data-driven decisions about how to improve your code.
Time Command Versions
The two most commonly utilized Linux shells, Bash and Zsh, come equipped with their own native versions of the time command, which supersede the Gnu time command.
The type
command can be employed to ascertain whether “time” is a binary term or a built-in keyword.
type time
Output:
# Bash
time is a shell keyword
# Zsh
time is a reserved word
# GNU time (sh)
time is /usr/bin/time
In order to employ the Gnu time command, it is necessary to indicate the complete pathway to the time binary, which is usually located at /usr/bin/time
. Alternatively, one can use the “env
” command or insert a leading backslash “\time
” to avoid the utilization of both and built-ins.
With Gnu time, it is possible to format the output and obtain valuable information such as memory I/O and IPC calls.
Using Linux Time Command
We will now gauge the duration it takes to download the Linux kernel utilizing the wget utility, as demonstrated in the ensuing illustration:
time wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.9.tar.xz
The output that will be printed is contingent on the particular version of the time command being utilized:
Output:
# Bash
real 0m33.961s
user 0m0.340s
sys 0m0.940s
# Zsh
0.34s user 0.94s system 4% cpu 33.961 total
# GNU time (sh)
0.34user 0.94system 0:33.96elapsed 4%CPU (0avgtext+0avgdata 6060maxresident)k
0inputs+201456outputs (0major+315minor)pagefaults 0swaps
- The elapsed time, also known as the real or total time, refers to the duration between the initiation and completion of the call. It encompasses the time from when the
Enter
key is pressed to when thewget
command is finished executing. - The user metric signifies the quantity of CPU time consumed in user mode.
- The system, or sys, metric represents the quantity of CPU time utilized in kernel mode.
Conclusion
Thank you for taking the time to learn about the Gnu time command. With this knowledge, you can better manage your system resources and optimize your workflow. If you’re looking to expand your understanding of the time command and its capabilities, we recommend visiting the time man page for more information. By using this command effectively, you can improve your productivity and make the most of your time. Don’t hesitate to explore this powerful tool and its many applications.