GDH Press: Blog » Linux: Uma introdução à linha de comando
 
RSS

Linux: Uma introdução à linha de comando

Publicado em 02/10/2008 – 14:55
por Carlos Morimoto

No início, todos os sistemas operacionais usavam interfaces de modo texto, já que elas são uma forma simples de aceitar comandos e exibir os resultados, mesmo em máquinas com poucos recursos. Antes do Windows, existiu o DOS e, antes do KDE, Gnome e todas as outras interfaces que temos atualmente, o Linux tinha também apenas uma interface de modo texto. Mesmo com toda a evolução com relação às interfaces e aos utilitários de configuração gráficos, o bom e velho terminal continua prestando bons serviços.

O grande atrativo do terminal é que, com exceção de alguns poucos aplicativos específicos, os comandos do terminal são sempre os mesmos. Isso faz com que ele seja um porto seguro, com o qual você pode contar, sem importar se você está no Ubuntu ou no Slackware. O terminal é também a forma mais natural de "conversar" com o sistema, sempre que você precisa de qualquer coisa além do arroz com feijão.

Por exemplo, imagine que você precisa mover todos os arquivos com extensão .jpg (em uma pasta com muitos arquivos para outra. Em vez de precisar mover um por um, ou fazer algum malabarismo com a ordem de exibição dos arquivos (para organizar a exibição com base na extensão dos arquivos e poder assim selecionar todos os .jpg com o mouse), você poderia simplesmente abrir o terminal e digitar:

$ mv *.jpg /outra-pasta

Além dos comandos básicos, dois outros recursos que tornam o terminal tão poderoso são a possibilidade de combinar diferentes comandos, de forma a executar tarefas mais complexas ou filtrar os resultados e a possibilidade de escrever pequenos programas em shell script.

Por exemplo, para assistir vídeos no meu Nokia 6120, preciso convertê-los para para um formato especial, suportado pelo RealPlayer, com o fluxo de vídeo em MPEG4 e o áudio em AAC. No Windows, precisaria converter os vídeos um a um, mas no Linux posso usar um pequeno script para automatizar o trabalho:

#!/bin/sh

for video in *; do
ffmpeg -i "$video" -f mp4 -vcodec mpeg4 -b 350000 -r 15 -s 320×240 \
-acodec aac -ar 24000 -ab 128 -ac 2 "$video".mp4
rm -f tmp.avi
done

Quando executado dentro de uma pasta com vários arquivos de vídeo, o script simplesmente converte todos os arquivos, uma a um, gerando os arquivos .mp4 que posso então copiar para o smartphone. Com isso, preciso apenas mover todos os vídeos que quero converter para uma pasta, executar o script e deixar o micro trabalhando durante a noite fazendo o trabalho mecânico de conversão, em vez de precisar repetir os mesmos passos para cada arquivo que quisesse converter. Os scripts em shell podem ser usados para automatizar qualquer tipo de tarefa que você precisa executar repetidamente, de atualizações do sistema a backups, passando por todo tipo de tarefas. Essencialmente, tudo o que é possível fazer via linha de comando (ou seja, praticamente tudo) pode ser automatizado através de um shell script.

Se você chegou a usar o Kurumin 7, deve se lembrar do Clica-Aki, um painel gráfico com várias funções, que era um dos grandes atrativos do sistema. Apesar da complexidade, ele nada mais era do que um conjunto de shell scripts, acionados através das opções e botões dentro da interface. Até mesmo o instalador do sistema era inteiramente escrito em shell script.

Curiosamente, uma das grandes reivindicações de administradores Windows sempre foi uma interface de linha de comando, que permitisse administrar o sistema remotamente sem necessidade de usar a interface gráfica e automatizar tarefas. Mesmo a contragosto, a Microsoft acabou sendo obrigada a dar o braço a torcer e desenvolver o PowerShell, que nada mais é do que uma interface de linha de comando para o Windows.

A grande diferença é que no Linux a interface de modo texto evoluiu junto com o restante do sistema e se integrou de uma forma bastante consistente com os aplicativos gráficos. Aprender a usar o modo texto é parecido com aprender uma segunda língua, é um processo gradual e constante, onde você sempre está aprendendo comandos, parâmetros e truques novos. Quanto mais você aprende, mais tempo você acaba passando no terminal; não por masoquismo, mas porque ele é realmente mais prático para fazer muitas tarefas.

Um dos usos mais básicos para o terminal é simplesmente para abrir aplicativos, substituindo o uso do iniciar. Você pode chamar qualquer aplicativo gráfico a partir do terminal; na maioria dos casos o comando é o próprio nome do programa, como "konqueror" ou "firefox". Lendo outros textos, ou lendo os livros, você vai notar que em muitos exemplos ensino os passos para executar tarefas através da linha de comando, pois os atalhos para abrir os programas, itens nos menus, etc., podem mudar de lugar, mas os comandos de texto são algo mais ou menos universal, mudam pouco mesmo entre diferentes distribuições. Esta mesma abordagem é adotada de forma geral dentro dos livros sobre Linux.

Por exemplo, para descompactar um arquivo com a extensão .tar.gz, pelo terminal, você usaria o comando:

$ tar -zxvf arquivo.tar.gz

Aqui o "tar" é o comando e o "-zxvf" são parâmetros passados para ele. O tar permite tanto compactar quanto descompactar arquivos e pode trabalhar com muitos formatos de arquivos diferentes, por isso é necessário especificar que ele deve descompactar o arquivo (-x) e que o arquivo está comprimido no formato gzip (z). O "v" é na verdade opcional, ele ativa o modo verbose, onde ele lista na tela os arquivos extraídos e para onde foram.

Se você tivesse em mãos um arquivo .tar.bz2 (que usa o bzip2, um formato de compactação diferente do gzip), mudaria a primeira letra dos parâmetros, que passaria a ser "j", indicando o formato, como em:

$ tar -jxvf arquivo.tar.bz2

Você poderia também descompactar o arquivo clicando com o botão direito sobre ele em uma janela do Konqueror e usando a opção "Extrair > Extrair aqui". Para quem escreve, é normalmente mais fácil e direto incluir o comando de texto, mas você pode escolher a maneira mais prática na hora de fazer.

Existem duas formas de usar o terminal. Você pode acessar um terminal "puro" pressionando as teclas "Ctrl+Alt+F1", mudar entre os terminais virtuais pressionando "Alt+F2", "Alt+F3", etc. e depois voltar ao modo gráfico pressionando "Alt+F7" (em muitas distribuições a combinação pode ser "Alt+F5" ou mesmo "Alt+F3", dependendo do número de terminais de texto usados por padrão).

Estes terminais são às vezes necessários para manutenção do sistema, em casos em que o modo gráfico deixa de abrir, mas no dia-a-dia não é prático usá-los, pois sempre existe uma pequena demora ao mudar para o texto e voltar para o ambiente gráfico, e, principalmente, estes terminais não permitem usar aplicativos gráficos.

Na maior parte do tempo, usamos a segunda forma, que é usar um "emulador de terminal", um terminal gráfico que permite rodar tanto os aplicativos de texto, quanto os gráficos.

No KDE, procure o atalho para abrir o Konsole. Ele possui várias opções de configuração (fontes, cores, múltiplas janelas, etc.). No Gnome é usado o Gnome Terminal, que oferece recursos similares, incluindo a possibilidade de abrir diversas abas, onde cada uma se comporta como um terminal separado. Se você preferir uma alternativa mais simples, procure pelo Xterm.

Na maioria dos casos, ao chamar um programa gráfico através do terminal, você pode passar parâmetros para ele, fazendo com que ele abra diretamente algum arquivo ou pasta. Por exemplo, para abrir o arquivo "/etc/fstab" no Kedit, use:

$ kedit /etc/fstab

Para abrir o arquivo "imagem.png" no Gimp, use:

$ gimp imagem.png

No começo, faz realmente pouco sentido ficar tentando se lembrar do comando para chamar um determinado aplicativo ao invés de simplesmente clicar de uma vez no ícone do menu. Mas, depois de algum tempo, você vai perceber que muitas tarefas são realmente mais práticas de fazer via terminal.

É mais rápido digitar "kedit /etc/fstab" do que abrir o kedit pelo menu, clicar no "Arquivo > Abrir" e ir até o arquivo usando o menu. É uma questão de costume e gosto. O importante é que você veja o terminal como mais uma opção, que pode ser utilizada quando conveniente, para melhorar sua produtividade.

» Mais posts

  1. 12 respostas para “Linux: Uma introdução à linha de comando”

  2. kallikrates em 2 out, 2008

    Gostei do assunto, não podemos deixar de usar a linha de comando. Algumas coisas faltaram que preciso acrescentar: existe o modo console que você acessa através de uma janela e existe o terminal em si, que não é gráfico. A maioria das distribuições linux já roda abrindo o KDM ou GDM com o X aparecendo diretamente. Mas para acessar o linux sem usar as janelas, você pode apertar no teclado simultaneamente as teclas CTRL+ALT+Fn sendo que o "n" do Fn corresponde a 1,2,3 até 12 das 12 teclas "F" do teclado na fileira superior do teclado ao lado da tecla ESC. A F7 é geralmente o modo console que já abre com o gráfico.
    Outra coisa é que se você abre uma janela de terminal no modo gráfico e chama um programa gráfico pelo nome ele abre normalmente, mas pelo console Fn ele não abre. Você tem que usar programas para o modo console, que também são ótimos. O meu preferido é o clive,que baixa arquivos do Youtube e eu faço isto por linha de comando.

  3. José Nogueira em 3 out, 2008

    Muito legal este texto. A importância da linha de comando no linux ficou evidenciada em uma das matérias publicadas neste site: O tutorial de como fazer o modem 3g da claro, modelo md300, funcionar no Ubuntu. Apesar de nem a Claro, nem a Siemens (a fabricante do hardware) fornecerem suporte para o linux, é possível, via linha de comando fazer este serviço funcionar.
    Aproveito o espaço para fazer dois pedidos: 1- Se alguém sabe de algum tutorial equivalente que habilite o mesmo serviço no Fedora 9 e 2- Para o Carlos Morimoto publicar um livro sobre linhas de comando.

  4. Sinval em 3 out, 2008

    Gostei é muito bom lidar com Linux e essas dicas mantém sempre viva na mente as vantagens do Sistema.

  5. Elmo Coutinho da Silva Júnior em 11 out, 2008

    Sou iniciante (Linux).Artigos simples e objetivos como este me possibilitam cada vêz mais, alem de utilizar o Kurumin (muito satisfeito por sinal e admirado pelo trabalho dos desenvolvedores e recursos disponíveis)me interessar em conhecer os sistemas e recursos linux
    propriamente dito.

    Att.
    Elmo.
    Engenheiro em Volta Redonda. 11/out/08

  6. shinobi em 26 jan, 2009

    é morimoto, voce poderia fazer um livro só sobre linhas de comando, ninguem melhor do que voce pra desenvolver este trabalho com maestria.

  7. Luis Carlos Farias em 27 jan, 2009

    Excelente dicas…

  8. Douglas em 29 jan, 2009

    Comecei a usar linus depois que conhecir o GDH show de bola muito bom !

  9. veron em 20 fev, 2009

    gostei muito, estou iniciando meus estudo e passando mais a usar o linux, tanto dentro do windows com a opção de instalação do linux como aplicativo disponivel no Ubuntu 8.10 quanto pelo live-cd, torno a dizer, falta uma sede no Nordeste do Guia do Hardware ou melhor aqui em Salvador, cursos linux, iria adorar e garanto que muita gente ficaria feliz…

  10. Antonio Fernando B. Silva em 2 mar, 2009

    Boa tarde!
    Sou iniciante no LINUX e peço informações de um bom livro para estudo e que tenha os macetes, concernentes ao teclado, usando as teclas Ctrl , Alt ,entre outras, sem a utilização do Mouse, pois os concursos públicos estão exigindo este sistema e estes macetes.
    Grato pela atenção, e fique com Deus!!

  11. nene em 4 abr, 2009

    Antonio Fernando B.Silva comeca por esse livro on line, http://focalinux.cipsga.org.br/download.html pode baixar ele, e o melhor em portugues ou aqui mesmo no blog ou no guia do hardware tem muitos artigos e dicas

  12. nene em 4 abr, 2009

    muito obrigado! morimoto sempre com muito bons artigos e dicas.

  13. Vivian em 27 jan, 2010

    A linha de comando é muito interessante, proporciona mais facilidades para os usuários do linux, mas é um pouco complicada, pois existe vários comandos. Só com muito estudo para dominar. Parabéns Morimoto pelo artigo.


Comente: