Time management in Linux is a key parameter for executing commands and managing the system’s performance. It shows the time of the system, which indicates the system’s speed and time taken by a specific command. The time command runs the programs and summarizes the time for the system resource usage. This guide will give a better understanding of this command using the following topics:
- What is the time Command in Linux?
- How to Use the time Command in Linux?
- Example 1: Time Consumed by a Specific Command
- Example 2: How to Get POSIX Format Time?
- Example 3: How to Get All the Time Details for a Command?
- Example 4: How to Format the Execution Time in Linux?
- Example 4.1: How to Format the Real, User, and System Time?
- Example 4.2: How to Format the Real Time Only?
- Example 4.3: How to Format the User Consumed (CPU) Time?
- Example 4.4: How to Save the Execution Time of a Command in a File?
Let’s start the guide!
Now let’s start discussing every point in detail from the next section
What is the time Command in Linux?
The time command is used to get the real execution time, the user CPU processing time, and the system CPU processing time. This command tells us the time it will be taken for a command to execute, which helps test the performance of the commands and scripts.
The General Syntax of the time command is as follows:
$ time [options] <command>
The components of the syntax are described below:
- time: Indicates the time command.
- option: Replace with built-in options of time command.
- command: Write your desired command for pausing.
Options for time Command
The time command has several built-in options which can be utilized by using the options with the command. The available options are written below:
-o | This option overwrites the file’s content and destroys the file’s previous content. |
-a | Append the information with the output. This command is used with the “o” option. |
-f | Formats the output for time command. |
-p | This option gives us the PSIOX output. |
–quiet | This option does not show anything in the output. |
If you want a detailed idea of the options and syntax for the “time” command, use the below command:
$ man time
Let’s get into the usage of the time command in Linux.
How to Use the time Command in Linux?
We can measure the execution time by prefixing the time with any command. To get the time for the “ls -l” (list the file in a directory) command, use:
$ time ls -l
The output shows three times consumed for running the command real, user, and sys time. Let’s understand these times!
- Real Time: This time is the time (Wall-clock time) consumed by the system CPU from pressing the “Enter” button to executing the command. The above result shows the real time of 0.014 seconds or 14 milliseconds.
- User Time: The time in seconds used by the CPU in user mode.
- System Time: System time is taken by Kernel to process the command.
Similarly, you can get the time taken by a process to copy one file’s content to another.
Example 1: Time Consumed by a Specific Command
To find the time consumed by copying the testfile1.txt to the testfilefile2.txt, execute the below command:
$ time cp testfile1.txt testfile2.txt
Example 2: How to Get POSIX Format Time?
POSIX is a standard format created by IEEE for smooth compatibility between different operating systems. To get the POSIX formatted time for “sudo apt update”, use the following command:
$ time -p sudo apt update
The real execution time is 5.02 seconds, and the system consumed time is 0.02 seconds.
To check the difference between the above two commands (time and time -p), the below output is provided, clearly showing the different formats for both commands:
$ time sudo apt update
$ time -p sudo apt update
Example 3: How to Get All the Time Details for a Command?
The normal time command shows real, user, and system times only, so if you want to display all the time related to the system, use the “/usr/bin/time” directory with the “v” flag of the time command. To get all the times for executing the pwd (print working directory) command, use:
$ /usr/bin/time -v pwd
It can be seen that the user time and system time are 0.00, whereas the elapsed wall clock shows the time taken by this to execute the command.
Example 4: How to Format the Execution Time in Linux?
By default, the time in Linux is formatted as hhmmss (for example, 2h13m9s), where h represents the hours, m for minutes, and s for seconds. Usually, the executions do not take hours to complete, so that you would see the time format as 3m2.16s.
To format the time in Linux, we use the /usr/bin/time file, where all the time-related command utilities are present. Let’s check the options for formatting the time Linux:
% | Shows a command literal |
%E | To show the real-time |
%U | For user |
%S | For system |
%C | Comand line arguments and name. |
%I | File inputs for the process. |
%P | Percentage CPU, which completes this process. |
%r | Socket messages received by the system. |
x | Exit the command. |
Let’s get into the details of these options.
Format the Time Using the /usr/bin/time Command
The directory /usr/bin/time has details about the time in Linux. To use the time command according to a specific format, we can use the /usr/bin/time directory as follows:
$ /usr/bin/time [options] <Command>
Let’s discuss the different working examples for this command.
Example 4.1: How to Format the Real, User, and System Time?
We can format the Real-time, User time, and System time using the /usr/bin/time file. If you want to show all the built-in times on the output for the “sudo apt update” command, use the below command utility:
$ /usr/bin/time -f "%E real,%U user,%S sys" sudo apt update
- f: Shows the format option.
- %E: Represents Real-time
- %U: Represents User time
- %S: Represents System time
The output shows the formatted time output with all three system times.
Example 4.2: How to Format the Real Time Only?
If you are running a command and require the Real-time only, you can format it by just using the “%E” option. For instance: to get only the real-time for the “sudo apt update”, execute the following command:
$ /usr/bin/time -f "%E real" sudo apt update
Example 4.3: How to Format the User Consumed (CPU) Time?
While executing the command, the time utilized by the User CPU (outside the Kernel) is User time. To get the User time only for “sudo apt update”, run the below command:
$ /usr/bin/time -f "%U User" sudo apt update
Example 4.4: How to Save the Execution Time of a Command in a File?
Sometimes, we need to save the execution times of the system to keep the performance record of the system. The /usr/bin/time allows us to put the time in a file named testfile3, using the below command:
Note: The “o” flag of /usr/bin/time command outputs the time into a file rather than the terminal.
$ /usr/bin/time -o testfile3.txt sudo apt update
End of this informative guide!
Conclusion
Linux time command is used to get the execution time, including real-time consumed by the system, user mode time, and system mode time. The time can be formatted to multiple formats using the available options in the time command and /usr/bin/time command. This blog post has covered the working and usage of the time command in Linux.