🐧 Linha de Comando Linux

Multilingual DevOps cheat sheet: Linux, Docker, Git, Kubernetes, Helm, Terraform, practical scenarios & templates.
Data de Publicação

31 de agosto de 2025

Comandos básicos e avançados para navegação, ficheiros, processos, redes, monitorização, pacotes e automação. Adequado para fluxos de trabalho DevOps.

🔹 Comandos básicos

Comando

Exemplo

Descrição

cat Mostrar o conteúdo de um ficheiro ou concatenar vários ficheiros
cat file.txt

Ver o conteúdo de um ficheiro

cat file1 file2

Concatenar e mostrar dois ficheiros

cat file1 file2 > merged.txt

Concatenar ficheiros e guardar num novo ficheiro

cd Mudar o diretório de trabalho atual
cd /etc

Ir para o caminho absoluto /etc

cd ~

Ir para o diretório pessoal

cd ..

Subir um nível

cd -

Voltar ao diretório anterior

clear Limpar o ecrã do terminal
cp Copiar ficheiros e diretórios
cp file1.txt file2.txt

Copiar um ficheiro com um novo nome

cp -r dir1 dir2

Copiar recursivamente um diretório

cp -i file.txt /tmp/

Copiar com confirmação antes de substituir

echo Imprimir uma string ou variável de ambiente
echo "Hello, World!"

Imprimir uma string simples

echo $HOME

Mostrar o caminho do diretório pessoal

echo -e "1\t2\n3"

Interpretar sequências de escape ( )

history Mostrar o histórico de comandos
id Mostrar UID, GID e grupos do utilizador atual
ls Listar ficheiros e diretórios
ls -l

Listagem detalhada com permissões e donos

ls -a

Mostrar ficheiros ocultos

ls -lh

Tamanhos legíveis por humanos

mkdir Criar diretórios
mkdir folder

Criar um único diretório

mkdir -p a/b/c

Criar diretórios aninhados

mkdir dir{1,2,3}

Criar múltiplos diretórios de uma vez

mv Mover ou renomear ficheiros/diretórios
mv oldname.txt newname.txt

Renomear um ficheiro

mv file.txt /path/to/dir/

Mover um ficheiro para outro diretório

mv *.txt archive/

Mover todos os ficheiros .txt para a pasta archive

pwd Mostrar o diretório de trabalho atual
pwd -P

Mostrar o caminho físico (sem symlinks)

cd /tmp && pwd

Mostrar o caminho depois de mudar para /tmp

rm Remover ficheiros ou diretórios
rm file.txt

Apagar um ficheiro

rm -i file.txt

Apagar um ficheiro com confirmação

rm -r folder/

Apagar recursivamente um diretório

rm -rf folder/

Forçar remoção sem confirmação

rmdir Remover um diretório vazio
rmdir emptydir

Remover o diretório emptydir

touch Criar ficheiros vazios ou atualizar o tempo de modificação
touch newfile.txt

Criar um novo ficheiro vazio se não existir

touch a b c

Criar múltiplos ficheiros de uma vez

touch -c file.txt

Atualizar o tempo sem criar ficheiro se não existir

whereis Localizar o binário, código-fonte e manuais de um comando
whereis ls

Encontrar localizações para ls

whereis bash

Mostrar caminhos para o binário e documentação do Bash

whereis -b bash

Procurar apenas pelo binário

which Mostrar o caminho do executável de um comando
which python3

Caminho para python3

which grep

Caminho para grep

which --skip-alias ls

Ignorar aliases durante a procura

whoami Mostrar o nome do utilizador efetivo

🔸 Nível intermédio

Comando

Exemplo

Descrição

chmod Alterar permissões de ficheiro ou diretório
chmod 755 file

Definir permissões com notação octal (ex: 755)

chmod +x script.sh

Adicionar permissão de execução a um script

chmod -R 644 dir/

Definir permissões recursivamente num diretório

chown Alterar dono e grupo de ficheiro
chown user file

Alterar o dono de um ficheiro

chown user:group file

Alterar dono e grupo

chown -R user:group dir/

Alterar recursivamente dono e grupo

curl Transferir dados de/para um servidor (HTTP, HTTPS, etc.)
curl -I https://example.com

Enviar um pedido HEAD (apenas cabeçalhos)

