Pular para o conteúdo
Rizzygo Ako
Voltar para o tópico Terminal

Linha de comando para iniciantes

Uma lição prática para perder o medo do terminal. Você vai criar uma pasta de treino, onde errar não tem problema, e usar os comandos que resolvem a maior parte do dia a dia.

Cerca de 1 horaLinux, macOS ou Windows com WSLMaterial gratuito em português

1. Abra o terminal

O terminal é um programa em que você escreve comandos e o computador responde em texto. Onde ele fica muda de um sistema para outro:

Ao abrir, você vê uma linha parecida com ana@notebook:~$. Ela se chama prompt e diz quem você é (ana), em que computador está (notebook) e em que pasta (~, que é a sua pasta pessoal). O $ indica que o terminal está esperando um comando. No macOS, o prompt é um pouco diferente e costuma terminar em %.

Faça agoraAbra o terminal, digite whoami e aperte Enter. Ele responde com o seu nome de usuário.

2. Como um comando é escrito

Quase todo comando segue a mesma forma: o nome do programa, depois opções que mudam o comportamento, depois o alvo.

ls -l /etc

Três regras evitam muita dor de cabeça:

4. Criar, copiar, mover e apagar

Dentro de ~/treino-terminal, crie duas pastas de uma vez e confira:

mkdir notas fotos
ls
Saída esperada:
fotos  notas

Agora crie um arquivo de texto com duas linhas. O echo repete o texto que você der, e o > manda esse texto para um arquivo. Na segunda linha, o >> acrescenta o texto no fim do arquivo, sem apagar o que já estava lá. A parte 7 explica os dois com calma:

echo "arroz" > notas/compras.txt
echo "feijão" >> notas/compras.txt

Copiar, mover e renomear

cp notas/compras.txt notas/copia.txt
mv notas/copia.txt notas/mercado.txt
ls notas
Saída esperada:
compras.txt  mercado.txt
Antes de rodar cp ou mvSe já existir um arquivo com o nome do destino, ele é substituído sem aviso. Para o terminal perguntar antes, use a opção -i: cp -i e mv -i.

Apagar

rm notas/mercado.txt
Antes de rodar rm
  1. O que muda: o arquivo é apagado na hora.
  2. Como desfazer: não tem como. O terminal não usa a lixeira.
  3. Como saber que deu certo: ls notas não mostra mais o arquivo.
Para apagar uma pasta vazia, use rmdir. Para apagar uma pasta com tudo dentro, existe rm -r. Antes de usar, confira com pwd e ls se você está mesmo no lugar certo. Em tutoriais, você vai ver rm -rf. O -f (de force, forçar) faz o rm nunca perguntar nada, nem nos casos em que perguntaria. Use só quando tiver certeza absoluta do caminho.
Exercício: crie e renomeie um arquivo

Dentro de fotos, crie um arquivo vazio chamado praia.jpg, renomeie para ferias.jpg e confira. Dica: o comando touch cria um arquivo vazio. Tente sozinho antes de ler os comandos abaixo.

touch fotos/praia.jpg
mv fotos/praia.jpg fotos/ferias.jpg
ls fotos

5. Ler o conteúdo de arquivos

cat notas/compras.txt
Saída esperada:
arroz
feijão

Arquivos escondidos

No Linux e no macOS, arquivos que começam com ponto, como .bashrc, ficam escondidos. Eles costumam guardar configurações. Para ver todos:

ls -a

Você também vai ver . e .. na lista. São os atalhos da pasta atual e da pasta de cima.

Detalhes de cada arquivo

ls -l notas
Saída parecida com esta:
-rw-r--r-- 1 ana ana 14 out 17 17:22 compras.txt

Da esquerda para a direita: as permissões (quem pode ler, escrever e executar), um número que você pode ignorar por enquanto, o dono, o grupo, o tamanho em bytes, a data da última alteração e o nome. As permissões são explicadas na lição Linux básico.

6. Pedir ajuda ao próprio comando

Você não precisa decorar opções. Quase todo comando explica a si mesmo:

mv --help
man mv

