Pokud jste uživatelem Linuxu, ať už Ubuntu, Centos, Fedora nebo jakékoli distribuce, s největší pravděpodobností jste strávili spoustu času na bash, který je výchozím příkazovým řádkem v Linuxu. Museli jste použít mnoho příkazů v Linux bash pro různé účely a často musíte opakovat ty příkazy, které jste provedli v minulosti. Naštěstí funkce historie bash shellu v Linuxu vám pomůže nejen získat příkazy, které jste dříve spustili, ale také můžete získat nejpoužívanější příkazy. K tomuto účelu se používají záznamy ze souboru .bash_history a soubor historie se aktualizuje při každém ukončení relace terminálu.
V tomto článku vám ukážeme dvě metody, které můžete použít k zobrazení příkazů, které jste většinou používali v Terminálu. Pro popis postupu uvedeného v tomto článku použijeme Ubuntu 18.04 LTS.
Metoda 1:Použijte příkazy history, grep a awk
V této metodě uvidíme nejpoužívanější příkazy terminálu pomocí příkazu History. Předtím uvidíme, co vlastně příkaz Historie dělá. Ve skutečnosti vám ukáže všechny předchozí příkazy, které byly nedávno použity.
Chcete-li vidět, jak to funguje, zadejte historii do Terminálu:
$ history
Můžete také zobrazit seznam posledních x počtu příkazů, které jste spustili naposledy, použijte následující syntaxi:
$ history x
Chcete-li například vypsat posledních 10 příkazů, nahraďte x s 10.
$ history 10
Chcete-li vyhledat konkrétní příkaz v seznamu historie, použijte následující syntaxi:
$ history | grep command
Chcete-li například vyhledat příkaz ping v seznamu historie, spusťte v Terminálu následující příkaz:
$ history | grep ping
Zobrazit nejpoužívanější příkazy v Terminálu
Chcete-li zobrazit nejpoužívanější příkazy, spusťte v terminálu následující příkaz:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort –nr
Výše uvedený výsledek ukazuje seznam historie, ve kterém jsou nejpoužívanější příkazy nahoře a nejméně používané dole od instalace Ubuntu 8.04 LTS. Podle výše uvedeného výsledku sudo byl nejpoužívanější příkaz a byl použit 104krát, druhý příkaz byl Historie a třetí bylo Vyhledat .
Chcete-li zobrazit konkrétní počet nejčastěji používaných příkazů, spusťte následující příkaz v terminálu.
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head -n x
Chcete-li například zobrazit 10 nejpoužívanějších příkazů, nahraďte x číslem 10.
Pokud chcete zobrazit seznam historie v obráceném pořadí, které je nejméně používané nahoře a nejpoužívanější příkazy dole, můžete to snadno udělat. Odstraňte r možnost pro druhé řazení, jak je znázorněno v příkazu níže.
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n | head -n 30
Na výše uvedeném snímku obrazovky můžete vidět, že vypisuje historii v obráceném pořadí.
Můžete také zobrazit seznam historie pouze těch příkazů, které se vyskytly jednou, dvakrát nebo pro libovolný určitý počet. K tomu použijte následující syntaxi:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n | grep ' x '
Nahraďte x libovolným požadovaným číslem. Chcete-li například zobrazit seznam příkazů, které se vyskytly pouze jednou, použijte níže uvedený příkaz:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n | grep ' 1 '
Metoda 2:Vytvořte funkci pro zobrazení statistik příkazů
Existuje další metoda, pomocí které můžete zobrazit seznam příkazů, které byly dříve spuštěny v bash shellu. Nejprve spusťte v Terminálu následující příkaz:
$ function zsh-stats() { fc -l 1 | 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 -n25; }
Poté spusťte následující příkaz:
$ zsh-stats
Zobrazí seznam příkazů spolu s počtem opakování a jejich procentem.
Takto můžeme vidět nejpoužívanější terminálové příkazy v našem OS Ubuntu 18.04 LTS. Výše jsme diskutovali o dvou metodách využívajících příkazy history a zsh-stats, můžete použít kteroukoli z nich, jak se vám bude hodit.