Pesquisa de site

5 razões para começar a usar a linha de comando do Linux


Você pode usar o Linux sem dominar a linha de comando e mexer nas janelas do terminal. Mas se você fizer isso, perderá a velocidade, a potência e o controle refinado de baixo nível da linha de comando.

Qual é a confusão?

Alguns juram por isso, alguns juram por isso. Estamos falando sobre a linha de comando, aquela venerável interface homem-computador que existe há mais de cinquenta anos e ainda não irá a lugar nenhum tão cedo. Mesmo no mundo atual de interfaces gráficas sofisticadas e conveniência da tela sensível ao toque, há lugar para a linha de comando.

Na época em que o Unix foi desenvolvido no final dos anos 1960 e início dos anos 1970, não existia interface gráfica de usuário (GUI), nem ambiente de desktop (DE). Digitar era o único jogo da cidade. Se você quisesse interagir com um computador, você usava um teclado e não pensava duas vezes.

Isso teve implicações de design. Como você estava limitado à digitação, todos os aspectos da configuração, operação e administração do computador tinham que ser controláveis por meio de comandos de digitação. Isso era verdade para o Unix há mais de meio século e ainda é verdade para o Linux hoje. Você pode fazer qualquer coisa na linha de comando. Nada está além do seu alcance.

Hoje, em sua essência, o Linux ainda é um sistema operacional controlado por teclado. Você pode ter um sistema Linux completo rodando sem um ambiente de desktop, e muitos servidores são usados dessa forma. No desktop, é claro, a maioria dos usuários possui um DE.

Abra uma janela de terminal e você terá acesso total à linha de comando, o que significa que você terá acesso a todos os comandos do Linux e a todas as configurações que regem a instalação do Linux.

1. Melhore suas habilidades de administração de sistema

Se você for administrar sistemas Linux, mesmo que casualmente para amigos, familiares e colegas, você se deparará com muitas distribuições diferentes e também com uma variedade de DEs.

Usar a linha de comando permite que você faça o que não pode por meio da GUI de um aplicativo ou das próprias configurações do DE. O DE e os aplicativos gráficos são camadas de abstração entre você e o Linux. Pode haver ferramentas para ajudá-lo a administrar a instalação do Linux, mas elas não terão a fidelidade da linha de comando.

Os comandos do Linux podem ter dezenas de opções. Quanto mais complicado o comando, menor a chance de todas essas opções serem replicadas em uma ferramenta GUI. Além disso, cada DE terá seus próprios aplicativos e sua própria maneira de fazer as coisas. Em vez de aprender o modo GUI para todos os DEs, é mais fácil abrir uma janela de terminal e digitar os comandos universais do Linux que funcionam em qualquer lugar. Se houver uma ferramenta de linha de comando que não esteja incluída em uma distribuição específica, você poderá instalá-la rapidamente.

Às vezes, a escolha é feita por você. Saber como fazer as coisas na linha de comando é a única maneira de administrar um servidor headless que não possui um DE instalado ou uma máquina remota quando você só tem acesso SSH a ele.

2. Aumente a eficiência

Os comandos do Linux podem ter muitas opções. É o que os torna precisos. Escolha as opções que fazem exatamente o que você precisa e é exatamente isso que será feito. E os comandos do Linux são projetados para funcionarem juntos. Eles podem gerar uma saída que é aceita como entrada por outros comandos.

Encadear comandos assim é chamado de tubulação. Este comando retorna uma lista de extensões de arquivo no diretório atual e o número de cada tipo diferente. O Linux não tem um comando para isso, mas você pode facilmente montar um usando os comandos existentes do Linux.

ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r

ls lista os arquivos. Os nomes dos arquivos são inseridos no comando rev, invertendo os caracteres de cada nome. O comando cut trunca cada nome após o primeiro ponto encontrado, se houver. A segunda rotação restaura a sequência à sua ordem original. Isso nos dá uma lista das extensões. A lista é classificada e uniq conta as ocorrências de cada extensão de arquivo exclusiva. A lista é então ordenada novamente, em ordem decrescente.

Isso é ótimo, mas é muito para lembrar. Principalmente com comandos que possuem muitas opções.

É aí que os aliases ajudam. Um alias permite escolher um nome memorável para um comando personalizado que invoca uma linha de comando complicada para você. Os aliases também podem receber parâmetros. Se sua linha de comando for mais parecida com uma pequena rotina do que com uma única linha de comando, você poderá transformá-la em uma função shell.

Se precisar de um registro permanente da saída, você pode redirecionar a saída para um arquivo em vez da janela do terminal. Adicionar "> file-count.txt" ao final do comando cria um arquivo chamado file-count.txt contendo o texto que teria ido para a janela do terminal.

ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r > file-count.txt

Unir comandos e dividir sequências de comandos melhora muito sua eficiência, com menos para lembrar e menos para digitar.

3. Automatize tarefas

Quando suas sequências de comandos superam as funções do shell, você pode convertê-las em scripts e criar programas inteiros em linguagem shell.

Não há limite para o que você pode conseguir com scripts. Qualquer comando que você possa usar na linha de comando pode ser usado em um script, junto com as construções da linguagem shell, como testes e comparações, loops e instruções de caso.

Tarefas tediosas e repetitivas podem ser realizadas executando um script. Se o script precisar ser executado em um horário específico ou com uma determinada frequência, você poderá configurá-lo para ser iniciado automaticamente com um timer do systemd.

4. Solucionar problemas

A solução de problemas do seu computador é incrivelmente bem suportada na linha de comando do Linux. Fazer isso significa evitar a ofuscação da GUI e lidar diretamente com o sistema.

O Linux registra todos os tipos de eventos e processos, incluindo o processo de inicialização. Todos os eventos de log podem ser acessados através do systemd journalctl.

Você pode detalhar problemas de hardware usando ferramentas como lshw, lsblk e lscpu, e examinar problemas de sistema de arquivos com fsck e problemas de inicialização com GRUB.

sudo lshw

Problemas de rede e DNS podem ser investigados com ip, dig, host e nslookup.

Problemas de desempenho podem ser identificados usando top ou htop, iostat, vmstat e netstat.

5. Acesse sistemas remotos

Você pode fazer login em computadores Linux remotos usando conexões SSH, fornecendo uma janela de terminal na máquina remota, diretamente na sua máquina local. Com chaves SSH você pode configurar conexões seguras e sem senha.

Se tudo o que você precisa fazer é transferir arquivos, você pode usar o rsync para sincronizar diretórios ou árvores de diretórios inteiras, entre o seu computador e o computador remoto. Claro, você pode agrupar esses comandos rsync em aliases, funções shell ou scripts e executá-los automaticamente com temporizadores do systemd.


A curva de aprendizado vale a pena. Mergulhe, mas controle seu ritmo. Você não precisa aprender tudo de uma vez, mas cada informação que você coleta se torna outro recurso em seu kit de ferramentas Linux.

Ninguém jamais se tornou um bom mecânico sem levantar o capô.

Artigos relacionados: