Il comando time in Linux emette il tempo necessario per l'esecuzione di un comando. Viene utilizzato insieme ad altri comandi per analizzare il tempo impiegato per l'esecuzione.
Il comando time è utile per misurare le prestazioni degli script. Il tempo impiegato è una metrica importante per misurare le prestazioni.
Utilizzo del comando tempo
Usare il comando time in Linux è semplice come scrivere "time" prima del comando che si desidera eseguire. Vediamo quanto tempo ci vuole per visualizzare l'output del comando ls:
$ time ls
Otteniamo l'output che consiste in tre diversi tipi di volte. Li raggiungeremo tra un po'.
Proviamo un altro comando :
$ time ping linuxfordevices.com
L'output del comando time viene dopo l'output del comando con cui lo stiamo eseguendo.
I tre tipi di volte alla fine sono reali, utente e sist.
- Reale :Questo è il tempo impiegato da quando è stata effettuata la chiamata fino al momento in cui la chiamata è stata completata. Questo è il tempo trascorso misurato in tempo reale.
- Utente :Questa è la quantità di tempo CPU speso in modalità utente.
- Sis :Questa è la quantità di tempo CPU speso in modalità kernel. Sys è l'abbreviazione del tempo di sistema.
Versioni del comando time in Linux
Esistono diverse versioni del comando time. Tre per essere precisi. Questi sono:
- Ben
- Zsh
- Ora GNU (sh)
Puoi vedere con quale stai usando :
$ type time
In base alla versione che stai utilizzando, otterrai il seguente output:
BASH
time is a shell keyword
ZSH
time is a reserved word
Ora GNU
time is /usr/bin/time
Bash e Zsh hanno le loro versioni integrate del comando time che hanno la precedenza sul comando time GNU se sono installati. Per utilizzare il tempo di GNU dovremo menzionarlo esplicitamente. Lo vedremo dopo.
1. Comando GNU time (predefinito)
Per accedere al comando dell'ora da GNU usa:
$ /usr/bin/time
Il comando Time di GNU fornisce un output più dettagliato.
$ /usr/bin/time ls
Uno dei vantaggi del comando GNU time è che è facile giocarci. Per visualizzare l'output in modo dettagliato, utilizza l'opzione -v con il comando tempo.
$ /usr/bin/time -v ls
Il comando GNU time consente di formattare l'output e memorizzarlo in un file. Lo vedremo dopo.
2. Memorizzazione dell'output in un file
Per salvare l'output in un file, usa -o opzione con il comando GNU time. Il comando per farlo è:
$ /usr/bin/time -o time_output.txt ls
Il comando creerà un file con il nome di time_output.txt e quindi archiviare l'output al suo interno.
Per aggiungere l'output alla fine di un file esistente usa il comando :
$ /usr/bin/time -a /home/smart/time-output.txt ls
3. Formattazione dell'output dell'ora GNU
Un'altra variazione disponibile per il comando GNU time è che può essere formattato e rappresentato in modo più semplice. Per formattare l'output -f flag viene utilizzato insieme al comando time.
Il comando GNU time fornisce una serie di specificatori di risorse che possono essere utilizzati nel comando.
Per ottenere l'elenco degli specificatori di risorse utilizzare il comando :
$ man /usr/bin/time
Il modo per usarlo è :
$ /usr/bin/time -f "\t%C [Command name],\t%K [Total memory usage],\t%E [Time Elapsed]" ping journaldev.com
\t aggiunge una scheda tra l'output.
Conclusione
Abbiamo visto l'uso del comando time e la sua versione predefinita del comando in azione. L'uso del comando time per misurare le prestazioni di comandi/script è molto comune. Per saperne di più sul comando time fare riferimento alla sua pagina man.