===== Exemplos de Empacotadores e Compactadores no Linux =====
==== Nível Básico ====
* **Criar um arquivo tar simples (sem compressão):**
- tar -cvf arquivo.tar /diretorio
- Cria um arquivo `arquivo.tar` contendo os arquivos e subdiretórios de `/diretorio`, sem compressão.
* **Compactar arquivos com `gzip`:**
- gzip arquivo.txt
- Compacta o arquivo `arquivo.txt`, criando `arquivo.txt.gz`.
* **Descompactar um arquivo `.gz` com `gunzip`:**
- gunzip arquivo.txt.gz
- Descompacta o arquivo `arquivo.txt.gz`, restaurando-o para `arquivo.txt`.
* **Compactar arquivos com `bzip2`:**
- bzip2 arquivo.txt
- Compacta o arquivo `arquivo.txt`, criando `arquivo.txt.bz2` usando o algoritmo `bzip2`.
* **Descompactar um arquivo `.bz2`:**
- bunzip2 arquivo.txt.bz2
- Descompacta o arquivo `arquivo.txt.bz2`, restaurando-o para `arquivo.txt`.
==== Nível Intermediário ====
* **Criar um arquivo tar compactado com gzip:**
- tar -czvf arquivo.tar.gz /diretorio
- Empacota e compacta o conteúdo de `/diretorio` em `arquivo.tar.gz` usando o `gzip`.
* **Extrair um arquivo tar compactado com gzip:**
- tar -xzvf arquivo.tar.gz
- Extrai o conteúdo de `arquivo.tar.gz` no diretório atual.
* **Compactar múltiplos arquivos com `xz`:**
- xz arquivo1.txt arquivo2.txt
- Compacta ambos os arquivos, criando `arquivo1.txt.xz` e `arquivo2.txt.xz` com o algoritmo `xz`.
* **Descompactar um arquivo `.xz`:**
- unxz arquivo.txt.xz
- Descompacta o arquivo `arquivo.txt.xz`, restaurando-o para `arquivo.txt`.
* **Criar um arquivo tar compactado com bzip2:**
- tar -cjvf arquivo.tar.bz2 /diretorio
- Empacota e compacta o conteúdo de `/diretorio` em `arquivo.tar.bz2` usando `bzip2`.
* **Descompactar e extrair um arquivo `.tar.bz2`:**
- tar -xjvf arquivo.tar.bz2
- Extrai o conteúdo de `arquivo.tar.bz2` no diretório atual.
==== Nível Avançado ====
* **Compactar diretórios inteiros com `zip`:**
- zip -r arquivo.zip /diretorio
- Compacta o diretório `/diretorio` recursivamente em um arquivo `arquivo.zip`.
* **Extrair um arquivo `.zip`:**
- unzip arquivo.zip
- Extrai o conteúdo de `arquivo.zip` no diretório atual.
* **Compactar um arquivo grande com `xz`, maximizando a compressão:**
- xz -9 arquivo_grande.txt
- Compacta o arquivo `arquivo_grande.txt` com o nível de compressão máximo (`-9`), criando `arquivo_grande.txt.xz`.
* **Dividir um arquivo tar em múltiplas partes menores de 100MB:**
- tar -cvf - /diretorio | split -b 100M - arquivo_partes.tar
- Empacota o diretório e divide o arquivo tar em partes de 100 MB.
* **Criar um arquivo tar compactado com `xz`:**
- tar -cJvf arquivo.tar.xz /diretorio
- Empacota e compacta o conteúdo de `/diretorio` em `arquivo.tar.xz` usando o algoritmo `xz`.
* **Extrair um arquivo tar compactado com `xz`:**
- tar -xJvf arquivo.tar.xz
- Extrai o conteúdo de `arquivo.tar.xz` no diretório atual.
==== Nível Especializado ====
* **Compactar e criptografar um arquivo usando `gpg`:**
- gpg -c arquivo.txt
- Compacta e criptografa `arquivo.txt`, criando `arquivo.txt.gpg` (usando criptografia simétrica).
* **Descompactar e descriptografar um arquivo `.gpg`:**
- gpg arquivo.txt.gpg
- Descompacta e descriptografa o arquivo criptografado, restaurando-o para `arquivo.txt`.
* **Compactar e enviar um arquivo via SSH para outro servidor:**
- tar -czvf - /diretorio | ssh usuario@servidor 'cat > arquivo.tar.gz'
- Compacta `/diretorio` localmente e envia o arquivo `arquivo.tar.gz` via SSH para outro servidor.
* **Criar um arquivo tar incremental (backup incremental):**
- tar -cvf backup_inicial.tar --listed-incremental=backup.snar /diretorio
- Cria um arquivo tar incremental, armazenando o estado dos arquivos no arquivo `backup.snar` para futuras execuções incrementais.
* **Fazer backup incremental de um diretório com `rsync` e compressão:**
- rsync -avz /diretorio usuario@servidor:/caminho/para/backup/
- Usa `rsync` para fazer backup incremental de `/diretorio` para um servidor remoto, com compressão durante a transferência.
* **Compactar múltiplos arquivos em paralelo com `pigz` (paralelização do gzip):**
- pigz arquivo1.txt arquivo2.txt
- Compacta os arquivos usando o `pigz`, uma versão paralelizada do `gzip`, para aumentar a velocidade de compressão.
* **Restaurar um arquivo tar incremental:**
- tar -xvf backup_inicial.tar --listed-incremental=backup.snar
- Extrai o conteúdo de um arquivo tar incremental usando o arquivo `backup.snar` para restaurar o estado correto dos arquivos.