Comandos básicos do terminal Linux: o guia prático para começar sem medo
Aprenda os comandos básicos do terminal Linux — ls, cd, pwd, mkdir, rm, cp, mv, cat, chmod, sudo, pipes e redirecionamento — em um guia claro para iniciantes.
O terminal é a interface de linha de comando do Linux: uma janela onde você digita instruções em texto e o sistema responde na hora, sem botões nem menus. Para quem vem do mundo dos cliques, aquela tela quase vazia com um cursor piscando pode intimidar. Mas é justamente ali que mora boa parte do poder do sistema — muitas tarefas são mais rápidas, mais precisas e mais fáceis de automatizar pelo terminal do que por qualquer interface gráfica. Aprender os comandos básicos do terminal Linux é o primeiro passo para deixar de ser um usuário que só aperta botões e virar alguém que realmente conversa com a máquina. Neste guia, você vai entender o que é o terminal, como ele funciona e os comandos essenciais para navegar, criar, copiar, apagar arquivos, gerenciar permissões e muito mais.
O que é o terminal (e por que aprender)
Antes de sair digitando, vale separar três conceitos que costumam ser confundidos. O terminal (ou console) é o programa que mostra a tela onde você digita e lê as respostas — é a janela em si. O shell é o interpretador de comandos: o software que recebe o que você escreveu, entende e executa. O shell mais comum no Linux é o Bash (Bourne Again Shell), presente por padrão na imensa maioria das distribuições. E o prompt é o indicador visual que avisa que o sistema está pronto para receber um comando — aquele texto que aparece antes do cursor.
Olhe com atenção para um prompt típico, algo como diu@maquina:~$. Cada pedaço diz uma coisa. Antes da arroba vem o nome do usuário conectado (você pode confirmá-lo com o comando whoami, literalmente "quem sou eu"). A arroba (@) liga o usuário ao nome da máquina que aparece logo depois. Os dois-pontos separam essa informação do caminho atual. O ~ (til) é um atalho que representa o seu diretório pessoal, o home. E o cifrão ($) no final indica que você está como usuário comum; se ali houvesse um # (a "cerquilha" ou "jogo da velha"), seria sinal de que você está como root, o administrador com poderes totais. São detalhes pequenos, mas ler o prompt já te diz quem você é, onde está e o que pode fazer.
Por que aprender tudo isso? Porque o terminal está presente em todas as distribuições Linux, do Ubuntu ao Debian, e algumas tarefas simplesmente só existem por ali. Além disso, a linha de comando é reproduzível: um comando que funciona hoje vai funcionar amanhã, pode ser anotado, compartilhado e transformado em script. Essa é uma vantagem prática enorme do software livre — a documentação é aberta e o conhecimento circula.
Abrindo o terminal e as primeiras teclas
Você encontra o terminal no menu de aplicativos procurando por "Terminal", e na maioria dos ambientes o atalho Ctrl + Alt + T abre uma janela na hora. Programas de terminal têm nomes diferentes conforme a interface gráfica (GNOME Terminal, Konsole e por aí vai), mas isso não muda nada: os comandos que você digita são exatamente os mesmos.
Algumas teclas facilitam a vida desde o começo:
- Tab — completa automaticamente nomes de arquivos, pastas e comandos. Digite as primeiras letras e pressione
Tab: se houver só uma opção, o sistema completa sozinho; se houver várias, ele mostra as possibilidades. - Setas para cima e para baixo — navegam pelo histórico dos últimos comandos que você rodou, para reaproveitá-los sem redigitar.
- Ctrl + C — interrompe na marra o comando que está em execução.
- Ctrl + L (ou o comando
clear) — limpa a tela, útil quando ela ficou cheia demais e desconfortável de ler. - Shift + Ctrl + V — cola texto no terminal. Repare que o
Ctrl+Vcomum não funciona aqui.
Uma lição importante logo de saída: o terminal faz exatamente o que você mandar, sem telas repetidas de "tem certeza?". Ele é uma ferramenta afiada, e essa é a fonte do seu poder e também do cuidado que ele exige. Se você digitar errado, ele não adivinha a sua intenção — só avisa que o comando não existe.
Navegando pelo sistema de arquivos
Para se mover pelo sistema, você precisa entender como o Linux organiza os arquivos. Tudo parte de um único ponto de origem, o diretório raiz, representado pela barra /. A partir dele, os diretórios se ramificam em uma estrutura hierárquica, como uma árvore. Daí surgem dois jeitos de indicar onde algo está: o caminho absoluto, que começa sempre na raiz (por exemplo, /home/diu/Documentos), e o caminho relativo, que parte de onde você está agora. Nessa lógica, três símbolos são atalhos que você vai usar o tempo todo: . é o diretório atual, .. é o diretório acima (o "pai"), e ~ é o seu home.
Com isso em mente, os três comandos de navegação:
pwd— de print working directory, mostra o caminho completo do diretório onde você está agora. Quando estiver perdido, é o comando que te reorienta.ls— lista o conteúdo do diretório atual (arquivos e pastas). É provavelmente o comando que você mais vai digitar.cd— de change directory, muda de diretório.
O cd tem variações que valem ouro no dia a dia:
cd Documentosentra na pasta Documentos a partir de onde você está (caminho relativo).cd /home/diuvai direto para esse local usando o caminho absoluto.cd ..sobe um nível, para o diretório pai.cd ~(ou simplesmentecd) leva você de volta ao seu home, esteja onde estiver.cd -volta ao diretório em que você estava antes do último salto.
O comando ls, por sua vez, aceita parâmetros (também chamados de flags ou opções) que mudam o que ele mostra:
ls -lexibe a listagem em formato detalhado, uma linha por item, com permissões, dono, tamanho e data.ls -amostra também os arquivos ocultos — no Linux, qualquer arquivo cujo nome começa com um ponto (como.bashrc) fica escondido por padrão.ls -lacombina os dois: detalhado e incluindo ocultos.
Repare no padrão: os parâmetros vêm depois do comando, começando com um traço. Você pode juntar várias letras num traço só, como em -la. Esse mesmo esquema se repete na maioria dos comandos do Linux.
Criando e apagando arquivos e diretórios
Navegar é só metade da história; a outra é criar e organizar coisas. Para começar pelas pastas:
mkdir— de make directory, cria um novo diretório.mkdir projetoscria a pasta projetos.rmdir— de remove directory, remove um diretório, mas apenas se ele estiver vazio. É uma trava de segurança útil: se a pasta tem conteúdo, o comando recusa apagá-la.
Um detalhe que confunde muito iniciante: nomes com espaço. Se você digitar mkdir Curso de Terminal, o Linux entende três nomes separados e cria três pastas — "Curso", "de" e "Terminal". Para criar uma única pasta com nome composto, coloque tudo entre aspas: mkdir 'Curso de Terminal'. A alternativa é "escapar" cada espaço com uma contrabarra (Curso\ de\ Terminal), mas as aspas costumam ser mais simples de ler.
Para criar arquivos e ver o que há dentro deles:
touch— cria um arquivo vazio se ele não existir, ou apenas atualiza a data de modificação se já existir.touch notas.txtcria um arquivo de texto em branco.cat— de concatenate, exibe na tela o conteúdo de um arquivo de texto.cat notas.txtmostra o que está escrito ali.
Para editar o conteúdo, você usaria um editor de texto de terminal, como o nano, mas isso já é um assunto à parte. Agora, o comando que exige mais atenção de todos: o de remover.
rm— de remove, apaga arquivos.rm notas.txtexclui o arquivo.rm -r— apaga uma pasta e tudo o que estiver dentro dela, de forma recursiva. É o que você usa quandormdirreclama que o diretório não está vazio.
Aqui vai o aviso mais importante deste guia: no terminal, não existe lixeira. O que o rm apaga some de verdade, sem pedir confirmação e sem caminho fácil de volta. Um rm -r no diretório errado pode arrasar horas de trabalho num piscar de olhos. Leia duas vezes antes de apertar Enter, especialmente quando houver -r na jogada. Essa cautela não é frescura: é a diferença entre o terminal ser uma ferramenta poderosa ou um arrependimento.
Copiando e movendo com cp e mv
Dois comandos completam o kit de manipulação de arquivos:
cp— de copy, copia arquivos.cp original.txt copia.txtfaz uma cópia com outro nome. Para copiar uma pasta inteira com seu conteúdo, usecp -r pasta destino/, de novo o parâmetro recursivo.mv— de move, move um arquivo de um lugar para outro.mv arquivo.txt Documentos/transfere o arquivo para a pasta Documentos.
O mv tem um segundo uso que surpreende quem está começando: ele também renomeia. Como mover um arquivo é, na prática, dar a ele um novo caminho, mv nome-antigo.txt nome-novo.txt simplesmente troca o nome do arquivo no mesmo lugar. Um comando, duas funções.
Permissões: quem pode ler, escrever e executar
O Linux nasceu como um sistema multiusuário, então cada arquivo carrega regras sobre quem pode fazer o quê com ele. Essas regras se organizam em três níveis de acesso e três tipos de permissão. Os níveis são: o proprietário (o dono do arquivo), o grupo (um conjunto de usuários) e os outros (todo o resto). As permissões são: leitura (r, de read), escrita (w, de write) e execução (x, de execute, necessária para rodar programas e scripts).
É por isso que a saída de ls -l começa com aquela sequência de letras e traços, algo como -rwxr-xr--. Lendo da esquerda para a direita, depois do primeiro caractere (que indica o tipo do item), vêm três blocos de três: as permissões do dono, do grupo e dos outros, nessa ordem. Onde há a letra, a permissão está concedida; onde há um traço, está negada.
Para ajustar essas permissões, existe o comando chmod (de change mode). Com ele você concede ou remove acesso de leitura, escrita ou execução para cada nível. Um uso muito comum é tornar um script executável, por exemplo com chmod +x script.sh. Vale guardar aqui um princípio de segurança que o mundo Linux leva a sério: o princípio do menor privilégio. Conceda acesso apenas quando for realmente necessário; permissões generosas demais são um convite a problemas.
sudo e o superusuário root
No topo da hierarquia de usuários está o root, o superusuário, com poder total sobre o sistema — ele pode alterar e apagar qualquer coisa, inclusive quebrar a instalação se for descuidado. Justamente por isso, o dia a dia não é feito como root. Em vez de virar administrador o tempo todo, você usa o comando sudo para executar um comando específico com privilégios elevados.
Uma forma fácil de lembrar: sudo vem de super user do — "faça isto como superusuário". Na prática, você antepõe sudo ao comando que precisa de poderes administrativos, como instalar um programa ou mexer em arquivos do sistema. Ao rodar, ele pede a sua senha. E aqui um detalhe que assusta quem não sabe: a senha não aparece na tela conforme você digita — nem asteriscos, nada. Parece que o teclado travou, mas está tudo funcionando; é uma medida de segurança. Digite a senha normalmente e pressione Enter.
Enquanto tarefas que só leem informação geralmente não exigem sudo, qualquer ação que modifica o sistema costuma pedir. A regra prática é simples: use sudo quando o comando falhar por falta de permissão, e não por hábito. Poder administrativo é como bisturi — precisa, mas não é para usar em tudo.
Redirecionamento e pipes: montando linhas de montagem
Aqui começa a parte que revela o verdadeiro poder da linha de comando. Por padrão, um comando joga o resultado na tela, mas você pode redirecionar essa saída para outros lugares:
>— redireciona a saída de um comando para um arquivo, sobrescrevendo o conteúdo anterior.ls > lista.txtgrava a listagem de arquivos dentro de lista.txt em vez de mostrá-la na tela. Cuidado: se o arquivo já existia, ele é apagado e reescrito.>>— faz quase o mesmo, mas acrescenta a saída ao final do arquivo existente, sem apagar o que já estava lá.echo "nova linha" >> lista.txtadiciona uma linha ao fim.
E então vem o pipe, representado pela barra vertical |, provavelmente o conceito mais engenhoso do terminal. O pipe conecta a saída de um comando diretamente à entrada de outro, sem passar por arquivo nenhum. É como montar uma linha de montagem de texto: um comando produz um resultado, o próximo recebe esse resultado e o transforma, e assim por diante. Por exemplo, ls -l | less envia a listagem detalhada para o paginador less, permitindo rolar com calma quando há muitos itens. A filosofia por trás disso é elegante: em vez de um único programa gigante que faz tudo, você tem várias ferramentas pequenas, cada uma boa em uma coisa, que se combinam. Encadear comandos com pipes — e, mais adiante, salvar sequências repetidas num script Bash — é o grande diferencial que transforma o terminal numa máquina de produtividade.
man e --help: aprendendo a se virar sozinho
Ninguém decora todos os comandos nem todos os seus parâmetros, e nem precisa. O Linux traz a documentação embutida, e saber consultá-la é mais valioso do que memorizar. Há dois caminhos principais:
man— de manual, abre o manual completo de um comando.man lsmostra tudo o que olssabe fazer, com todas as opções explicadas. Navegue com as setas para cima e para baixo e pressioneqpara sair (quit).--help— a maioria dos comandos aceita esse parâmetro para exibir um resumo rápido das opções mais usadas, direto na tela.ls --helpé mais curto e direto que o manual completo.
Peguei o hábito de recomendar isto a todo iniciante: quando bater a dúvida sobre o que um comando faz ou qual parâmetro usar, o primeiro reflexo deve ser man ou --help, não uma busca na internet. A resposta quase sempre está ali, na sua própria máquina, escrita por quem fez a ferramenta.
Uma tabela de bolso dos comandos essenciais
Para fechar e servir de referência rápida, aqui estão os comandos que cobrimos, cada um com sua função em uma linha:
pwd— mostra em que diretório você está.ls— lista arquivos e pastas (-ldetalhado,-acom ocultos).cd— muda de diretório (..sobe,~vai ao home,-volta ao anterior).mkdir— cria um diretório.rmdir— remove um diretório vazio.touch— cria arquivo vazio ou atualiza a data de um existente.cat— exibe o conteúdo de um arquivo de texto.cp— copia arquivos (-rpara pastas).mv— move ou renomeia arquivos.rm— apaga arquivos (-rpara pastas; sem lixeira, cuidado).chmod— ajusta permissões de leitura, escrita e execução.sudo— executa um comando com privilégios de root.man/--help— consultam a documentação de qualquer comando.clear— limpa a tela.
Próximos passos
Se você chegou até aqui, já tem o suficiente para se virar no terminal: navegar entre pastas, criar e organizar arquivos, entender permissões, usar sudo com consciência e combinar comandos com pipes e redirecionamento. Esse conjunto é praticamente idêntico em qualquer distribuição, então o que você aprendeu aqui vale no Ubuntu, no Debian, no Fedora e em quase todo lugar onde houver um Bash rodando.
O caminho a partir de agora é praticar. Abra o terminal, crie uma pasta de testes com mkdir, entre nela com cd, jogue alguns arquivos ali com touch, liste com ls -la, copie, mova, renomeie e — com cuidado — apague. Erre à vontade num diretório de brincadeira, porque é errando em terreno seguro que a linha de comando deixa de assustar. Quando esses comandos virarem reflexo, o próximo passo natural é conhecer o gerenciamento de pacotes da sua distribuição (o apt, nas famílias Debian e Ubuntu) e, mais adiante, escrever seus primeiros scripts Bash para automatizar o que você faz repetidamente. É aí que o terminal deixa de ser uma curiosidade e se torna a sua ferramenta mais rápida e confiável.