curl -O https://example.com/file.txt

Descarregar um ficheiro mantendo o nome

curl -d "a=1&b=2" -X POST URL

Enviar um POST com dados de formulário

df Mostrar uso de espaço em disco do sistema de ficheiros
df -h

Tamanhos legíveis por humanos

df /home

Uso de um ponto de montagem específico

df -T

Mostrar tipos de sistemas de ficheiros

diff Comparar ficheiros ou diretórios
diff file1 file2

Comparar dois ficheiros

diff -u old.c new.c

Diff unificado (estilo patch)

diff -r dir1 dir2

Comparação recursiva de diretórios

du Estimar uso de espaço de ficheiros e diretórios
du -sh *

Mostrar tamanho de itens no diretório atual

du -h file.txt

Mostrar tamanho de um único ficheiro

du -sh --max-depth=1 /var

Resumir tamanhos de subdiretórios de topo

find Procurar ficheiros/diretórios por nome, tamanho, tempo, etc.
find . -name "*.log"

Encontrar todos os ficheiros .log no diretório atual

find / -type f -size +100M

Encontrar ficheiros maiores que 100 MB

find . -mtime -1

Ficheiros modificados no último dia

free Mostrar quantidade de memória livre e usada
free -h

Unidades de memória legíveis por humanos

free -m

Mostrar valores em MB

watch -n 2 free -h

Atualizar saída a cada 2 segundos

grep Procurar texto usando padrões (expressões regulares)
grep "error" logfile

Encontrar linhas que contenham error

grep -r "error" /var/log

Pesquisa recursiva num diretório

grep -i "fail" file

Pesquisa sem diferenciar maiúsculas/minúsculas

head Mostrar as primeiras linhas de um ficheiro
head -n 10 file

Primeiras 10 linhas

head -n 20 file.txt

Primeiras 20 linhas

head -c 100 file

Primeiros 100 bytes

hostname Mostrar ou definir o nome de anfitrião do sistema
hostname newname

Definir temporariamente o nome de anfitrião até reiniciar

hostname -I

Mostrar endereços IP

kill Enviar sinais a processos
kill -9 1234

Forçar terminar um processo pelo PID

kill -TERM 1234

Terminar graciosamente com SIGTERM

pkill -f python

Matar processos que correspondam a um padrão

ping Verificar conectividade de rede com pedidos ICMP
ping 8.8.8.8

Ping a um endereço

ping -c 4 ya.ru

Enviar 4 pacotes

ping -i 2 1.1.1.1

Definir intervalo de 2 segundos

ps Mostrar estado de processos
ps aux

Listar todos os processos

ps -ef | grep nginx

Filtrar por nome usando grep

ps -u $USER

Processos do utilizador atual

rsync Transferência incremental rápida de ficheiros
rsync -av src/ dst/

Sincronizar diretórios localmente

rsync -avz user@host:/src /dst

Sincronizar com anfitrião remoto via SSH

rsync --delete src/ dst/

Apagar ficheiros em destino ausentes na origem

scp Cópia segura (programa de cópia remota)
scp file user@host:/path

Copiar um ficheiro para um anfitrião remoto

scp user@host:/file.txt .

Copiar um ficheiro de um anfitrião remoto

scp -r dir user@host:/path

Copiar recursivamente um diretório

sort Ordenar linhas de texto
sort file.txt

Ordenação alfabética

sort -r file.txt

Ordem inversa

sort -n numbers.txt

Ordenação numérica

tail Mostrar a parte final de ficheiros; seguir alterações
tail -f logfile.log

Seguir log em tempo real

tail -n 20 file.txt

Mostrar as últimas 20 linhas

tail -c 100 file.txt

Mostrar os últimos 100 bytes

tar Criar, listar ou extrair arquivos tar
tar -czf archive.tgz dir/

Criar um arquivo .tgz comprimido

tar -xzf archive.tgz

Extrair um arquivo .tgz

tar -tf archive.tgz

Listar conteúdo do arquivo

tee Ler de stdin e escrever em stdout e ficheiros
echo "test" | tee out.txt

Escrever saída em out.txt e mostrar

ls | tee list.txt

Guardar saída de ls num ficheiro e mostrar

command | tee -a log.txt

Acrescentar saída ao fim de log.txt

top Mostrar tarefas do Linux (visualizador de processos interativo)
top

