特定の文字列で終わる利用可能なコマンドを確認するにはどうすればよいですか?

特定の文字列で終わる利用可能なコマンドを確認するにはどうすればよいですか?

入力を開始して 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

Doogfar が提案したコマンドは実行に時間がかかるためfind、cron ジョブを追加して、時々実行し、ファイルに送信することができます。

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

関連情報