Alex Ritchie Asked: 2019-06-11 03:22:03 +0800 CST2019-06-11 03:22:03 +0800 CST 2019-06-11 03:22:03 +0800 CST 如何生成*所有*可用命令和功能的列表? 772 在 Linux(我使用的是 CentOS 7)中,有一个内置功能可以查看所有可运行的命令。该命令通过在控制台中按两次 Tab 键,然后出现提示符来运行: Display all 1130 possibilities? (y or n) 按下y会向控制台输出大量命令。 有没有办法在文件中捕获这个输出? 或者这个列表是否已经存储在本地?如果是这样,我该如何访问它? linux bash 2 个回答 Voted Best Answer Alex Ritchie 2019-06-11T03:32:11+08:002019-06-11T03:32:11+08:00 我选择的解决方案是运行命令: $ 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 的建议添加到命令以删除重复项 glenn jackman 2019-06-11T06:10:26+08:002019-06-11T06:10:26+08:00 似乎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 我不知道这对你是否重要。
我选择的解决方案是运行命令:
它将所有可运行的命令、函数和别名附加到文本文件中
cmds.txt
取自:https ://stackoverflow.com/questions/948008/linux-command-to-list-all-available-commands-and-aliases
编辑:
sort -u
按照 glenn jackman 的建议添加到命令以删除重复项似乎
compgen
输出重复:可能出现在 PATH 中多个位置的程序:自动完成 说:
compgen 说:
我不知道这对你是否重要。