Como gerar uma lista de *todos* comandos e funções disponíveis?

Como gerar uma lista de *todos* comandos e funções disponíveis?

No Linux (estou usando o CentOS 7), existe uma funcionalidade integrada para visualizar todos os comandos executáveis. O comando é executado pressionando tab duas vezes no console seguido pelo prompt:

Display all 1130 possibilities? (y or n)

Pressionar ygera uma lista enorme de comandos para o console.

Existe uma maneira de capturar essa saída em um arquivo?

Ou esta lista já está armazenada localmente? Se sim, como posso acessar isso?

Responder1

A solução que escolhi foi executar o comando:

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

que anexa todos os comandos, funções e aliases executáveis ​​a um arquivo de textocmds.txt

Tirado de:https://stackoverflow.com/questions/948008/linux-command-to-list-all-available-commands-and-aliases

Editar: adicionado sort -uao comando para remover duplicatas conforme sugerido por Glenn Jackman

Responder2

Parece que há compgensaídas duplicadas: talvez programas que aparecem em vários locais no seu PATH:

preenchimento automático diz:

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

compgen diz:

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

Não sei se isso é importante para você.

informação relacionada