
Если вы начнете печатать и нажмете клавишу 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