В UNIX, как найти наиболее часто используемые команды в истории?
utilities
command-history
command
swetha
источник
источник
Ответы:
Скорее это зависит от того, что вы намерены под «командой». С одной стороны, команда - это просто исполняемый файл, вызываемый из командной строки, поэтому
ls
иls -alh /tmp/foo/bar/*tar.bz
являются командойls
. Другая перспектива состоит в том, что команда является суммой ее частей, а это означает, что в приведенном выше примере 2 команды.Если вы собираетесь считать полностью уникальные команды в истории, вы можете выполнить:
history | cut -d' ' -f4- | uniq -c | sort -n
Имейте в виду, что это было протестировано в системе Debian, синтаксис вывода вашей команды истории может немного отличаться. Настройте число 4 в команде, чтобы выбрать альтернативные столбцы.
Если вы хотите рассмотреть только первую команду без аргументов, вы можете выполнить:
history | cut -d' ' -f4- | cut -d' ' -f1 | uniq -c | sort -n
Чтобы включить аргументы, но не любые цепочечные или конвейерные команды, которые вы можете выполнить, вы можете выполнить:
history | cut -d ' ' -f4- | cut -d'|' -f1 | uniq -c | sort -n
Обратите внимание, что каждая из этих групп численно с наибольшей частотой появляется последней.
источник
sort
прежде чемuniq
получить точный счет, поскольку он проверяет только соседние строки:history | cut -d' ' -f4- | cut -d' ' -f1 | sort | uniq -c | sort -n
Я видел ответы как vucar, так и tok , они очень полезны, но вы также можете использовать удивительный инструмент
awk
:если вы хотите получить список команд, которые вы используете чаще всего:
найти наиболее используемую команду:
для меня это было
vi
:источник
Другой подход - использовать учет процессов BSD , который также доступен в Linux (хотя я не знаю, включен ли он по умолчанию). В основном, он ведет вкладку всех запущенных программ (и некоторых других показателей, таких как время процессора и т. Д.), Пока учет активен. Отсюда доступно несколько сводных статистических данных: список всех программ, когда-либо запущенных в системе, отсортированный по количеству использованных пользователей и т. Д.
Команды, которые нужно искать, предназначены
lastcomm
для текущего журнала иsa
для агрегированной статистики. Возвращаясь к первоначальному вопросу, предполагая, что в рассматриваемой системе был включен учет с момента ее установки, затемsa -n
получился бы список всех команд, когда-либо выполненных в системе (для всех пользователей), отсортированных по частоте. Для конвейеров каждая часть конвейера, конечно, будет учитываться отдельно, так как каждая часть содержит новый процесс, который должен быть разветвлен.Для более подробной информации в журнале Linux есть статья, объясняющая работу. Я сам получил идею из руководства по NetBSD ; многие из более общих советов по администрированию не относятся к NetBSD, но применимы и к другим системам Unix.
источник
20 наиболее часто используемых команд консоли:
источник
Вы можете использовать одну команду вырезания:
источник
Если это только для текущей сессии, то
hash
без аргументов.источник