Iniciar top

htop

Visualizador alternativo (htop)

top -o %MEM

Ordenar por uso de memória

uptime Mostrar há quanto tempo o sistema está ativo
uptime -p

Tempo de atividade em formato amigável

uptime -s

Hora de arranque do sistema

wget Downloader de rede não interativo
wget https://site.com/file.zip

Descarregar ficheiro por URL

wget -c file.zip

Retomar download interrompido

wget -O saved.txt URL

Guardar com nome diferente

wc Mostrar contagem de linhas, palavras e bytes de ficheiros
wc -l file

Contar linhas

wc -w file

Contar palavras

wc -m file

Contar caracteres

uniq Relatar ou remover linhas repetidas (duplicados adjacentes)
uniq file.txt

Remover duplicados adjacentes

sort file | uniq

Remover duplicados após ordenação

sort file | uniq -c

Contar ocorrências de cada linha

yes Repetidamente imprimir uma string até ser interrompido; útil em scripts
yes "y" | command

Responder sempre “y” a prompts

yes | rm -i *

Auto-confirmar eliminações interativas

yes no | command

Responder “no” a prompts

🔧 Comandos avançados

Comando

Exemplo

Descrição

at Agendar um comando único para executar numa hora definida
at now + 1 minute

Executar um comando daqui a um minuto

atq

Listar tarefas pendentes

atrm

Remover uma tarefa pendente

awk Linguagem de análise e processamento de padrões
awk '{print $1}' file

Imprimir a primeira coluna

ps aux | awk '$3 > 50'

Filtrar processos por uso de CPU

cat file.txt | awk '{print $2}'

Imprimir o segundo campo de cada linha

awk '/error/ {print $0}' logfile

Imprimir linhas que correspondam a um padrão

crontab Instalar, listar ou remover tarefas cron por utilizador
crontab -e

Editar crontab do utilizador atual

crontab -l

Listar tarefas cron

crontab -r

Remover crontab do utilizador atual

cut Remover ou selecionar secções de cada linha de ficheiros
cut -d':' -f1 /etc/passwd

Imprimir nomes de utilizador de /etc/passwd

echo "a:b:c" | cut -d':' -f2

Cortar o segundo campo usando ‘:’ como delimitador

cut -c1-5 filename

Selecionar caracteres por posição

df Mostrar uso de espaço em disco
df -h

Tamanhos legíveis por humanos

df -T

Mostrar tipos de sistemas de ficheiros

df /home

Uso do diretório pessoal

env Executar um comando num ambiente modificado ou mostrar env
env | grep PATH

Mostrar entradas do PATH

env -i bash

Iniciar shell limpa com ambiente vazio

export Definir variáveis de ambiente para a shell/sessão atual
export VAR=value

Definir uma variável nesta shell

export PATH=$PATH:/new/path

Acrescentar um diretório ao PATH

export -p

Listar variáveis exportadas

free Mostrar uso de memória
free -m

Mostrar em MB

free -h

Unidades legíveis por humanos

free -s 5

Amostragem a cada 5 segundos

hostnamectl Consultar e alterar nome de anfitrião e definições relacionadas
hostnamectl status

Mostrar estado do nome de anfitrião

hostnamectl set-hostname newname

Definir novo nome de anfitrião estático

ifconfig / ip Ferramentas IP para ver/gerir interfaces e endereços
ifconfig

Mostrar interfaces de rede (legado)

ip a

Mostrar endereços com ip

ip link set eth0 up

Ativar uma interface

iostat Mostrar estatísticas de CPU e I/O
iostat -x 2

Estatísticas detalhadas a cada 2 segundos

iostat -d 5 3

Estatísticas de dispositivos (intervalo 5s, 3 relatórios)

iptables Ferramenta de administração de filtragem de pacotes IPv4 e NAT
iptables -L

Listar regras atuais

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Permitir SSH na porta 22

iptables -F

Limpar todas as regras

journalctl Consultar o journal do systemd
journalctl -xe

Mostrar erros recentes com contexto

journalctl -u nginx.service

Mostrar logs de um serviço

journalctl --since "2 hours ago"

Mostrar logs desde tempo relativo

ln Criar ligações entre ficheiros
ln -s target link

Criar um link simbólico

ln file.txt backup.txt

Criar um link físico

