Gere uma lista de comandos disponíveis e o que cada um faz

6

Existe um conjunto de comandos do Linux com descrições na rede?

Eu tenho uma lista de comandos que obtive usando alt! com 1947 comandos listados. Coloco isso em um arquivo, mas estou tendo que escrever o que cada comando faz usando o comando whatis e copiando o resultado ao lado do comando no documento de texto.

Existe uma maneira mais fácil de gerar essa lista?

    
por Sherman Lee Willden 12.03.2013 / 00:01

2 respostas

9

Se o seu propósito é ter um documento listando a saída whatis para cada comando do sistema em sua máquina, faça:

find {,/usr}/{,s}bin -printf '%f
find {,/usr}/{,s}bin -printf '%f
find {,/usr}/{,s}bin -printf '%f
find {,/usr}/{,s}bin -printf '%f
find {,/usr}/{,s}bin -printf '%f
find {,/usr}/{,s}bin -printf '%f%pre%' | xargs -0 whatis | sort | less
' | xargs -0 whatis | sort > command-encyclopedia.txt
' | xargs -0 whatis > command-encyclopedia.txt
' | xargs -0 whatis | sort | less
' | xargs -0 whatis | sort > command-encyclopedia.txt
' | xargs -0 whatis > command-encyclopedia.txt
  • Para capturar também as entradas para as quais não há saída whatis , anexe 2>&1 a esse comando
  • Para colocar as entradas não documentadas em seu próprio documento, anexe 2> dark-commands.txt

Na verdade, para ser uma enciclopédia adequada, você também precisará classificá-la.

%pre%

Melhor ainda, faça-o de forma interativa e pesquisável (thx pela sugestão @Doogfar!):

%pre%

Agora use / para procurar adiante e ? para procurar para trás, ou Ctrl + F / B para avançar e retroceder na sua enciclopédia.

Dica: se você quiser salvar a digitação toda vez que precisar da sua enciclopédia de comando, coloque-a em uma função de shell como descrito em esta resposta .

    
por zwets 12.03.2013 / 08:48
4

Listar todos comandos possíveis não é muito útil, mas isso pode ser feito de maneira simples.

Este método lista os dois comandos que existem como executáveis e shell builtins .

Em um shell bash (que é o que você obtém quando abre uma janela do Terminal), você pode fazê-lo com a conclusão do bash. Digite which (incluindo o espaço no final) e pressione Tab duas vezes.

Em seguida, você será solicitado com algo como:

Display all 3734 possibilities? (y or n)

Pressione y . Você pode percorrer a lista de comandos pressionando Barra de espaço . Pressione q a qualquer momento para sair da lista.

Esta maneira de visualizar a lista é inconveniente, porque você só pode mover para baixo na lista, não para cima. Para criar um arquivo contendo a lista, execute:

script ~/Desktop/command-list.txt

Isso criará a lista em um arquivo chamado command-list.txt localizado em sua área de trabalho. Você pode mudá-lo de acordo. Se você acabou de correr

script

então ele irá colocá-lo em um arquivo chamado typescript no diretório atual.

O comando script registra todo o texto no Terminal. Portanto, após executar script , digite which (com o espaço, como antes), digite Tab duas vezes e pressione y quando solicitado.

Agora, role a lista para baixo, mantendo pressionada a tecla de barra de espaço. Quando chegar ao final da lista, você estará de volta na linha em que está digitando o comando which . Digite Ctrl + C para obter uma nova linha e, em seguida, execute exit . Agora script não está mais gravando.

Para visualizar o arquivo, abra-o em um editor de texto - em Lubuntu, Leafpad; no Ubuntu regular, o Gedit. (Esses editores são instalados por padrão, mas é claro que você pode instalar e usar qualquer editor de texto que desejar).

Ao visualizá-lo, você verá imperfeições nas quais foi solicitado More . Mas isso não deve interferir na sua capacidade de ler o arquivo, procurar comandos nele ou pesquisar o arquivo para encontrar um comando específico (ou comandos que contenham um texto específico).

Se quiser, você pode filtrar essas linhas. Se o arquivo for ~/Desktop/command-list.txt , você poderá executar:

grep -ve --More-- ~/Desktop/command-list.txt > ~/Desktop/command-list2.txt

Então, command-list2.txt na área de trabalho não terá essas linhas.

: será o primeiro comando listado. O último comando listado pode variar de sistema para sistema (depende de qual software você instalou). No meu sistema, é zsyncmake , mas você pode não ter isso, ou você pode ter um comando que esteja em ordem alfabética.

Se desejar, no editor de texto você pode remover manualmente o texto antes do primeiro comando e após o último comando. (São apenas algumas linhas no início e no final; removê-lo manualmente é muito mais fácil do que se você tivesse que remover todas as linhas --More-- manualmente).

    
por Eliah Kagan 28.03.2013 / 15:27