如何查看以特定字符串结尾的可用命令?

如何查看以特定字符串结尾的可用命令?

如果您开始输入并按下 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

由于findDoogfar 建议的命令需要很长时间才能运行,因此您可以添加一个 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

相关内容