El comando de tiempo en Linux muestra el tiempo que tarda en ejecutarse un comando. Se utiliza junto con otros comandos para analizar el tiempo de ejecución.
El comando de tiempo es útil para medir el rendimiento de los scripts. El tiempo empleado es una métrica importante para medir el rendimiento.
Uso del comando de tiempo
Usar el comando de tiempo en Linux es tan simple como escribir "tiempo" antes del comando que desea ejecutar. Veamos cuánto tarda en mostrarse la salida del comando ls:
$ time ls
Obtenemos la salida que consta de tres tipos diferentes de tiempos. Llegaremos a ellos en un momento.
Probemos con otro comando:
$ time ping linuxfordevices.com
La salida del comando de tiempo viene después de la salida del comando con el que lo estamos ejecutando.
Los tres tipos de tiempos al final son real, usuario y sis.
- Real :Este es el tiempo transcurrido desde que se realizó la llamada hasta el momento en que se completa la llamada. Este es el tiempo que ha pasado cuando se mide en tiempo real.
- Usuario :Esta es la cantidad de tiempo de CPU gastado en modo de usuario.
- Sistema :Esta es la cantidad de tiempo de CPU gastado en modo kernel. Sys es la abreviatura de tiempo del sistema.
Versiones del comando time en Linux
Hay diferentes versiones del comando de tiempo. Tres para ser específicos. Estos son:
- Golpe
- Zsh
- Tiempo GNU (sh)
Puedes ver cuál estás usando con:
$ type time
Según la versión que esté utilizando, obtendrá el siguiente resultado:
BASH
time is a shell keyword
ZSH
time is a reserved word
Tiempo de GNU
time is /usr/bin/time
Bash y Zsh tienen sus propias versiones integradas del comando de tiempo que tienen prioridad sobre el comando de tiempo GNU si están instalados. Para usar el tiempo de GNU tendremos que mencionarlo explícitamente. Veremos esto a continuación.
1. Comando de tiempo GNU (Predeterminado)
Para acceder al comando de tiempo desde GNU use:
$ /usr/bin/time
El comando de tiempo de GNU brinda una salida más detallada.
$ /usr/bin/time ls
Un beneficio del comando de tiempo GNU es que es fácil jugar con él. Para mostrar la salida de forma detallada, use la opción -v con el comando de tiempo.
$ /usr/bin/time -v ls
El comando de tiempo de GNU le permite formatear la salida y almacenarla en un archivo. Veremos esto a continuación.
2. Almacenamiento de la salida en un archivo
Para guardar la salida en un archivo, use -o opción con el comando de tiempo GNU. El comando para hacer esto es:
$ /usr/bin/time -o time_output.txt ls
El comando creará un archivo con el nombre de time_output.txt y luego almacenar la salida en él.
Para agregar la salida al final de un archivo existente, use el comando:
$ /usr/bin/time -a /home/smart/time-output.txt ls
3. Formateo de salida de tiempo GNU
Otra variación disponible para el comando de tiempo GNU es que se puede formatear y representar de una manera más amigable. Para formatear la salida -f la bandera se usa junto con el comando de tiempo.
El comando de tiempo de GNU proporciona una gran cantidad de especificadores de recursos que se pueden usar en el comando.
Para obtener la lista de especificadores de recursos, use el comando:
$ man /usr/bin/time
La forma de usar esto es:
$ /usr/bin/time -f "\t%C [Command name],\t%K [Total memory usage],\t%E [Time Elapsed]" ping journaldev.com
\t agrega una pestaña entre la salida.
Conclusión
Vimos el uso del comando de tiempo y su versión predeterminada del comando en acción. El uso del comando de tiempo para medir el rendimiento de los comandos/scripts es muy común. Para obtener más información sobre el comando de tiempo, consulte su página de manual.