ln -sf target link

Forçar recriação de link simbólico

sed Editor de fluxos para filtrar e transformar texto
sed 's/old/new/g' file

Substituir uma string globalmente

sed -n '1,5p' file

Imprimir apenas intervalo de linhas

sed '/pattern/d' file

Apagar linhas correspondentes a padrão

systemctl Controlar o systemd e serviços
systemctl status nginx

Mostrar estado de serviço

systemctl start nginx

Iniciar um serviço

systemctl enable nginx

Ativar serviço no arranque

tr Traduzir ou apagar caracteres
tr a-z A-Z

Converter minúsculas em maiúsculas

echo "hello" | tr 'h' 'H'

Substituir um carácter

echo "abc123" | tr -d '0-9'

Apagar dígitos

type Descrever como um nome seria interpretado na shell
type ls

Mostrar como ls é resolvido

type cd

Mostrar como cd é resolvido

type python3

Mostrar como python3 é resolvido

ulimit Obter ou definir limites de recursos de processo do utilizador
ulimit -n

Mostrar máximo de ficheiros abertos

ulimit -c unlimited

Ativar core dumps

ulimit -u 4096

Limitar número de processos de utilizador

uptime Mostrar tempo de atividade e carga média
uptime -p

Tempo de atividade em formato amigável

uptime -s

Mostrar hora de arranque

xargs Construir e executar comandos a partir da entrada padrão
xargs -n 1 echo

Mostrar cada argumento numa linha separada

echo "a b c" | xargs -n 1

Dividir palavras em argumentos separados

find . -name '*.txt' | xargs rm

Encontrar ficheiros e removê-los com xargs

🌐 Comandos de rede

Comando

Exemplo

Descrição

curl Transferir dados de/para servidores
curl -X POST -d "a=1" URL

Pedido POST com dados de formulário

curl -I URL

Obter apenas cabeçalhos

curl -o file.html URL

Descarregar e guardar num ficheiro

dig Utilitário de pesquisa DNS
dig openai.com

Consultar registos A

dig +short openai.com

Resposta curta

dig @8.8.8.8 openai.com

Usar um servidor DNS específico

ftp Cliente do Protocolo de Transferência de Ficheiros
ftp host

Ligar a um servidor FTP

ftp -n host

Ligar sem auto-login

ftp> get file.txt

Descarregar um ficheiro numa sessão FTP

ip address Mostrar/manipular endereços IP
ip addr show eth0

Mostrar informações de endereço para eth0

ip addr

Listar todos os endereços

ip link Mostrar/manipular dispositivos de rede
ip link show

Mostrar ligações de rede

ip link set eth0 up

Ativar uma interface

ip route Mostrar/manipular a tabela de encaminhamento IP
ip route list

Listar tabela de rotas

ip route add default via 192.168.1.1

Adicionar rota por defeito

nc Conexões e escutas TCP/UDP arbitrárias
nc -zv host 22

Scan de portas de um host

nc -l 1234

Escutar numa porta TCP

nc host 1234 < file

Enviar um ficheiro para uma porta remota

nmap Ferramenta de exploração de rede e scanner de segurança/portas
nmap -sP 192.168.1.0/24

Scan de ping a uma sub-rede

nmap -sV 192.168.1.1

Deteção de serviços/versões

nmap -O 192.168.1.1

Deteção de sistema operativo

nslookup Consultar servidores de nomes de domínio da Internet
nslookup google.com

Consultar um nome de domínio

nslookup 8.8.8.8

Pesquisa inversa para um IP

ssh Cliente de login remoto OpenSSH
ssh user@host

Ligar a um host

ssh -p 2222 user@host

Ligar usando uma porta não padrão

ssh -i ~/.ssh/id_rsa user@host

Login com uma chave privada específica

ss Utilitário para investigar sockets
ss -tuln

Listar portas TCP/UDP em escuta

ss -s

Estatísticas sumárias

ss -l

Listar sockets em escuta

telnet Interface de utilizador para o protocolo TELNET
telnet host 80

Ligar a um host na porta 80

telnet example.com 443

Ligar à porta 443

telnet localhost 25

Ligar ao SMTP local

traceroute Traçar a rota até um host de rede
traceroute 8.8.8.8

Traçar caminho até um IP

traceroute -m 15 8.8.8.8

