Bunu .bash_historyyapmak için dosyadaki kayıtları kullanacağız . Bir sonraki komut, en sık kullandığınız sırayla tüm komutların bir listesini verecektir:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr
Yalnızca ilk 10'u istiyorsanız, headyukarıdaki komutta eklemeniz gerekir :
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head
Belirli bir üst, örneğin ilk 5 almak için, seçenekle headbirlikte -n 5kullanın:

Listeyi ters sırada (nadiren kullanılan komutların üstünde) ristiyorsanız, saniye için oprion kullanmayın sort:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n
Ve son olarak, örneğin bir kez kullanılan komutların bir listesini almak için şunu kullanın grep ' 1 '( 1istediğiniz sayıyla değiştirin ):
history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | grep ' 1 '
Yalnızca awk komutunda değil, sudokomutlarla (gibi sudo vim foo) ilgilenmek için şunu {print $3}kullanın:
{if($3 ~ /sudo/) print $4; else print $3}
Yani tüm komut şöyle görünecektir:
history | awk 'BEGIN {FS="[ \t]+|\\|"} {if($3 ~ /sudo/) print $4; else print $3}' | sort | uniq -c | sort -nr
Örneğin:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head
284 vim
260 git
187 find
174 man
168 echo
149 rm
134 awk
115 pac
110 sudo
102 l
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {if($3 ~ /sudo/) print $4; else print $3}' | sort | uniq -c | sort -nr | head
298 vim
260 git
189 find
174 man
168 echo
153 rm
134 awk
115 pac
102 l
95 cd
Aşağıdakiler için sayılarındaki atlamayı görebilirsiniz vim, rmvb