Será algo com pouco interesse para os utilizadores habituais e mais experientes, mas é uma dúvida de poderá surgir a novos utilizadores: como poderei saber todos os comandos disponíveis na linha de comandos do Linux (ou GNU/Linux)?
Num sistema Linux, todos os comandos disponíveis acabam por ser as aplicações instaladas e os comandos internos do interpretador de comandos usado, que comummente será a bash.
Uma forma simples de obter está listagem será no terminal carregar na tecla TAB duas vezes e responder ‘(s)im/(y)es’ quando for pedido se pretendemos que sejam listados os comandos.
Não é algo que se descubra à partida, mas a tecla TAB é usada para completar elementos introduzidos na linha de comando (comandos, nomes dos ficheiros, opções dos comandos, etc), ou mostrar sugestões para essa completação.
Para se saber mais sobre um comando (para comandos que tenham página de manual) pode-se sempre aceder ao manual do comando com o comando ‘man’. Basta executar ‘man nome_do_comando’. Se existir uma página de manual para esse comando ela será exibida. Para sair dessa visualização basta carregar na tecla ‘q’.
Para comandos internos da bash pode-se sempre fazer man bash e procurar por eles para saber o que fazem.
Os comandos a que se tem acesso e que não sejam comandos internos da bash, estão nos directórios indicados numa variável de sistema: $PATH.
Uma forma de listar os ficheiros que estão nesses directórios poderá ser a seguinte:
$ ls `echo $PATH|sed -e s/:/\ /g` | less
E como a listagem é passada para o paginador less, podemos navegar na lista à vontade e sair com a tecla ‘q’ como no comando man.
Muitas vezes não é possível saber à partida o que faz cada comando só pelo nome, e se o comando não tiver uma página de manual, numa distribuição baseada em Debian podemos sempre saber a que pacote pertence e que funcionalidade esse pacote pretende fornecer com:
$ dpkg -S `which comando`
E depois saber mais informação com:
$ apt-cache show pacote
Por exemplo (parte menos relevante cortada):
$ dpkg -S `which gimp`
gimp: /usr/bin/gimp
$ apt-cache show gimp
Package: gimp
Section: graphics
Description: The GNU Image Manipulation Program
The GIMP lets you draw, paint, edit images, and much more! GIMP includes the functionality and plug-ins of other famous image
editing and processing programs.