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.