Lab de Bash Básico: Desmistificando o Terminal - Parte 1
👉 Veja meu curso da Udemy: Curso DevOps na Prática
Passo 1: Abrindo o Terminal e Primeiros Comandos
Nosso ponto de partida é acessar essa "caixa preta" que tanto intriga.
-
Como Abrir o Terminal:
- Linux: Geralmente você encontra um ícone de terminal no menu de aplicativos (procure por "Terminal", "Konsole", "Gnome Terminal", etc.). Um atalho comum é
Ctrl + Alt + T. - macOS: Vá em "Aplicativos" > "Utilitários" > "Terminal". Ou use o Spotlight (
Command + Espaço) e digite "Terminal". - Windows (Opcional, mas recomendado para o Bash): Para ter uma experiência mais próxima do Linux/macOS, recomendo usar o WSL (Windows Subsystem for Linux). Se ainda não tem, pesquise "Instalar WSL Windows" para as instruções. Caso contrário, você pode usar o
Git Bashque vem com a instalação do Git, ou o próprioPowerShell(mas os comandos podem variar um pouco). Para este lab, vamos focar em comandos estilo Linux/macOS.
- Linux: Geralmente você encontra um ícone de terminal no menu de aplicativos (procure por "Terminal", "Konsole", "Gnome Terminal", etc.). Um atalho comum é
-
O Seu Primeiro Comando:
echo- No terminal, digite:
echo "Olá, mundo do Bash!" - Pressione
Enter. - O que aconteceu? O comando
echosimplesmente "ecoou" (imprimiu) o que você digitou na tela. É como um "Olá, mundo!" do terminal.
- No terminal, digite:
-
Descobrindo Onde Você Está:
pwd- Digite:
pwd - Pressione
Enter. - O que aconteceu?
pwdsignifica "print working directory" (imprimir diretório de trabalho). Ele mostra o caminho completo da pasta onde você está atualmente no terminal. Provavelmente será algo como/home/seu_usuariono Linux ou/Users/seu_usuariono macOS.
- Digite:
Passo 2: Navegando entre Pastas (cd e ls)
Agora vamos explorar os diretórios (pastas) do seu sistema.
-
Listando o Conteúdo:
ls- Digite:
ls - Pressione
Enter. - O que aconteceu?
lssignifica "list" (listar). Ele mostra os arquivos e pastas que estão dentro do diretório atual. Você provavelmente verá pastas comoDesktop,Downloads,Documents, etc.
- Digite:
-
Entrando em uma Pasta:
cd- Vamos entrar na pasta
Documents. Digite (lembre-se que nomes de pastas são sensíveis a maiúsculas/minúsculas):cd Documents - Pressione
Enter. - O que aconteceu?
cdsignifica "change directory" (mudar diretório). Você acabou de entrar na pastaDocuments. - Dica: Digite
pwdnovamente para confirmar que você está emDocuments.
- Vamos entrar na pasta
-
Listando o Conteúdo de Novo:
- Digite
lsnovamente. O que você vê agora? Provavelmente nada se a pastaDocumentsestiver vazia.
- Digite
-
Voltando para a Pasta Anterior:
- Para voltar um nível na estrutura de pastas, usamos
..(dois pontos). - Digite:
cd .. - Pressione
Enter. - O que aconteceu? Você voltou para o seu diretório inicial (sua "home"). Use
pwdpara confirmar.
- Para voltar um nível na estrutura de pastas, usamos
-
Voltando para a Home Diretamente:
- Não importa onde você esteja, você pode voltar para sua pasta
homerapidamente. - Digite:
cd - Pressione
Enter. - O que aconteceu?
cdsem argumentos te leva diretamente para sua pastahome. - Dica: O caractere
~(til) também representa sua pastahome. Você pode usarcd ~para o mesmo resultado.
- Não importa onde você esteja, você pode voltar para sua pasta
Passo 3: Criando e Manipulando Arquivos e Pastas
É hora de criar seus próprios elementos no sistema!
-
Criando uma Nova Pasta:
mkdir- Vamos criar uma pasta para o nosso lab. Certifique-se de estar na sua pasta
home(cdoucd ~). - Digite:
mkdir meu_primeiro_lab - Pressione
Enter. - O que aconteceu?
mkdirsignifica "make directory" (criar diretório). Você criou uma nova pasta. - Use
lspara confirmar quemeu_primeiro_labestá lá.
- Vamos criar uma pasta para o nosso lab. Certifique-se de estar na sua pasta
-
Entrando na Nova Pasta:
-
cd meu_primeiro_lab
-
-
Criando um Arquivo Vazio:
touch- Digite:
touch meu_primeiro_arquivo.txt - Pressione
Enter. - O que aconteceu?
touchcria um arquivo novo e vazio (ou atualiza a data de modificação de um arquivo existente). - Use
lspara ver o arquivomeu_primeiro_arquivo.txt.
- Digite:
-
Adicionando Conteúdo a um Arquivo:
echocom Redirecionamento (>)- Vamos escrever algo dentro do nosso arquivo.
-
echo "Este é o conteúdo do meu primeiro arquivo." > meu_primeiro_arquivo.txt - Pressione
Enter. - O que aconteceu? O
>(redirecionador) faz com que a saída do comandoechoseja escrita no arquivo, sobrescrevendo qualquer conteúdo anterior.
-
Lendo o Conteúdo de um Arquivo:
cat- Para ver o que está dentro do arquivo, usamos
cat. -
cat meu_primeiro_arquivo.txt - Pressione
Enter. - O que aconteceu?
cat("concatenate") exibe o conteúdo do arquivo na tela.
- Para ver o que está dentro do arquivo, usamos
-
Adicionando Conteúdo sem Sobrescrever:
>>- Se você quiser adicionar mais linhas ao arquivo sem apagar o que já existe, use
>>. -
echo "Esta é uma nova linha adicionada." >> meu_primeiro_arquivo.txt - Pressione
Enter. - Agora, use
cat meu_primeiro_arquivo.txtnovamente para ver as duas linhas.
- Se você quiser adicionar mais linhas ao arquivo sem apagar o que já existe, use
-
Copiando Arquivos:
cp- Vamos fazer uma cópia do nosso arquivo.
-
cp meu_primeiro_arquivo.txt copia_do_arquivo.txt - Pressione
Enter. - O que aconteceu?
cp(copy) criou uma cópia exata domeu_primeiro_arquivo.txtcom o nomecopia_do_arquivo.txt. Uselspara verificar.
-
Movendo (e Renomeando) Arquivos:
mv- O comando
mv(move) é usado tanto para mover arquivos para outro local quanto para renomeá-los. - Vamos renomear a cópia:
mv copia_do_arquivo.txt arquivo_renomeado.txt - Pressione
Enter. - Use
lspara ver quecopia_do_arquivo.txtsumiu earquivo_renomeado.txtapareceu.
- O comando
-
Removendo Arquivos:
rm- Cuidado com este comando! Uma vez removido, é difícil recuperar.
-
rm arquivo_renomeado.txt - Pressione
Enter. - O que aconteceu?
rm(remove) deletou o arquivo. Uselspara confirmar.
-
Removendo Pastas Vazias:
rmdir- Vamos voltar para a pasta
homeprimeiro:cd .. - Tente remover a pasta que criamos:
rmdir meu_primeiro_lab - O que aconteceu? Você provavelmente recebeu um erro, algo como "Directory not empty" (Diretório não vazio). Isso porque ainda temos
meu_primeiro_arquivo.txtlá dentro!rmdirsó remove pastas vazias.
- Vamos voltar para a pasta
-
Removendo Pastas com Conteúdo:
rm -r- Para remover uma pasta e todo o seu conteúdo (arquivos e subpastas), usamos a opção
-r(recursivo) comrm. Use com muita cautela! -
rm -r meu_primeiro_lab - Pressione
Enter. - O que aconteceu? A pasta
meu_primeiro_labe tudo o que estava dentro dela foi deletado. Uselspara confirmar.
- Para remover uma pasta e todo o seu conteúdo (arquivos e subpastas), usamos a opção
Passo 4: Dicas Essenciais para o Terminal
Para tornar sua vida no terminal muito mais fácil.
-
Completar Automaticamente (Tab):
- Comece a digitar o nome de um comando, arquivo ou pasta e pressione a tecla
Tab. O terminal tentará completar para você. Se houver mais de uma opção, pressioneTabduas vezes para vê-las. - Experimente: Digite
cd Doce aperteTab.
- Comece a digitar o nome de um comando, arquivo ou pasta e pressione a tecla
-
Histórico de Comandos (Setas para Cima/Baixo):
- Use as setas
Para CimaePara Baixodo seu teclado para navegar pelos comandos que você já digitou. Isso economiza muito tempo!
- Use as setas
-
Limpar a Tela:
clear- Quando o terminal estiver muito bagunçado, digite:
clear - Pressione
Enter. Ou use o atalhoCtrl + L.
- Quando o terminal estiver muito bagunçado, digite:
-
Saindo do Terminal:
exit- Para fechar a sessão do terminal, digite:
exit - Pressione
Enter.
- Para fechar a sessão do terminal, digite:
Desafios Finais (Para você praticar!)
- Crie uma nova pasta chamada
projetosdentro da suahome. - Dentro de
projetos, crie duas novas pastas:webemobile. - Dentro da pasta
web, crie um arquivo chamadoindex.htmlcom o conteúdo "<h1>Meu Site</h1>". - Copie
index.htmlpara a pastamobile, mas renomeie-o paraapp.htmldurante a cópia. - Volte para sua pasta
home. - Remova a pasta
projetose todo o seu conteúdo.
Parabéns! Você acaba de dar seus primeiros passos no mundo do Bash e do terminal. Não tenha medo de explorar, errar faz parte do aprendizado. Quanto mais você praticar, mais natural se tornará.