Capítulo 3.3 - Navegação e Comandos Básicos
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Navegar de forma eficiente pelo sistema de arquivos
- Utilizar comandos básicos para arquivos
- Entender wildcards e padrões
- Manipular arquivos e diretórios
Navegação
Comandos de Navegação
# Onde estou?
pwd
# Mudar de diretório
cd /home/user1
cd ~ # Diretório home
cd # Diretório home (atalho)
cd .. # Diretório pai
cd - # Diretório anterior
cd ../.. # Dois níveis acima
# Listar
ls # Lista simples
ls -l # Detalhes (formato longo)
ls -la # Tudo (incluindo .arquivos)
ls -lh # Tamanhos legíveis (human)
ls -lt # Ordenado por data
ls -ltr # Ordenado por data (inverso)
ls -R # Recursivo
Opções Úteis do ls
# Por tamanho
ls -lhS
# Por extensão
ls -lX
# Cores
ls --color=auto
# Ignorar certos padrões
ls --ignore='*.txt'
Manipulação de Arquivos
Criar Arquivos
# Criar um arquivo vazio
touch arquivo.txt
# Criar vários arquivos
touch file1.txt file2.txt file3.txt
# Criar com timestamp específico
touch -t 202401011200 arquivo.txt
Exibir Conteúdo
# Exibir tudo
cat arquivo.txt
# Exibir com números de linha
cat -n arquivo.txt
# Exibir página por página
less arquivo.txt
more arquivo.txt
# Primeiras linhas
head arquivo.txt
head -n 20 arquivo.txt
# Últimas linhas
tail arquivo.txt
tail -n 20 arquivo.txt
tail -f arquivo.txt # Seguir em tempo real
Copiar e Mover
# Copiar
cp source.txt destination.txt
cp file1.txt file2.txt /home/user1/
cp -r diretorio/ destino/ # Recursivo
# Mover/Renomear
mv antigo.txt novo.txt
mv arquivo.txt /home/user1/
mv *.txt /home/user1/ # Todos os .txt
Remover
# Remover um arquivo
rm arquivo.txt
# Remover recursivamente
rm -r diretorio/
rm -rf diretorio/ # Forçado (cuidado!)
# Remover com confirmação
rm -i arquivo.txt
# Remover vários
rm file1.txt file2.txt file3.txt
rm *.txt # Todos os .txt
Diretórios
Criar Diretórios
# Criar um diretório
mkdir meu_dir
# Criar vários
mkdir dir1 dir2 dir3
# Criar com pais
mkdir -p caminho/completo/para/dir
# Com permissões
mkdir -m 755 meu_dir
Remover Diretórios
# Diretório vazio
rmdir dir_vazio
# Diretório com conteúdo
rm -r dir
rm -rf dir # Forçado (cuidado!)
Wildcards e Padrões
Caracteres Especiais
# * : Qualquer sequência de caracteres
ls *.txt # Todos os .txt
ls file* # Começa com "file"
ls *log* # Contém "log"
# ? : Um único caractere
ls file?.txt # file1.txt, file2.txt, etc.
ls ???.txt # Exatamente 3 caracteres
# [] : Caracteres específicos
ls file[123].txt # file1.txt, file2.txt, file3.txt
ls file[0-9].txt # file0.txt a file9.txt
ls file[a-z].txt # filea.txt a filez.txt
# {} : Expansão
mkdir {dir1,dir2,dir3}
cp file.{txt,bak}
Exemplos Práticos
# Todos os arquivos .log
ls *.log
# Arquivos começando com "test"
ls test*
# Arquivos com 3 caracteres
ls ???
# Arquivos de backup
ls *.bak *.old *.tmp
Busca de Arquivos
find
# Por nome
find /home -name "arquivo.txt"
find /home -iname "arquivo.txt" # Case-insensitive
# Por tipo
find /home -type f # Arquivos
find /home -type d # Diretórios
# Por tamanho
find /home -size +100M # Mais de 100MB
find /home -size -1k # Menos de 1KB
# Por data
find /home -mtime -7 # Modificado na última semana
find /home -mtime +30 # Modificado há mais de 30 dias
# Executar um comando
find /home -name "*.txt" -exec rm {} \;
find /home -name "*.log" -delete
locate
# Mais rápido que find
locate arquivo.txt
# Atualizar a base
sudo updatedb
# Ignorar maiúsculas/minúsculas
locate -i arquivo
Resumo
Neste capítulo, você aprendeu:
Navegação: pwd, cd, ls com opções
Arquivos: touch, cat, less, head, tail
Manipulação: cp, mv, rm com opções
Diretórios: mkdir, rmdir, rm -r
Wildcards: *, ?, [], para padrões
Busca: find, locate para localizar arquivos
Próximos Passos
Capítulo 3.4: Gerenciamento de Arquivos
Capítulo 3.5: Permissões de Arquivos
Capítulo criado em: Dezembro 2024