Introduzione
Il comando time viene utilizzato per determinare quanto tempo richiede l'esecuzione di un determinato comando. È utile per testare le prestazioni degli script e dei comandi.
Ad esempio, se hai due diversi script che fanno lo stesso lavoro e vuoi sapere quale funziona meglio puoi usare il comando time di Linux per determinare la durata dell'esecuzione di ogni script.
Il comando Time
Sia Bash che Zsh, le shell Linux più utilizzate hanno le loro versioni integrate del comando time che hanno la precedenza sul comando time di Gnu.
È possibile utilizzare il comando type
per determinare se time è una parola chiave binaria o incorporata.
type time
# Bash
time is a shell keyword
# Zsh
time is a reserved word
# GNU time (sh)
time is /usr/bin/time
Per utilizzare il comando Gnu time, è necessario specificare il percorso completo del binario di time, in genere /usr/bin/time
, utilizzare il comando env
o utilizzare una barra rovesciata iniziale \time
che impedisce l'utilizzo di entrambi e incorporati.
Il tempo di Gnu consente di formattare l'output e fornisce altre informazioni utili come I/O di memoria e chiamate IPC.
Usare il comando Time su Linux
Nel seguente esempio, misureremo il tempo impiegato per scaricare il kernel Linux usando lo strumento wget :
time wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.9.tar.xz
Cosa verrà stampato come output dipende dalla versione del comando time che stai usando:
# Bash
HTTP request sent, awaiting response... 200 OK
Length: 103135232 (98M) [application/x-xz]
Saving to: ‘linux-4.19.9.tar.xz’
linux-4.19.9.tar.xz 100%[===================================================================================================================>] 98.36M 105MB/s in 0.9s
2020-02-01 15:34:54 (105 MB/s) - ‘linux-4.19.9.tar.xz’ saved [103135232/103135232]
real 0m6.866s
user 0m0.124s
sys 0m0.576s
- real, total o elapsed è il tempo dall'inizio alla fine della chiamata. Dal momento in cui premi il tasto
Enter
fino al momento in cui il comandowget
è completato. - user - quantità di tempo della CPU trascorso in modalità utente.
- system o sys - quantità di tempo CPU trascorso in modalità kernel.
Conclusione
Ormai dovresti avere una buona conoscenza di come usare il comando time
. Se vuoi saperne di più sul comando Gnu time visita la pagina man di time.