
在 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
我不知道這對你來說是否重要。