Formação AWS

← Todos os artigos

Comandos Linux para AWS: o básico por tarefa, com shell script

CarreiraPor Henrylle Maia · 15 out 2026 · 9 min de leitura

Quem começa na AWS esbarra rápido em tela preta, comando Linux e shell script. Com a IA fazendo operação por você, não saber o que ela executa na nuvem é perigoso. Aqui estão os comandos do primeiro dia, por tarefa: navegar, mexer em arquivos, liberar permissão, olhar processos, testar rede e juntar tudo num script.

Eles vêm de duas aulas minhas: a de 2023, com 15 comandos, e a da Missão Cloud de 2026, com 30 comandos. Cada comando aparece uma vez só.

Onde rodar: CloudShell ou um container Ubuntu

Se você está no Windows, na máquina da empresa e não pode instalar nada, abra o AWS CloudShell: é o ícone na barra superior do console da AWS, com um terminal no navegador. O usuário é o cloudshell-user e a distribuição usa yum para instalar programas. Reiniciar o CloudShell apaga o que você instalou, o que serve bem para praticar. Instalação de verdade fica para uma máquina que você lançar na AWS.

A alternativa é um container Ubuntu, que roda em Mac e Windows. Uma versão mais recente do Ubuntu funciona igual:

bash
docker run -it ubuntu:22.04 bash

Sobe o Ubuntu 22.04 e abre o terminal dentro dele. Em 2023 usei o CloudShell; em 2026, o container. Os exemplos valem para os dois.

Da tela preta ao primeiro script: abrir um terminal, mexer em pastas e arquivos, liberar a execução e automatizarTerminalCloudShell ou UbuntuNavegar e arquivospwd, ls, cd, cp, mvPermissõessudo, chmod +xShell scriptvariável, if, ./deploy.sh
Da tela preta ao primeiro script: abrir um terminal, mexer em pastas e arquivos, liberar a execução e automatizar
bash
pwd
ls
ls -la

pwd mostra o diretório atual (no container novo, a raiz /). ls lista arquivos e pastas. ls -la lista com detalhes e inclui os ocultos, os que começam com ponto: a .git e a .kiro do meu projeto só aparecem assim.

bash
cd bia
cd ..

cd entra numa pasta; cd .. volta um nível. Digite só o começo do nome e aperte Tab para completar. Se houver nomes parecidos, o Tab completa até onde eles são iguais, e Tab duas vezes lista as opções.

bash
clear

Limpa a tela. A seta para cima traz de volta os comandos que você já executou.

Arquivos e pastas: criar, copiar, mover, apagar

bash
mkdir aula-linux-shell
mv aula-linux-shell evento-aws

mkdir cria uma pasta. mv renomeia (como acima) ou move um arquivo ou pasta para outro lugar.

bash
touch teste.sh
cat teste.sh

touch cria um arquivo vazio. cat mostra o conteúdo sem abrir editor; num arquivo vazio, não retorna nada.

bash
cp teste.sh diretorio-teste
mv teste.sh diretorio-teste

cp copia: o original continua onde estava. mv move: o arquivo sai de onde estava e fica só no destino.

bash
rm teste.sh
rm -rf diretorio-teste

rm remove um arquivo. rm -rf apaga a pasta e tudo que tem dentro, de forma recursiva e forçada, sem perguntar. Tenha cuidado com esse.

Para editar, uso o nano (tem quem prefira o VI):

bash
nano primeiro_script.sh

Abre o arquivo para edição e, se ele não existir, cria. Para sair: Ctrl X, Y para salvar e Enter para manter o nome. Se você não alterou nada, o Y nem aparece. O nano precisa ser instalado, o que vem na próxima seção.

Ler e filtrar

bash
head -n 10 Dockerfile
tail -n 10 Dockerfile
tail -f arquivo.log

head mostra as primeiras linhas, tail as últimas. Com -f, o tail fica acompanhando o arquivo e mostra em tempo real o que chega. Na nuvem, serve para arquivo de log (o arquivo.log é só um nome de exemplo).

bash
ls | grep primeiro

O | (pipe) passa o resultado do ls para o grep, que filtra só as linhas com o texto. Com 300 arquivos na pasta, você vê só os que têm "primeiro" no nome, com o trecho destacado em vermelho.

Permissões e instalação

bash
yum install nano
sudo yum install nano

Sem sudo, o yum responde "You need to be root to perform this command", porque o cloudshell-user não tem permissão para instalar. O sudo roda o comando como root. Se pedir confirmação, responda y e Enter.

O yum sem sudo falha com "You need to be root to perform this command"; com sudo, o comando roda
O yum sem sudo falha com "You need to be root to perform this command"; com sudo, o comando roda
bash
sudo su
exit

sudo su faz os comandos seguintes rodarem como root; exit volta ao usuário anterior.

No Ubuntu, o gerenciador de pacotes é o apt-get; o comando muda conforme a distribuição:

bash
apt-get update
apt-get install git -y

apt-get update atualiza a lista de pacotes. O Ubuntu não vem com Git, então instale antes de baixar um projeto. O -y confirma sem perguntar.

bash
chmod +x teste.sh
./teste.sh

Arquivo recém-criado não tem permissão de execução, e ./teste.sh falha. O chmod +x adiciona a permissão (x de execute) e o ./ executa. Use Tab depois do ./ para completar o nome.

Processos e recursos da máquina

bash
ps aux
kill -9 <PID>

ps aux lista os processos em execução, cada um com seu PID, o ID único dele. Se um processo travou, por exemplo num container, o kill -9 com esse PID o mata de forma forçada.

bash
watch ls

