Como obter uma lista de todos os comandos disponíveis para o Ubuntu?


22

Quero começar a usar o terminal com mais frequência, mas não sei quais são os diferentes comandos disponíveis para mim. Existe uma maneira de listar todos os comandos diferentes que eu posso usar?

Respostas:


25

Primeiro método

NB : Obrigado a @Rmano. Este método não funciona com zshshell.

Um comando simples:

ls ${PATH//:/ }

Isso listará todos os comandos em sua $PATHvariável de ambiente.

Para armazenar o resultado em um arquivo, você pode redirecionar a saída para um arquivo.

ls ${PATH//:/ } > mycommands.txt

Observe que isso retornará um erro se algum nome de diretório no seu $PATHcontiver espaços. Nesse caso, use isso:

while read -d ':' dir; do echo "$dir"; done <<<$PATH

Segundo método

Também você pode usar:

compgen -c | sort -u > commands && less commands

Terceiro método

Outro método é um Tabclique duplo .

Quarto método

Outro método usando o findcomando:

find {,/usr}/{,s}bin -printf '%f\n\0'

Observe que o primeiro comando funciona em, bashmas não em zsh, com a divisão de palavras desativada por padrão. refining-linux.org/archives/38/…
Rmano

11

Se você estiver usando o bash, que é o shell padrão em todos os sabores oficiais do Ubuntu, corra compgen -cpara ver os comandos disponíveis, incluindo aliases.


Isso é apenas uma festa?
Braiam

1
Até os comandos para programas baseados em GUI estão incluídos. Portanto, se você tiver compgen -c | grep thunare tiver o gerenciador de arquivos Thunar instalado, também verá comandos relacionados ao Thunar.

1
Mmm ... não funciona no Debian. Qual pacote fornece isso?
Braiam

2
@Rinzwind que explica isso, estou usando o zsh.
Braiam

1
@ vasa1: Essa resposta poderia ser mais geral? Quero dizer, ele fornece apenas a solução para o bash, mas, como Braiam observou, não funciona para o zsh ... Se possível, você poderia expandir a resposta para atender a um público maior - obviamente, apenas se você souber a resposta :-)
Aditya

4

Abra o terminal Ctrl+ Alt+ te execute este comando:

whatis `compgen -c` | more 

Isso listará todos os comandos e uma descrição simples de cada comando.

Se você deseja salvar a lista, pode redirecionar o resultado para um arquivo de saída

whatis `compgen -c` > listOfCommands.txt

Então, por que eu usei o comando whatis. O comando man whatisfornece:

Cada página do manual possui uma breve descrição disponível.
O whatis pesquisa os nomes das páginas de manual e exibe as descrições das páginas de qualquer nome correspondente.

assim, em palavras fáceis, whatisdê um general. descrição de cada comando


+1 para informações adicionais. whatis `compgen -c` | sort> listOfCommands.txt ajudará a entrar na lista de classificação.
precisa

Outro comando útil: apropos <keyword>pesquisa todos os comandos e sua breve descrição e exibe os resultados
Aloso

3

Abra um terminal e pressione a Tabtecla duas vezes.


1
-1 porque isso não é padrão.
Lorenzo Ancora

@LorenzoAncora por que não é padrão? Todo o Ubuntu não possui o preenchimento automático com o duplo Tab como comportamento padrão?
dadexix86

2
Padrão! = Padrão: no futuro, talvez tenhamos um console que não suporta esse mecanismo, porque não é padrão; Além disso, o padrão TAB pode ter uma função diferente. Um procedimento padrão está listando o conteúdo de 'bin', porque faz parte do padrão oficial da FHS e qualquer sistema Linux / Unix possui esse diretório. A funcionalidade correta (e a capacidade da comunidade de ajudar os usuários) do Ubuntu é garantida pelo respeito aos padrões.
Lorenzo Ancora

Ok, obrigado pela explicação :) Eu pensei que o behaviout padrão da dupla Tab no Ubuntu foi para listar o conteúdo de PATH :)
dadexix86

@LorenzoAncora Listar o conteúdo de qualquer diretório não será exibido em nenhum lugar próximo a todos os comandos executáveis. A listagem do conteúdo de todos os diretórios PATH não mostrará os recursos internos do shell sem o executável correspondente (como cd). Pressionar Tab duas vezes supera essas duas limitações graves. Se alguém perguntasse como mostrar todos os comandos em um sistema GNU / Linux arbitrário, alguém poderia argumentar que a conclusão da guia não é uma solução adequada. É claro que qualquer coisa pode mudar no Ubuntu no futuro, mas a probabilidade de conclusão da guia no shell interativo padrão desaparecer é minúscula.
Eliah Kagan 10/03/2014

2

Uma lista de comandos depende muito do que você instalou, mas há truques para listar todos os comandos. O seguinte funciona na maioria das cascas semelhantes a bourne:

  1. Pressione Tabduas vezes.
  2. Use findpara encontrar todos os executáveis:

    find / -perm +x
    
  3. Liste todos os arquivos nos diretórios dos binários (podem estar incompletos):

    ls /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
    

1

Abra uma janela do terminal (o terminal GNOME está OK, também um xTerm configurado).
Suas opções são:

  • Pressionando a TABtecla ("-> <-") duas vezes, você concluirá qualquer comando no console e, se a linha estiver vazia, obterá o número e os nomes de todos os comandos disponíveis . Observe que isso pode levar algum tempo e pode listar utilitários semi-administrativos. NOTA: este não é um padrão; para uma maneira "cruzada", consulte as outras opções.

  • Use man -k NAMEpara procurar um comando (ou parte dele) e man COMMANDobter o manual para esse comando. Nem todos os comandos têm um manual do sistema; ler o homem antes de usar qualquer utilitário administrativo é sempre uma boa ideia; Confie em mim.

  • Use o Midnight Commander ( mc) para ter uma boa interface gráfica do console (maldições) para gerenciar o sistema e o sistema de arquivos. Pode ser necessário instalá-lo a partir do seu gerenciador de pacotes. Não se preocupe; é um software seguro e extremamente comum.
    NOTA: Foi criado para quando você tiver confusão ou dificuldade em usar o sistema de arquivos.

  • Use ls /bin | morepara conhecer todos os executáveis ​​administrativos exenciais ; ls /sbin | morepara executáveis ​​administrativos comuns .

  • Use ls /usr/sbin | morepara conhecer todos os executáveis ​​do usuário ; ls /usr/sbin | moredará uma lista muito grande de executáveis ​​e bibliotecas de usuários .
    NOTA: Se a saída moreexceder uma página (tela cheia), você terá que rolar py pressionando "Page Up" e "Page Down" ou a barra de espaço.
    Você pode usar COMMAND | grep TEXTpara filtrar a saída.

Se você tiver mais perguntas, comente aqui embaixo e não se esqueça de marcar o visto ao lado da resposta se eu o ajudar.
Tenha uma ótima experiência.


Geralmente, há a maioria dos executáveis /usr/bin, que você não mencionou aqui. Também há /sbin, que contém executáveis ​​frequentemente usados ​​para administração do sistema, como usermode ifconfig. E muitos sistemas também têm outros diretórios binários, como /usr/gamese /usr/local/bin. Consulte Padrão de hierarquia do sistema de arquivos e man 7 hier. Você pode expandir isso para mencionar diretórios importantes para executáveis ​​além de /bine /usr/sbin.
Eliah Kagan 10/03/2014

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.