如何查看以某個字串結尾的可用命令?

如何查看以某個字串結尾的可用命令?

如果您開始鍵入並按 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

相關內容