GNU/Linux >> Linux Esercitazione >  >> Linux

Controlla quanto tempo impiega uno script Bash per essere eseguito con il comando Time

Questo è un semplice comando che misura... hai indovinato, il tempo. Non è un'applicazione orologio, però. Misura il tempo impiegato nell'esecuzione di un programma o di uno script.

[email protected]:~$ time ./script.sh
real 0m12.010s
user 0m0.004s
sys 0m0.006s

Spiegherò il comando time e il suo output tra un minuto.

Esistono diverse versioni dell'utilità dell'ora. Qui esamineremo la versione Bash, poiché questa è quella che è più probabile che incontrerai sul tuo sistema. C'è anche una versione Zsh e una versione GNU.

Evitiamo confusione e verifichiamo ora la tua versione.

[email protected]:~$ type time
time is a shell keyword

Se il tuo output è simile a questo, è perfetto. Ciò significa che stai usando bash. Il comando esegue lo stesso compito in tutte le sue iterazioni, quindi se non stai usando bash, non temere, sarai comunque in grado di capire cosa sta succedendo. Tuttavia, potrebbe sembrare molto diverso.

Utilizzo del comando tempo

Il comando Time misura quanto segue:

  • tempo reale:tempo totale trascorso
  • utente:elaborazione del sistema operativo in modalità utente
  • sys:elaborazione del sistema operativo in modalità kernel

Può essere utilizzato con qualsiasi comando o comando tramite pipe.

Tempo con un'applicazione basata su testo

Diamo un'occhiata a un esempio con nano. Nano è un editor di testo basato su terminale. Se avvio nano e poi esco subito dall'applicazione (Ctrl+X), l'output sarà simile a questo:

time nano
real    0m1.465s
user    0m0.031s
sys        0m0.006s

Tempo con un'applicazione GUI

Funziona anche con un'applicazione GUI. L'output verrà restituito una volta che l'applicazione viene chiusa normalmente o se viene immesso un interrupt (CTRL+C) sul terminale.

time firefox
real    0m6.784s
user    0m4.962s
sys        0m0.459s

Versione GNU tradizionale

Come ho accennato in precedenza, la maggior parte degli utenti Linux esegue Bash, che utilizza essenzialmente una scorciatoia per creare contenuti leggibili dall'uomo. Puoi eseguire la versione GNU completa usando il carattere di escape \ . Questo ignorerà il collegamento integrato.

Questa volta userò semplicemente il comando sleep per creare un lavoro fittizio. Il numero è la durata in secondi. Lo vedrai anche riflesso nel tempo reale dell'output.

Tieni presente che poiché si tratta di un'attività fittizia, non c'è tempo effettivo dedicato alle risorse.

[email protected]:~$ \time sleep 3
0.00user 0.00system 0:03.00elapsed 0%CPU (0avgtext+0avgdata 1944maxresident)k
0inputs+0outputs (0major+75minor)pagefaults 0swaps

Questo output è un po' più difficile da leggere, ma condivide anche alcune informazioni sull'utilizzo della RAM che potresti trovare utili.

GNU Time -p =(bash) time

L'output che normalmente vedi con la versione bash è un po' come un alias per GNU time eseguito con -p opzione.

[email protected]:~$ \time -p sleep 3
real 3.00
user 0.00
sys 0.00

Come puoi vedere, questo ci dà lo stesso output come se lo avessimo eseguito con la scorciatoia bash.

Conclusione

Ti è piaciuta la nostra guida al comando del tempo? Spero che tutti questi suggerimenti ti abbiano insegnato qualcosa di nuovo.

Se ti piace questa guida, condividila sui social media. Se hai commenti o domande, lasciali qui sotto. Se hai suggerimenti per argomenti che vorresti vedere trattati, sentiti libero di lasciare anche quelli. Grazie per la lettura.


Linux
  1. Come eseguire un comando bash Linux in uno script PERL?

  2. Autorizzazione negata con bash.sh per eseguire cron

  3. Come eseguire ripetutamente lo script bash ogni N secondi?

  4. Come uccidere lo script Python con lo script bash

  5. Esegui il comando bash sulla pipeline jenkins

Come eseguire il comando / script della shell di Linux in background

Come eseguire un comando per un tempo specifico in Linux

Come controllare la versione del sistema operativo con la riga di comando di Linux

Come eseguire uno script Bash

Esegui comandi con un limite di tempo in Ubuntu 20.04

Come posso controllare la sintassi di uno script Bash senza eseguirlo?