Limitar saltos máximos

wget Obter ficheiros da web
wget -O file.txt URL

Guardar saída num ficheiro

wget URL

Descarregar para o diretório atual

wget -c URL

Continuar um download parcial

🔍 Pesquisa e gestão de ficheiros

Comando

Exemplo

Descrição

basename Remover diretório e sufixo de nomes de ficheiros
basename /path/to/file

Imprimir o nome do ficheiro a partir de um caminho

basename /path/to/file .txt

Remover um sufixo do nome

dirname Remover o último componente de um caminho
dirname /path/to/file

Mostrar parte do diretório do caminho

dirname /etc/passwd

Mostrar pai de /etc/passwd

du Estimar uso de espaço em disco
du -sh folder/

Mostrar tamanho de um diretório

du -h *

Mostrar tamanho de itens no diretório atual

du -c folder1 folder2

Tamanho cumulativo de múltiplos diretórios

file Determinar tipo de ficheiro
file some.bin

Detetar tipo de ficheiro

file *

Detetar tipos para todos os ficheiros no diretório

file -i file.txt

Mostrar tipo MIME

find Procurar ficheiros
find /path -type f -name "*.sh"

Procurar scripts shell por nome

find . -size +10M

Procurar ficheiros maiores que 10 MB

find /tmp -mtime -1

Procurar ficheiros modificados no último dia

locate Procurar ficheiros por nome usando base de dados
locate filename

Localizar um nome de ficheiro

locate *.conf

Pesquisa com wildcard

locate -i README

Pesquisa sem diferenciar maiúsculas/minúsculas

realpath Mostrar o caminho absoluto resolvido
realpath file

Resolver caminho de um ficheiro

realpath ../relative/path

Resolver um caminho relativo

stat Mostrar estado de ficheiro ou sistema de ficheiros
stat file

Mostrar estado detalhado de um ficheiro

stat -c %s file

Imprimir apenas tamanho do ficheiro

stat -f file

Mostrar estado do sistema de ficheiros

tree Listar conteúdos de diretórios em formato de árvore
tree

Imprimir árvore de diretórios

tree -L 2

Limitar profundidade de exibição

tree -a

Incluir ficheiros ocultos

📊 Monitorização do sistema

Comando

Exemplo

Descrição

dmesg Imprimir ou controlar o buffer de mensagens do kernel
dmesg | tail

Mostrar últimas mensagens do kernel

dmesg | grep usb

Filtrar mensagens USB

free Mostrar uso de memória
free -h

Unidades legíveis por humanos

free -m

Mostrar em MB

htop Visualizador interativo de processos
htop

Executar htop

iotop Mostrar uso de I/O por processos
iotop

Executar iotop

iotop -o

Mostrar apenas processos que fazem I/O

lsof Listar ficheiros abertos
lsof -i :80

Mostrar processos a usar a porta 80

lsof -u username

Mostrar ficheiros abertos por um utilizador

uptime Mostrar tempo de atividade do sistema e carga média
vmstat Mostrar estatísticas de memória virtual
vmstat 1

Atualizar a cada 1 segundo

vmstat 5 3

Intervalo de 5 segundos, 3 relatórios

watch Executar periodicamente um programa, mostrando saída
watch -n 1 df -h

Monitorizar uso de disco

watch -d free -h

Destacar diferenças e monitorizar memória

📦 Gestão de pacotes

Comando

Exemplo

Descrição

apt Gestor de pacotes APT (Debian/Ubuntu)
apt install curl

Instalar um pacote

apt remove curl

Remover um pacote

apt update && apt upgrade

Atualizar listas e atualizar pacotes

dnf Dandified YUM (família Fedora/RHEL)
dnf install curl

Instalar um pacote

dnf upgrade

Atualizar pacotes

rpm Gestor de pacotes RPM
rpm -ivh package.rpm

Instalar um pacote RPM

rpm -e package

Apagar (desinstalar) um pacote

snap Gestor de pacotes Snappy
snap install app

Instalar um snap

snap remove app

Remover um snap

yum Yellowdog Updater Modified (RHEL/CentOS)
yum install curl

Instalar um pacote

yum remove curl

Remover um pacote

💽 Sistemas de ficheiros

Comando

Exemplo

Descrição

blkid Localizar/imprimir atributos de dispositivos de bloco
blkid

