Pular para o conteúdo principal

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

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 l no ls -l

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