
Você não precisa decorar centenas de comandos: precisa reconhecer a tarefa, encontrar a ferramenta e conferir o que ela vai fazer. Esta página organiza uma seleção prática por assunto, com um laboratório seguro e referências de documentação. O título remete à apostila de mais de 500 comandos disponível ao final; o texto da página não pretende reproduzir integralmente o PDF.
Antes de copiar: entenda o tipo de exemplo
Os exemplos usam Bash e ferramentas comuns no Linux. Alguns programas são opcionais; nomes de pacotes e serviços variam entre distribuições. O laboratório de arquivos deve ser seguido em ordem; os demais blocos são consultas independentes, não um script para executar inteiro como root.
- Consulta: mostra informações, mas pode revelar caminhos, usuários e dados sensíveis. Revise a saída antes de compartilhá-la.
- Alteração local: cria ou modifica os arquivos de treino. Confira a pasta atual antes de executar.
- Administração: instala, remove, reinicia ou muda permissões de sistemas reais. Exige planejamento, autorização e possibilidade de recuperação; não é a primeira tentativa de diagnóstico.
Descobrir comandos e ler a ajuda
type -a ls
command -v python3
help cd
man tar
tar --help
apropos archive
Use type para descobrir se um nome resolve para alias, função ou executável. A ajuda do Bash cobre seus comandos internos; man abre páginas de manual. Apropos pesquisa descrições na base de manuais, que precisa estar instalada e indexada. Em paginadores comuns, q sai e a barra inicia uma busca.
Execute os próximos blocos no mesmo terminal, como usuário comum. São necessárias as ferramentas GNU usuais, grep, sed, awk, tar e diff. A pasta de trabalho é nova e fica dentro da sua pasta pessoal. Se a criação ou a entrada na pasta falhar, o primeiro bloco interrompe o shell em vez de continuar em outro lugar.
LAB_DIR=$(mktemp -d "$HOME/linux-commands.XXXXXX") || exit 1
cd "$LAB_DIR" || exit 1
pwd
mkdir -p data copies restored
printf '%s\n' 'alpha' 'beta' 'alpha' > data/words.txt
cp -i data/words.txt copies/words.txt
ls -lah
stat data/words.txt
A listagem mostra a estrutura criada; stat detalha metadados do arquivo. Aspas protegem caminhos que contêm espaços. A opção interativa de cópia pede confirmação quando há sobrescrita, mas não transforma qualquer operação em segura.
Ler texto, filtrar linhas e contar corretamente
cat data/words.txt
head -n 2 data/words.txt
tail -n 1 data/words.txt
wc -l data/words.txt
grep -n '^alpha$' data/words.txt
grep -c '^alpha$' data/words.txt
sort data/words.txt | uniq -c
sed 's/beta/gamma/' data/words.txt
awk '{print NR, $0}' data/words.txt
O arquivo tem 3 linhas; a busca exata por alpha encontra 2. A opção de contagem do grep conta linhas selecionadas, não todas as ocorrências dentro de uma linha. Sort prepara valores iguais para uniq; o sed deste exemplo altera apenas a saída, não o arquivo original.
Para arquivos grandes, prefira um paginador como less a despejar tudo na tela. Para editar, escolha um editor instalado, como nano ou vi, e aprenda a salvar e sair antes de abrir uma configuração importante.
Buscar arquivos sem apagar nada
find data -type f -name '*.txt' -print
find data -type f -exec grep -nH 'alpha' {} +
find data -type f -mtime -1 -print
As aspas deixam o padrão de nomes para o find interpretar. A execução em lote com argumentos separados preserva nomes com espaços. O filtro de tempo procura arquivos modificados nas últimas 24 horas; não significa necessariamente desde a meia-noite. Primeiro observe a seleção: uma consulta não deve trazer uma exclusão embutida por surpresa.
Permissões, donos e links
id
groups
chmod 640 data/words.txt
ln data/words.txt data/words-hard.txt
ln -s words.txt data/words-link.txt
ls -li data/
readlink data/words-link.txt
A permissão 640 dá leitura e escrita ao dono, leitura ao grupo e nenhum acesso aos demais. O hard link compartilha o inode do arquivo; o link simbólico guarda um caminho. Neste laboratório, a pasta temporária também restringe acesso: os bits do arquivo sozinhos não demonstram acesso por outro usuário.
Não resolva falhas com permissões abertas para todos nem aplique mudanças recursivas em uma árvore de produção sem entender o efeito. Mudanças de dono, ACLs e regras de sudo devem ser testadas em um ambiente de treino, com os usuários e diretórios corretos.
Arquivar, restaurar e verificar
tar -czf data.tar.gz data/
tar -tzf data.tar.gz
tar -xzf data.tar.gz -C restored
diff -r data restored/data
sha256sum data.tar.gz
Liste o conteúdo antes de extrair e use uma pasta vazia. A comparação não deve mostrar diferenças neste exercício. Isso verifica conteúdo, não todos os requisitos de um backup completo. O hash ajuda a comparar arquivos, mas só comprova a origem quando confrontado com uma referência confiável.
Uma cópia com modo de arquivamento tenta preservar atributos; o resultado depende de permissões e dos sistemas de arquivos envolvidos. ACLs, atributos estendidos, links e restauração de dados de aplicações merecem testes próprios. Não confunda um arquivo compactado existente com uma recuperação comprovada.
Pipes, redirecionamentos e códigos de saída
printf '%s\n' 'first' > output.txt
printf '%s\n' 'second' >> output.txt
cat output.txt | tee copies/output.txt
if grep -q '^alpha$' data/words.txt; then
printf '%s\n' 'Found'
else
printf '%s\n' 'Not found'
fi
O redirecionamento simples sobrescreve; o duplo acrescenta. Um pipe conecta a saída normal de um comando à entrada do seguinte. O fluxo de erro é separado. Em Bash, o resultado de um pipeline normalmente é o do último comando; scripts que precisam detectar falhas anteriores devem considerar pipefail e tratar os códigos de saída conscientemente.
A partir daqui, o laboratório está concluído. Guarde o caminho da pasta para revisar os resultados. As próximas seções são referências independentes; não exigem apagar os arquivos criados.
Processos e desempenho: observe antes de encerrar
ps -eo pid,ppid,user,comm
pgrep -a bash
uptime
free -h
vmstat 1 5
uname -a
lscpu
Essas consultas ajudam a separar processos, carga, memória e arquitetura. A primeira amostra do vmstat tem uma base de tempo diferente das seguintes; não interprete toda a saída como medições equivalentes do último segundo. Um sistema lento exige correlação, não apenas olhar um número isolado.
Antes de encerrar um processo, identifique PID, usuário e função. A finalização normal permite tratamento pelo programa; a forçada não oferece a mesma oportunidade de limpeza. Evite padrões amplos que atingem vários processos e não use encerramento forçado como receita universal.
Discos: diagnóstico sem formatar
df -h
df -i
du -sh "$HOME"
lsblk -f
findmnt
Compare espaço, inodes, uso de diretórios e montagens. A consulta do tamanho da pasta pessoal pode demorar. Espaço livre e quantidade de inodes são medidas diferentes; um arquivo removido ainda aberto por um processo também pode manter espaço ocupado.
Formatação, particionamento e reparo de sistemas de arquivos ficam fora dos blocos de copiar e colar deste guia. Treine em disco virtual vazio, identifique o dispositivo e confirme os requisitos da ferramenta. Não suponha que um nome de disco visto num tutorial corresponda ao seu.
Rede e HTTP: endereço, rota, socket e resposta
ip -brief address
ip route
ss -ltn
ss -lun
getent hosts example.com
curl --head --max-time 10 https://example.com
curl --silent --show-error --output /dev/null --max-time 10 \
--write-out '%{http_code}\n' https://example.com
As primeiras consultas são locais; a resolução do nome e o curl fazem acesso externo. Ver uma porta escutando não prova que ela está acessível de outra máquina. Um erro de DNS, uma rota ausente e uma aplicação indisponível pedem investigações diferentes.
O código HTTP não é o mesmo que o código de saída do curl. Sem uma opção de falha para respostas HTTP, receber uma página de erro pode ainda representar uma transferência bem-sucedida para a ferramenta. Também não interprete ausência de resposta a ping como prova suficiente de que o serviço caiu.
Serviços, logs e tarefas agendadas
Em sistemas que usam systemd, comece por consultas. O acesso a parte dos logs pode ser restrito; ausência de mensagens visíveis não significa necessariamente ausência de eventos.
systemctl --failed --no-pager
systemctl list-units --type=service --state=running --no-pager
systemctl list-timers --all --no-pager
journalctl -b -p err --no-pager
journalctl --since "1 hour ago" --no-pager
journalctl --disk-usage
crontab -l
A última consulta depende de cron instalado e pode informar que não existe crontab para o usuário. Não confunda listar agendamentos com instalar uma tarefa. Um script agendado precisa de caminhos, permissões, ambiente e destino de logs definidos.
Ao administrar um serviço, escolha uma ação por vez. Iniciar, parar, reiniciar e recarregar não são sinônimos; recarregamento depende do suporte do serviço. Habilitação no boot é outra propriedade. Depois de editar uma unit, recarregar as definições do systemd não reinicia automaticamente a aplicação.
Pacotes: use a família da sua distribuição
Exemplos de consulta, não de atualização automática. Use somente o bloco correspondente à sua distribuição. Em Debian e Ubuntu:
dpkg-query -W bash
dpkg-query -L bash
apt-cache policy bash
Em uma distribuição baseada em RPM com Bash instalado:
rpm -q bash
rpm -ql bash
No Arch Linux com Bash instalado:
pacman -Qi bash
pacman -Ql bash
Instalação, remoção e atualização alteram o sistema. Leia a proposta de transação e a documentação da distribuição antes de confirmar. Não combine alternativas com barras no meio da linha: isso pode passar argumentos inesperados em vez de representar uma escolha.
SSH e cópia: valide o destino antes de transferir
Para SSH, confirme usuário, host, porta e a identidade do servidor por um canal confiável. Não aceite uma mudança de chave sem investigar e nunca envie a chave privada ao servidor. Para o passo a passo, use o guia de chaves do blog.
Para praticar rsync localmente, volte à pasta do laboratório e use esta simulação, caso a ferramenta esteja instalada:
cd "$LAB_DIR" || exit 1
rsync -ani data/ copies/data/
A simulação mostra mudanças sem copiá-las. A barra final na origem indica o conteúdo do diretório. Remover a opção de simulação executa a transferência; opções de exclusão podem apagar arquivos no destino e exigem revisão separada. O modo de arquivamento não inclui automaticamente todas as formas de metadados.
Ferramentas complementares e atalhos úteis
Tldr oferece exemplos curtos e ripgrep facilita buscas recursivas com regras de ignorar arquivos. São complementos, não substitutos universais dos manuais ou das ferramentas tradicionais. Confirme a instalação e os padrões de cada programa: arquivos ignorados podem não aparecer numa busca.
No modo padrão de edição do Bash, Ctrl-R busca no histórico, Ctrl-A e Ctrl-E vão ao início e ao fim da linha. Ctrl-C interrompe a tarefa em primeiro plano; Ctrl-Z a suspende. São teclas, não comandos para colar. Antes de repetir algo do histórico, leia a linha inteira: o contexto e o diretório podem ter mudado.
Hábitos que evitam acidentes
- Confira usuário, diretório, origem e destino. Use aspas e não digite caminhos de disco ou servidor por analogia com um exemplo.
- Faça backup antes de editar e valide a restauração. Snapshot ou cópia sem teste não demonstra recuperação.
- Não presuma que todo comando tenha simulação ou modo interativo. Confira no manual e leia as limitações da opção.
- Evite exclusões recursivas, formatação, alteração ampla de permissões e respostas automáticas de confirmação em receitas genéricas.
- Valide configurações antes de recarregar e teste o serviço depois. Guarde uma forma de retorno e acesso ao console ao alterar rede ou SSH.
- Não cole comandos de IA ou de páginas desconhecidas sem revisar. Identifique especialmente downloads executados diretamente, redirecionamentos e variáveis vazias.
PDF histórico: mais de 500 comandos do Linux
O acervo mantém a apostila de Bruno Andrade (GNU/Linux – Brasil), cuja capa indica 2016. O próprio documento autoriza download e compartilhamento gratuitos sem finalidade lucrativa. Ele permanece em português e não foi reescrito nesta revisão; a versão em inglês desta página não transforma o PDF em uma tradução.
Use a apostila como catálogo histórico, não como autorização para executar qualquer exemplo num sistema atual. Confira versões e manuais antes de comandos administrativos. A seleção revisada acima prioriza entender a tarefa e verificar resultados, em vez de copiar uma lista inteira.
Continue praticando
- LPIC-1: plano de estudo e laboratório
- Série Servidores Linux do acervo
- Guia do wget
- Assistentes de IA no terminal: use com revisão
Escolha uma tarefa, execute em ambiente de treino e anote como validou. Saber consultar a documentação e reconhecer um comando perigoso vale mais do que decorar uma lista de nomes.