Поиск по сайту:

Как найти самые часто используемые команды в Linux

На днях мы с одним пользователем Linux обсуждали команды Linux. Он спросил меня, какую команду Linux я использую чаще всего. Я сказал ему, что одна из моих наиболее часто используемых команд — sudo. Я использую его каждый день для установки, обновления, удаления пакетов и других административных задач на моем компьютере с Linux. Я думаю, "sudo" — наиболее часто используемая команда многими пользователями Linux. Если вы когда-нибудь задавались вопросом, какие самые часто используемые команды в Linux, вот как их найти.

Найдите самые часто используемые команды в Linux

Как вы знаете, файл истории (~/.bash_history) хранит запись всех команд, которые вы запускаете в Терминале. Вы можете легко узнать, какие команды вы используете чаще всего, воспользовавшись этим файлом.

Позвольте мне показать вам 5 наиболее часто используемых команд в моем компьютере с Linux:

history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5

Пример вывода:

153 sudo
118 pngquant
33 cd
30 ssh
29 exit

Давайте разберем приведенную выше команду и посмотрим, что делает каждая опция.

  • Команда "awk '{print $2}'" печатает первую строку из файла истории, не показывая параметры и аргументы команды.
  • Команда "sort" упорядочивает все строки в алфавитном порядке.
  • Команда "uniq -c" удаляет повторяющиеся строки (введенные команды) и подсчитывает их.
  • И последняя команда "sort -nr" отображает команды в обратном порядке по номеру счетчика, возвращенному командой "uniq".

Внимание! Вы можете использовать ExplainShell, чтобы узнать, что делает каждая часть команды.

Как видите, "sudo" — самая часто используемая команда, я использовал ее 153 раза. А "exit" — наименее используемая команда.

Я отсортировал результат в порядке убывания (обратный), т. е. от большего к меньшему. Чтобы отобразить наиболее часто используемую команду в порядке возрастания (от меньшего к большему), используйте вместо этого следующую команду:

history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5

Пример вывода:

29 exit
30 ssh
33 cd
118 pngquant
153 sudo

Найдите самые часто используемые команды в Linux

Вот другая версия той же команды, которая показывает немного больше деталей:

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

Если вы не хотите ограничивать количество результатов, просто удалите последнюю (head или tail) часть приведенных выше команд:

history | awk '{print $2}' | sort | uniq -c | sort -nr

Вышеупомянутые команды специфичны для Bash. Если вы используете оболочку Fish, запустите:

history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -5

Теперь пришло ваше время. Идите и найдите самые часто используемые команды на вашем компьютере с Linux.

Статьи по данной тематике