Muitas tarefas podem ser executadas na linha de comandos, tais como criar, copiar, apagar, mover e editar ficheiros, alterar a configuração do sistema, criar e remover utilizadores, alterar passwords dos utilizadores, editar imagens, editar vídeos, criar menus para DVDs, gravar CDs e DVDs, ver páginas web, ver e alterar configurações de rede, testar o acesso a servidores remotos, procurar ficheiros e sequências de caracteres dentro de ficheiros no nosso disco, e até programar (pois a própria linha de comando tem uma linguagem de programação, até no Windows!). Certamente que nem todas estas tarefas são muito adequadas para a linha de comandos (editar um vídeo!?), mas garanto que em certas e determinadas situações a linha de comandos pode ser muito prática e produtiva. Nesta primeira série de posts sobre a linha de comandos vou apenas falar de coisas básicas, nomeadamente a gestão de ficheiros, a hierarquia de pastas no Linux, bem como outros comandos simples e úteis. Um bom entendimento destas questões é essencial para um bom programador.
Vamos começar então pelo sistema de ficheiros, bem como a sua listagem. Vamos abrir o gestor de ficheiros, que automaticamente nos vai situar na pasta "Home". Nesta pasta vamos ver as típicas sub-pastas contendo o ambiente de trabalho (desktop), os vídeos, imagens, etc. Agora abrimos um terminal, de modo a acederemos à linha de comandos. Por defeito, o terminal também é inicialmente aberto na tua pasta "Home". No terminal escreve:
$ ls
No linux Mint vais ver algo parecido com a imagem seguinte (noutras distribuições deverás ver algo muito semelhante):
Podemos verificar que o comando ls fornece a mesma informação que o gestor de ficheiros gráfico, embora numa forma puramente textual. Quando executado sem mais parâmetros, o comando ls (diminutivo de list) lista os conteúdos da pasta atual (neste caso, a pasta "Home"). No entanto podemos adicionar vários parâmetros para modificar a informação retornada pelo ls. Por exemplo, para mostrar o conteúdo em forma de lista, com informação adicional sobre cada ficheiro, podemos fazer:
$ ls -l
Para mostrar o conteúdo da sub-pasta "Videos" (assumindo que estamos na pasta "Home"), podemos fazer:
$ ls Videos
Numa instalação recente de Linux o mais certo é a pasta "Videos" estar vazia. Podemos ainda juntar os dois parâmetros anteriores para listar o conteúdo da sub-pasta "Videos" em forma de lista:
$ ls -l Videos
É muito fácil obter ajuda para os comandos existentes. Para isso basta usar o comando man (manual de referência), que coloca no ecrã o manual do comando que quisermos. Para obter ajuda para o comando ls, fazemos:
$ man ls
Podemos inclusive obter ajuda para o próprio comando man! Para isso basta fazer:
$ man man
A informação devolvida pelo comando man pode por vezes parecer confusa, mas uma leitura mais aprofundada dá sempre resultado. Nomeadamente, ao executarmos o comando anterior, obtemos a explicação de como interpretar a sinopse (resumo) de qualquer comando. Basicamente, indica o seguinte:
- texto negrito »» escrever exactamente como indicado.
- texto sublinhado »» substituir com argumento apropriado.
- [-abc] »» quaisquer argumentos dentro de [ ] são opcionais.
- -a|-b »» opções delimitadas por | não podem ser usadas em simultâneo.
- argument ... »» argumento pode ser usado várias vezes.
- [expression] ... »» toda a expressão dentro de [ ] pode ser usada várias vezes.
No manual do ls podemos verificar que a sinopse deste comando é:
ls [OPTION]... [FILE]...
Ou seja, podemos concluir que:
- ls deve ser escrito exactamente como indicado, pois está a negrito.
- Todos os argumentos do ls são opcionais (estão dentro de [ ]).
- Todos os argumentos do ls podem ser usados várias vezes, devido às reticencias...
- Os argumentos indicados devem ser substituídos pelo argumento certo, pois estão em texto sublinhado (no exemplo mais atrás substituímos OPTION por -l e FILE por Videos).
Vamos experimentar ver o manual dos comandos que executamos no post anterior:
$ man sudo
$ man apt-get
$ man gedit
$ man mkdir
$ man gcc
Talvez seja mais fácil perceber algumas das coisas que fizemos. É de notar que o comando cd não tem manual, visto que é demasiado simples, pois basta fazer cd pastaDeDestino. Sugiro ainda a leitura ou observação rápida do manual dos seguintes comandos comuns e/ou essenciais:
- rmdir - Remover pasta
- rm - Remover ficheiro(s)
- mv - Mover ou renomear ficheiros ou pastas
- cat - Ver o conteúdo de um ficheiro
- zip/unzip - Comprimir/descomprimir um ficheiro .zip
- pwd - Ver o caminho completo da pasta atual
- ps - Ver processos/programas em execução
- kill - Terminar um processo em execução
- passwd - Alterar a password de utilizador
No próximo post falarei mais em pormenor sobre a gestão de ficheiros, nomeadamente os comandos para esse efeito, a hierarquia de pastas e o sistema de permissões. Em princípio serão um total de três ou quatro posts sobre a linha de comando, antes de voltarmos ao nosso primeiro programa em C.
Até breve!
1Discutível e depende do caso.
2As interfaces gráficas usam a linha de comandos de uma forma escondida do utilizador, seja no Windows, MacOS X ou Linux. Por exemplo, no Linux Mint, podemos ver que comando é na realidade executado ao clicarmos em qualquer aplicação na interface gráfica: Menu => Preferências (ou Preferences) => Menu Principal (ou Main Menu). A aplicação que acabámos de abrir serve para organizar o nosso menu (raramente o precisamos de fazer, mas em todo o caso temos essa opção). Se clicarmos onde diz "Internet", e clicarmos duas vezes em cima de "Firefox Web Browser", aparece-nos uma nova janelinha com vários campos, um dos quais diz "Comando" (ou "Command"). Podemos ver que o comando a executar é
firefox %u
, em que o %u
é substituído por um endereço web (URL) na altura da execução (ver imagem em baixo). Para verificares isto, abre um terminal e escreve firefox www.publico.pt
. Senão quiseres que o terminal pendure à espera que o Firefox termine a execução, podes escrever firefox www.publico.pt &
, tal como indiquei no post anterior. Notar que a forma de organizar o menu principal pode variar de distribuição para distribuição.
Sem comentários:
Enviar um comentário