Estrutura de diretórios no Linux
No Linux, tudo parte da raiz /. Conhecer a estrutura principal é essencial para não se perder no sistema de arquivos:
/home — diretórios pessoais dos usuários
/etc — arquivos de configuração do sistema
/var — dados variáveis (logs, caches, filas)
/tmp — arquivos temporários (limpos no reboot)
/usr — programas e bibliotecas instalados
/opt — software de terceiros instalado manualmente
Navegando entre diretórios
O comando cd (change directory) é o mais usado no terminal. Combine com pwd para sempre saber onde você está:
pwd # mostra diretório atual
cd /var/www/html # caminho absoluto
cd .. # sobe um nível
cd ~ # vai para o home do usuário
cd - # volta para o diretório anterior
Listando arquivos com ls
O ls lista o conteúdo de um diretório. Use ls -la para ver todos os arquivos (incluindo ocultos) com detalhes de permissão, dono e tamanho:
ls # listagem simples
ls -l # lista com detalhes
ls -la # inclui arquivos ocultos (. e ..)
ls -lh # tamanhos legíveis (KB, MB, GB)
ls -lt # ordenado por data de modificação
Criando arquivos e diretórios
touch arquivo.txt # cria arquivo vazio
touch arq1.txt arq2.txt # cria múltiplos arquivos
mkdir minha-pasta # cria diretório
mkdir -p projeto/src/components # cria árvore completa
Copiando e movendo
# Copiar arquivo
cp origem.txt destino.txt
# Copiar diretório recursivamente
cp -r pasta1/ pasta2/
# Mover / renomear arquivo
mv antigo.txt novo.txt
# Mover para outro diretório
mv arquivo.txt /tmp/
Removendo arquivos e pastas
rm arquivo.txt # remove arquivo
rm -i arquivo.txt # pede confirmação
rm -rf pasta/ # remove pasta recursivamente (sem confirmação!)
Atenção: rm -rf é irreversível. Não existe lixeira no terminal Linux. Sempre confira o caminho antes de executar — especialmente com sudo.
Buscando arquivos com find
# Buscar por nome
find / -name "*.log"
# Buscar por tamanho (arquivos maiores que 100MB)
find . -size +100M
# Buscar arquivos modificados nas últimas 24h
find /var/log -mtime -1
# Buscar e executar ação (ex: deletar todos os .tmp)
find /tmp -name "*.tmp" -delete
Referência completa
# Navegação
pwd
ls -la
cd /var/www/html
cd ~
# Criar
touch arquivo.txt
mkdir -p projeto/src/components
# Copiar e mover
cp -r pasta1/ pasta2/
mv antigo.txt novo.txt
# Remover
rm arquivo.txt
rm -rf pasta/ # ⚠️ irreversível
# Buscar
find / -name "*.log"
find . -size +100M
# Ver conteúdo de arquivo
cat arquivo.txt
less arquivo.txt # paginado (q para sair)
head -20 arquivo.txt
tail -f log.txt # acompanha em tempo real