Как увидеть доступные команды, заканчивающиеся на определенную строку?

Как увидеть доступные команды, заканчивающиеся на определенную строку?

Если вы начнете печатать и нажмете клавишу Tab, консоль попытается развернуться и отобразить все команды, функции и исполняемые скрипты, которые начинаются с того, что вы начали писать.

Есть ли способ увидеть, какие команды вводятся в строке где-нибудь в их именах? Не обязательно с автодополнением по табуляции, но с помощью какой-нибудь небольшой функции или скрипта.

Я могу вспомнить команду, которая имеет fontв своем названии, но не в начале. Как сделать так, чтобы она отображалась mkfontdirи все остальные?

Или у меня может быть скрипт со шрифтом где-то в имени, но не в начале (например, my-fonts.py).

решение1

Обычно я выполняю команду поиска следующим образом:

find / -executable -name '*'font 2>/dev/null

Что приведет к следующему на моем компьютере

/usr/bin/showconsolefont
/usr/bin/gnome-thumbnail-font
/usr/bin/splitfont
/usr/bin/showfont
/usr/bin/grub-mkfont
/usr/share/doc/ttf-freefont
/usr/share/doc/fonts-horai-umefont
/usr/share/doc/ttf-umefont
/usr/share/groff/1.21/font
/usr/share/fonts/truetype/freefont
/usr/share/fonts/truetype/horai-umefont
/bin/setfont

Хотя эта команда будет немного жестче по своим результатам

find / -type f -perm +111 -name '*'font 2>/dev/null

Возвраты

/usr/bin/showconsolefont
/usr/bin/gnome-thumbnail-font
/usr/bin/splitfont
/usr/bin/showfont
/usr/bin/grub-mkfont
/bin/setfont

решение2

Поскольку findвыполнение команды, предложенной Дугфаром, занимает много времени, вы можете добавить cronjob для ее периодического запуска и отправки ее в файл:

find / -type f -perm +111 >~/.perm111 2>/dev/null &

а затем быстрый grep, когда он вам понадобится.

grep font ~/.perm111

решение3

У меня нет Ubuntu, но эта команда доступна в OS X и OpenSUSE:

compgen -ac | grep someStringInCommandName

Ссылка:https://stackoverflow.com/questions/948008/linux-command-to-list-all-available-commands-and-aliases

Связанный контент