Linux: Uma introdução à linha de comando

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.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X