===== 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.