Capítulo 3.4 - Gerenciamento de Arquivos
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Editar arquivos com vi/vim e nano
- Comparar arquivos
- Arquivar e comprimir
- Gerenciar links simbólicos e hard links
Edição de Arquivos
nano (Simples)
Editor simples e amigável:
# Abrir um arquivo
nano arquivo.txt
# Atalhos do nano:
# Ctrl+O : Salvar
# Ctrl+X : Sair
# Ctrl+W : Buscar
# Ctrl+K : Cortar linha
# Ctrl+U : Colar
Vantagens:
- Fácil de usar
- Atalhos exibidos na tela
- Ideal para iniciantes
vim (Avançado)
Editor poderoso e configurável:
# Abrir um arquivo
vim arquivo.txt
# Modos do vim:
# Normal (padrão): Navegação
# Insert (i): Edição
# Command (:): Comandos
# Comandos básicos:
# i : Modo inserção
# Esc : Voltar ao modo normal
# :w : Salvar
# :q : Sair
# :wq : Salvar e sair
# :q! : Sair sem salvar
# dd : Excluir linha
# yy : Copiar linha
# p : Colar
Vantagens:
- Muito poderoso
- Disponível em todo lugar
- Eficiente quando dominado
Comparação de Arquivos
diff
Comparar dois arquivos:
# Comparação simples
diff file1.txt file2.txt
# Unificado (mais legível)
diff -u file1.txt file2.txt
# Ignorar espaços
diff -w file1.txt file2.txt
# Recursivo em diretórios
diff -r dir1/ dir2/
cmp
Comparar byte a byte:
cmp file1.txt file2.txt
Arquivamento e Compressão
tar
Arquivar arquivos:
# Criar um arquivo de arquivamento
tar -cf arquivo.tar arquivos/
tar -czf arquivo.tar.gz arquivos/ # Com compressão gzip
tar -cjf arquivo.tar.bz2 arquivos/ # Com compressão bzip2
# Extrair
tar -xf arquivo.tar
tar -xzf arquivo.tar.gz
tar -xjf arquivo.tar.bz2
# Listar o conteúdo
tar -tf arquivo.tar
# Opções:
# -c : Criar
# -x : Extrair
# -f : Arquivo
# -z : gzip
# -j : bzip2
# -v : Verbose
zip/unzip
Formato ZIP:
# Criar
zip arquivo.zip arquivo1.txt arquivo2.txt
zip -r arquivo.zip diretorio/
# Extrair
unzip arquivo.zip
unzip arquivo.zip -d destino/
# Listar
unzip -l arquivo.zip
gzip/gunzip
Compressão simples:
# Comprimir
gzip arquivo.txt # Cria arquivo.txt.gz
# Descomprimir
gunzip arquivo.txt.gz
gzip -d arquivo.txt.gz
Links
Links Simbólicos
Apontadores para outros arquivos:
# Criar um link simbólico
ln -s alvo.txt link.txt
ln -s /caminho/absoluto/alvo link
# Ver para onde o link aponta
ls -l link.txt
readlink link.txt
# Remover
rm link.txt # Remove apenas o link
Características:
- Pode apontar para arquivos ou diretórios
- Pode apontar para arquivos inexistentes
- Pode atravessar sistemas de arquivos
- Identificado por
lnols -l
Hard Links
Referência direta ao mesmo inode:
# Criar um hard link
ln alvo.txt link.txt
# Verificar (mesmo inode)
ls -li alvo.txt link.txt
Características:
- Mesmo inode do original
- Não pode apontar para diretórios
- Não pode atravessar sistemas de arquivos
- Remover o original não remove o link
Operações Avançadas
split
Dividir um arquivo:
# Dividir em arquivos de 100 linhas
split -l 100 arquivo_grande.txt parte_
# Dividir por tamanho
split -b 10M arquivo_grande.txt parte_
join
Juntar arquivos:
join file1.txt file2.txt
sort
Ordenar arquivos:
# Ordenar
sort arquivo.txt
# Ordenar numericamente
sort -n numeros.txt
# Ordenar reverso
sort -r arquivo.txt
# Ordenar por coluna
sort -k 2 arquivo.txt
uniq
Remover duplicatas:
# Remover linhas duplicadas
uniq arquivo.txt
# Contar ocorrências
uniq -c arquivo.txt
# Exibir apenas únicas
uniq -u arquivo.txt
Resumo
Neste capítulo, você aprendeu:
Edição: nano (simples), vim (avançado)
Comparação: diff, cmp para comparar arquivos
Arquivamento: tar, zip para criar arquivos compactados
Compressão: gzip, bzip2 para comprimir
Links: Simbólicos (ln -s) e hard links (ln)
Operações: split, join, sort, uniq
Próximos Passos
Capítulo 3.5: Permissões de Arquivos
Lab 3.1: Navegação e Criação
Capítulo criado em: Dezembro 2024