Comandos Avançados do Shell Linux para Manipulação e Empacotamento de Arquivos

Comando paste

O comando paste é utilizado para combinar linhas de múltiplos arquivos, podendo especificar delimitadores personalizados.

$ cat fonte2.txt Dell Apple Microsoft

$ cat fonte3.txt 10 20 30

Combinação básica com tabulação padrão

$ paste fonte1.txt fonte2.txt Sistema Dell Operacional Apple Linux Microsoft

Combinação de múltiplos arquivos

$ paste fonte1.txt fonte2.txt fonte3.txt Sistema Dell 10 Operacional Apple 20 Linux Microsoft 30

Delimitador personalizado simples

$ paste -d':' fonte1.txt fonte2.txt Sistema:Dell Operacional:Apple Linux:Microsoft

Múltiplos delimitadores

$ paste -d',|' fonte1.txt fonte2.txt fonte3.txt Sistema,Dell|10 Operacional,Apple|20 Linux,Microsoft|30

Serialização de arquivos

$ paste -s fonte1.txt fonte2.txt Sistema Operacional Linux Dell Apple Microsoft

Serialização com delimitador

$ paste -s -d'+' fonte1.txt Sistema+Operacional+Linux

Conversão de colunas

$ paste - - - < fonte1.txt Sistema Operacional Linux


</div>Comando dd
----------

O comando `dd` permite copiar e converter dados brutos entre dispositivos ou arquivos, com controle sobre tamanhos de bloco.

<div>```
# Exemplo de backup de MBR
$ dd if=/dev/sda of=copia_mbr.img bs=512 count=1

# Criação de arquivo com tamanho específico
$ dd if=/dev/urandom of=/tmp/dados.bin bs=1M count=5

# Cópia de dispositivo para imagem ISO
$ dd if=/dev/cdrom of=midia.iso bs=4096

# Limpeza de partição (cuidado: operação destrutiva)
$ dd if=/dev/zero of=/dev/sdb1 bs=1024 count=1000

Para reduzir tamanho de arquivos, utilize gzip ou bzip2, cada um com características distintas.

Compressão com gzip

Compressão recursiva de diretório

$ gzip -r /caminho/diretorio/

Descompressão mantendo arquivo compactado

$ gzip -d -c arquivo.gz > arquivo_original.txt

Nível de compressão (1-9)

$ gzip -7 -k dados_grandes.csv


</div>### Compressão com bzip2

<div>```
# Compressão com preservação do original
$ bzip2 -k relatorio.pdf

# Descompressão forçada
$ bzip2 -df backup.bz2

# Verificação de integridade
$ bzip2 -t arquivo_importante.bz2

Utilize gunzip e bunzip2 como alternativsa diretas para descompressão.

Descompressão com bunzip2

$ bunzip2 -f imagens_comprimidas.bz2


</div>Empacotamento com tar
---------------------

O comando `tar` é essencial para criar, inspecionar e extrair pacotes de arquivos.

<div>```
# Criação de pacote simples
$ tar -cf pacote.dados diretorio_alvo/

# Empacotamento com compressão gzip
$ tar -czf backup_completo.tar.gz /home/usuario/documentos/

# Empacotamento com compressão bzip2
$ tar -cjf arquivo_grande.tar.bz2 projetos/

# Listagem de conteúdo
$ tar -tf pacote.dados

# Extração seletiva de arquivos
$ tar -xf pacote.dados diretorio_alvo/arquivo_especifico.txt

# Adição de arquivos a pacote existente
$ tar -rf pacote.dados novos_dados.txt

# Extração com compressão gzip
$ tar -xzf backup_completo.tar.gz -C /destino/

# Verificação de consistência
$ tar -df pacote.dados

Tags: linux-shell processamento-arquivos compressão arquivamento tar

Publicado em 6-28 16:34