如何產生*所有*可用指令和函數的列表?

如何產生*所有*可用指令和函數的列表?

在 Linux 中(我使用的是 CentOS 7),有一個內建功能可以查看所有可運行的命令。在控制台中按兩次 Tab 鍵並隨後出現提示來執行該命令:

Display all 1130 possibilities? (y or n)

按下y會將大量命令輸出到控制台。

有沒有辦法在文件中捕獲此輸出?

或者這個列表已經儲存在本地了嗎?如果是這樣,我怎麼能訪問它?

答案1

我選擇的解決方案是運行命令:

$ 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到命令以按照格倫·傑克曼的建議刪除重複項

答案2

似乎compgen輸出重複:也許程式出現在路徑中的多個位置:

自動完成 說:

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

康普根 說:

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

我不知道這對你來說是否重要。

相關內容