Onehdy jsme s dalším uživatelem Linuxu diskutovali o příkazech Linuxu. Zeptal se mě, který příkaz Linuxu používám nejčastěji. Řekl jsem mu, že jeden z mých nejčastěji používaných příkazů je sudo
. Používám jej každý den k instalaci, aktualizaci, odstraňování balíčků a dalším administrativním úkolům na mém Linuxovém boxu. Myslím, že "sudo"
je nejčastěji používaný příkaz mnoha uživatelů Linuxu. Pokud vás někdy zajímalo, jaké jsou vaše nejpoužívanější příkazy v Linuxu, zde je návod, jak je najít.
Najděte nejpoužívanější příkazy v systému Linux
Jak víte, soubor historie (~/.bash_history
) uchovává záznamy o všech příkazech, které spouštíte v Terminálu. V tomto souboru snadno zjistíte, které příkazy používáte nejčastěji.
Dovolte mi ukázat vám 5 nejpoužívanějších příkazů na mém Linuxovém boxu:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
Ukázkový výstup:
153 sudo 118 pngquant 33 cd 30 ssh 29 exit
Pojďme rozebrat výše uvedený příkaz a uvidíme, co jednotlivé možnosti dělají.
"awk '{print $2}'"
příkaz vypíše první řetězec ze souboru historie bez zobrazení voleb a argumentů příkazu."sort"
příkaz seřadí všechny řádky podle abecedy."uniq -c"
odstraní duplicitní řádky (zadané příkazy) a spočítá je.- A poslední
"sort -nr"
příkaz zobrazí příkazy v obráceném pořadí podle čísla počtu vráceného"uniq"
příkaz.
Pozor: Můžete použít ExplainShell zjistit, co každá část příkazu dělá.
Jak můžete vidět, "sudo"
je nejpoužívanější příkaz a použil jsem ho 153krát. A "exit
" je nejméně používaný příkaz.
Výsledek jsem seřadil sestupně (reverzně), tj. od největšího po nejmenší. Chcete-li zobrazit nejčastěji používaný příkaz ve vzestupném pořadí (od nejmenšího k největšímu), použijte tento příkaz:
$ history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
Ukázkový výstup:
29 exit 30 ssh 33 cd 118 pngquant 153 sudo

Zde je další verze stejného příkazu, která ukazuje trochu extra podrobnosti:
$ history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | \grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n5 1 177 17.7177% pngquant 2 173 17.3173% vagrant 3 101 10.1101% cd 4 71 7.10711% sudo 5 47 4.7047% ffmpeg
Pokud nechcete omezit počet výsledků, jednoduše odstraňte poslední (head
nebo tail
) část výše uvedených příkazů:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr
Výše uvedené příkazy jsou specifické pro Bash. Pokud jste na Ryby shell, spustit:
$ history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -5
Teď je tvůj čas. Jděte a zjistěte své nejčastěji používané příkazy na vašem Linuxovém boxu.