O watch repete o comando a cada 2 segundos. Útil quando o resultado vai mudando e você quer vê-lo atualizado.

bash
df -h
free -m

df -h mostra o disco disponível e o percentual de uso. free -m mostra a memória: total, em uso e livre.

Rede: baixar projeto e testar uma URL

bash
git clone https://github.com/henrylle/bia

Baixa o projeto do GitHub e cria a pasta bia. É o que uso com os alunos: Node com React e banco PostgreSQL.

bash
apt-get install curl -y
curl https://httpbin.org/get
curl -I https://httpbin.org/get
curl -I https://httpbin.org/status/500

O curl faz uma requisição pelo terminal. Na nuvem ele responde duas perguntas: a aplicação web está respondendo, e o servidor tem saída para a internet? O Ubuntu limpo não traz o curl, por isso o apt-get install vem antes. Sem argumento, devolve o resultado da requisição, no exemplo um JSON simples. Com -I, devolve o status HTTP: 200 é sucesso, e a última rota simula um erro 500, de servidor.

O curl -I retorna HTTP/2 200 no topo, seguido dos cabeçalhos da resposta
O curl -I retorna HTTP/2 200 no topo, seguido dos cabeçalhos da resposta

Shell script: juntar comandos em automação

Shell script é um arquivo .sh, escrito numa linguagem de script que roda comandos. É por ele que você constrói automação na nuvem. Existem interpretadores como sh, dash e bash; o mais comum, com mais possibilidades, é o bash. Para ficar compatível com ele, comece o arquivo declarando o interpretador:

bash
#!/bin/bash
echo "Olá, mundo"

echo imprime. Salve, dê chmod +x e execute com ./primeiro_script.sh.

Variável e argumento

bash
ambiente=PRD
echo $ambiente

Na atribuição, sem espaço em volta do = e sem cifrão. Na leitura, com cifrão. Para não deixar o valor fixo, troque PRD por $1: o script lê o primeiro argumento da chamada, e ./primeiro_script.sh prod imprime prod. A imagem abaixo mostra a mesma ideia com nome=$1.

Condicional

bash
if [ -f deploy.sh ]; then
    echo "Arquivo de deploy existe"
else
    echo "Arquivo não encontrado"
fi

O -f verifica se o arquivo existe. Com deploy.sh na pasta, o script diz que existe. Removi o arquivo, rodei de novo, e ele disse que não foi encontrado.

O script com nome=$1, o echo da saudação e o if [ -f deploy.sh ] com os dois caminhos
O script com nome=$1, o echo da saudação e o if [ -f deploy.sh ] com os dois caminhos

Um script que chama outros

Numa automação maior, com vários scripts, o deploy.sh chama os outros:

bash
echo "Chamando primeiro script"
./primeiro_script.sh prod
echo "Chamando segundo script"
./segundo_script.sh

Para um script chamar outro, ele usa o ./ também, e todos precisam de chmod +x. Se um estiver sem permissão, o deploy não consegue chamá-lo.

Guardar o resultado de um comando

bash
arquivos=$(ls)
echo "Os arquivos desse diretorio sao:"
echo $arquivos

Escrever só ls na atribuição não executa nada. Com $(ls), o comando roda e o resultado fica na variável arquivos. Juntar a variável a um texto se chama interpolação. Imprimi a lista num echo à parte porque ela vem com quebra de linha.

O segundo_script.sh aberto com cat: arquivos=$(ls) guarda o resultado do ls e o echo imprime a lista
O segundo_script.sh aberto com cat: arquivos=$(ls) guarda o resultado do ls e o echo imprime a lista

Encadear com &&

bash
mkdir teste && mv teste.sh teste/

O && executa o segundo comando depois do primeiro: cria a pasta e já move o arquivo para dentro, sem várias linhas repetindo operações. Num Dockerfile isso aparece muito: cada linha pode ser cacheada, e encadear as operações repetitivas as põe no mesmo bloco de cache.

Checklist

  • Abrir o CloudShell no console da AWS, ou subir um container com docker run -it ubuntu:22.04 bash.
  • Navegar com pwd, ls -la e cd, usando Tab para completar.
  • Criar, copiar, mover e apagar com mkdir, touch, cp, mv e rm, com cuidado no rm -rf.
  • Ler com cat, head e tail, filtrar com ls | grep e editar com nano.
  • Instalar com sudo yum install ou apt-get install -y.
  • Liberar a execução com chmod +x e rodar com ./.
  • Consultar ps aux, df -h e free -m, e testar uma URL com curl -I.
  • Escrever um script com #!/bin/bash, variável, if [ -f ... ] e $(ls), e chamar um script a partir de outro.

Só ver alguém fazer não entra na cabeça, nem assistindo dez vezes. Repita cada comando no seu terminal e monte o seu próprio deploy.sh.

O que os alunos dizem

  • “A Formação AWS me deu a prática, a segurança e a clareza que eu nunca encontrei em nenhum outro curso.”

    Jhon Wilame, SRE / DevOps Engineer

    Ver depoimento
  • “O melhor curso que eu fiz até hoje é o seu.”

    Jorge Bastos, Desenvolvedor Java Sênior (AWS + IA)

    Ver depoimento
  • “Comecei a estudar Cloud em 2023 e entrei na Imersão AWS para aprofundar minha prática.”

    Luiz Claudio, Arquiteto de Soluções

    Ver depoimento

Formação AWS

Aprenda AWS e IA na prática, com projeto real e acompanhamento. Converse com o time sobre a Formação AWS.

Agende uma conversa

Prefere assistir?

A aula completa (28 min) está no canal Domine AWS. O vídeo toca aqui mesmo.

Leia também

Compartilhe este post