Listar dispositivos de bloco e atributos

df Mostrar uso de espaço em disco do sistema de ficheiros
df -Th

Tamanhos legíveis por humanos por tipo

fsck Verificar e reparar um sistema de ficheiros Linux
fsck /dev/sda1

Verificar um dispositivo

lsblk Listar informações sobre dispositivos de bloco
lsblk

Listar dispositivos em árvore

mkfs Criar um sistema de ficheiros Linux
mkfs.ext4 /dev/sdb1

Criar sistema de ficheiros ext4

mount Montar um sistema de ficheiros
mount /dev/sdb1 /mnt

Montar um dispositivo em /mnt

mount | grep /mnt

Mostrar sistemas montados filtrados por caminho

parted Programa de manipulação de partições
parted /dev/sdb

Abrir um disco para particionamento

umount Desmontar sistemas de ficheiros
umount /mnt

Desmontar um ponto de montagem

🤖 Scripts e automação

Comando

Exemplo

Descrição

alias Definir ou mostrar aliases de shell
alias ll='ls -la'

Criar um alias útil

alias

Listar aliases definidos

bash / sh Executar scripts de shell
bash script.sh

Executar um script com Bash

sh script.sh

Executar um script com sh

crontab Tabelas cron por utilizador
crontab -e

Editar crontab do utilizador atual

read Pedir input do utilizador em scripts shell
read name

Ler para uma variável

set Definir opções/argumentos posicionais do shell
set -e

Sair no primeiro erro

source Ler e executar comandos de um ficheiro no shell atual
source ~/.bashrc

Recarregar configuração do shell

trap Capturar sinais e executar comandos
trap "echo 'exit'" EXIT

Executar um comando ao sair do shell

🛠 Desenvolvimento e depuração

Comando

Exemplo

Descrição

gcc Compilador GNU C
gcc main.c -o app

Compilar um ficheiro fonte C

gdb Depurador GNU
gdb ./app

Depurar um binário compilado

git Sistema de controlo de versões distribuído
git status

Mostrar estado da árvore de trabalho

git commit -m "msg"

Fazer commit com mensagem

ltrace Tracer de chamadas de biblioteca
ltrace ./app

Rastrear chamadas de biblioteca de um binário

make Utilitário para manter grupos de programas
make

Compilar de acordo com Makefile

shellcheck Análise estática para scripts shell
shellcheck script.sh

Lint de um script shell

strace Rastrear chamadas de sistema e sinais
strace ./app

Rastrear syscalls de um programa

valgrind Framework de instrumentação para ferramentas de análise dinâmica
valgrind ./app

Executar um programa com Valgrind

vim / nano Editores de texto na linha de comando
vim file.sh

Editar com Vim

nano file.sh

Editar com Nano

📌 Diversos

Comando

Exemplo

Descrição

cal Mostrar um calendário
cal 2025

Mostrar calendário de um ano

cal 08 2025

Mostrar um mês específico

date Mostrar ou definir data e hora do sistema
date +%T

Imprimir hora atual (HH:MM:SS)

date -d "next friday"

Imprimir data de um dia relativo

factor Fatorizar inteiros
factor 100

Fatorizar um número

man Formatar e mostrar páginas de manual online
man tar

Abrir uma página man

man -k copy

Pesquisar manuais por palavra-chave

man 5 passwd

Abrir uma secção específica do manual

seq Imprimir sequências de números
seq 1 5

Contar de 1 a 5

seq 1 2 9

Contar com passo

seq -s ',' 1 5

Juntar números com separador personalizado

yes Imprimir uma string repetidamente até ser interrompido
yes | rm -r dir

Confirmar automaticamente uma remoção recursiva

📚 Recursos adicionais

📘 man pages - manuais detalhados para comandos:

man ls
man rm

📙 TLDR - exemplos concisos de uso de comandos populares:

🧠 Dica: Instale tldr para ajuda em estilo de guia rápido:

sudo apt install tldr   # ou: npm install -g tldr
tldr tar                # exemplo de um breve resumo do comando tar

🌐 Links úteis

Linux man pages online — páginas de manual oficiais, pesquisáveis por comando:
https://man7.org/linux/man-pages/

Man pages simplificadas e da comunidade — páginas de ajuda com exemplos práticos:
https://tldr.sh/