Obter listagem de todos os comandos em Linux

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.

tab-tab.png

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.

Libertei um desktop virtual – Tilda

Tenho um terminal aberto num desktop virtual por hábito. Preciso de aceder à linha de comando, Ctrl+F4 e tenho o terminal, tabs, tudo pronto. Descobri neste blog uma sugestão que me substitui a necessidade de ter o terminal a ocupar um desktop virtual, Tilda.

Captura de ecrãTilda é um terminal, suporta tabs, não tem margens nem decorações do gestor de janelas e pode estar escondido da barra de tarefas, para poupar espaço. Para o usar basta definir um atalho de teclado e quando for necessário ele aparece! 😉 É também configurável no tamanho e posição, suporta falsa transparência (só mostra o fundo, não mostra janelas nem ícones) e imagem de fundo (que pode passar com o uso, dando a ideia de scroll, mas convém usar uma imagem preparada que fique bem a parte de baixo com a de cima).

No Ubuntu está no repositório Universe (será necessário estar activo) e basta fazer: sudo aptitude install tilda