--help mostra um resumo direto no terminal. No macOS, muitos comandos não aceitam --help; use o man. man abre o manual completo, com as mesmas teclas do less (q para sair). Os dois costumam estar em inglês, e é aí que a lista de termos do tópico de inglês ajuda.

Se uma IA sugerir uma opção que você nunca viu, confira com --help antes de rodar. IAs às vezes inventam opções que não existem.

7. Juntar comandos: >, >> e |

O que um comando mostra na tela se chama saída. Ela pode ir para um arquivo ou para outro comando, em vez de aparecer na tela.

SímboloO que fazExemplo
>Grava a saída num arquivo, substituindo o que havials > lista.txt
>>Acrescenta a saída no fim do arquivoecho "sal" >> notas/compras.txt
|Entrega a saída de um comando para o próximols notas | wc -l

O | se chama pipe (cano). No exemplo, o ls lista os arquivos e o wc -l conta as linhas, ou seja, quantos arquivos há na pasta.

Para buscar uma palavra dentro de arquivos, use o grep:

grep feijão notas/compras.txt
Saída esperada:
feijão
Cuidado com o >Trocar >> por > apaga o conteúdo anterior do arquivo, sem aviso. Teste: rode echo "linha 1" > teste.txt, depois echo "linha 2" > teste.txt e cat teste.txt. Só sobra a linha 2.
Exercício: quantos itens tem a sua pasta de treino?

Combine ls e wc -l com um pipe.

ls ~/treino-terminal | wc -l

O número conta o que está direto dentro da pasta de treino: as pastas e os arquivos que você criou ali.

8. sudo: o comando de administrador

Algumas ações mexem no sistema inteiro, como instalar programas. Elas exigem permissão de administrador. No Linux, o administrador é um usuário chamado root. O sudo na frente de um comando roda só aquele comando como root:

sudo apt update

Esse exemplo vale para Ubuntu e WSL; no macOS não existe apt. O terminal pede a sua senha. Em muitos sistemas, nada aparece na tela enquanto você digita. Em outros, aparecem asteriscos. Os dois casos são normais: digite e aperte Enter.

Antes de usar sudoCom sudo, o sistema deixa de proteger você de si mesmo. Um rm -r no caminho errado com sudo pode apagar arquivos do sistema. Use só quando o comando precisar, e nunca rode com sudo algo que você não entendeu.

9. Ler os erros mais comuns

As mensagens de erro costumam vir em inglês, principalmente em servidores. Se o seu sistema estiver em português, elas aparecem traduzidas. Estas são as que você mais vai ver:

MensagemO que quer dizerO que tentar
No such file or directoryO arquivo ou a pasta não existe nesse caminhoRode pwd e ls e confira o nome, com maiúsculas e minúsculas
command not foundO programa não está instalado ou o nome está erradoConfira a digitação e, se for o caso, instale o programa
Permission deniedSeu usuário não pode fazer issoVeja as permissões com ls -l. Use sudo só se a ação for mesmo de administrador
Is a directoryVocê usou um comando de arquivo numa pastaSe queria apagar a pasta, use rmdir (vazia) ou rm -r (com conteúdo)
Directory not emptyO rmdir só apaga pastas vaziasVeja o que tem dentro com ls antes de decidir

Se um comando travar ou não terminar nunca, aperte Ctrl+C. Ele interrompe o comando que está rodando.

10. Limpe a pasta de treino

Quando terminar, apague a pasta de treino. É um bom exercício de cuidado com o rm -r.

cd ~
ls
rm -r ~/treino-terminal
Antes de rodar
  1. O que muda: apaga a pasta treino-terminal e tudo o que você criou dentro dela.
  2. Como desfazer: não tem como, então confira o caminho letra por letra antes de apertar Enter.
  3. Como saber que deu certo: ls ~ não mostra mais treino-terminal.
Para fixarExplique para alguém, com suas palavras, a diferença entre cp e mv e entre > e >>. Depois, marque no tópico que você ensinou alguém.

Lição escrita em português pela Iniciativa Ako, da Rizzygo, com base nos temas do tutorial The Linux command line for beginners, do Ubuntu (em inglês). Não é uma tradução: o texto e os exemplos são próprios.

Conteúdo aberto sob a licença CC BY 4.0. Viu um erro? Abra uma issue.