web-dev-qa-db-ja.com

*すべての*使用可能なコマンドと関数のリストを生成する方法は?

Linux(私はCentOS 7を使用しています)には、実行可能なすべてのコマンドを表示するための組み込み機能があります。このコマンドを実行するには、コンソールでタブを2回押してからプロンプトを入力します。

Display all 1130 possibilities? (y or n)

yを押すと、コマンドの膨大なリストがコンソールに出力されます。

この出力をファイルにキャプチャする方法はありますか?

または、このリストはすでにローカルに保存されていますか?もしそうなら、どうすればこれにアクセスできますか?

私が選択した解決策は、コマンドを実行することでした:

$ compgen -A function -abck | sort -u >> cmds.txt

すべての実行可能なコマンド、関数、エイリアスをテキストファイルに追加しますcmds.txt

以下から取得: https://stackoverflow.com/questions/948008/linux-command-to-list-all-available-commands-and-aliases

編集:追加されたsort -u glenn jackmanの提案に従って重複を削除するコマンド

compgenは重複を出力しているようです:おそらくあなたのPATHの複数の場所に現れるプログラム:

オートコンプリートは言う:

$ [tab][tab]
Display all 2328 possibilities? (y or n)

compgenさんのコメント:

$ compgen -A function -abck | wc -l
2647
$ compgen -A function -abck | sort -u | wc -l
2328

これがあなたにとって重要かどうかはわかりません。

4
glenn jackman