Per farci comunicare da bash i 10 comandi più usati ricorreremo a diverse utility ovvero: history, che elenca la cronologia di tutti i comandi che vengono digitati nel terminale, awk che si occupa della vera e propria estrazione dei dati, sort che ordina i dati all’interno di un tessera cosi da poterli visualizzare in modo semplice per l’fruitore, head che si occupa di leggere solo le prime righe di un certificato, e uniq che mette in relazione/filtra le righe di testo ricorrenti.
Adesso vediamo la sintassi corretta per visualizzare i 10 comandi che utilizziamo maggiormente sul nostro sistema:
history | awk 'print $2' | sort | uniq -c | sort -rn | head -10
Come è possibile notare, per prima cosa invochiamo history che raccoglie la cronologia dei comandi, poi tramite awk estraiamo il contenuto e lo stampiamo a video, successivamente tramite sort viene ordinato in una lista tramite l’opzione “-rn”, ovvero ordina numericamente e inverti il senso di ordinamento sistemando i risultati a partire dal valore maggiore. Infine con head indichiamo a bash di elencarci puramente le prime 10 righe del atto.
Ecco un risultato d’modello:
296 sudo 46 ssh 38 cd 17 wget 14 htop 10 ffmpeg 8 adb 7 ping 7 blkid 6 history
Via OMG!Ubuntu!