Zip é o formato de arquivo mais usado que suporta compressão de dados sem perdas.
Um arquivo Zip é um recipiente de dados contendo um ou mais arquivos ou diretórios compactados. Arquivos compactados (zipados) ocupam menos espaço em disco que os arquivos não compactados podem ser transferidos de uma máquina para outra mais rapidamente. Arquivos Zip podem ser facilmente extraídos no Windows, macOS e Linux usando os utilitários disponíveis para todos os sistemas operacionais.
Neste tutorial, mostraremos como compactar (comprimir) arquivos e diretórios Zip no Linux usando o comando zip
zip Comando #
zip
é um utilitário de linha de comando que ajuda você a criar arquivos Zip.
O comando zip toma a seguinte sintaxe:
zip OPTIONS ARCHIVE_NAME FILES
Para criar um arquivo Zip em um diretório específico o usuário precisa ter permissões de escrita nesse diretório.
Arquivos Zip não suportam informações de propriedade no estilo Linux. Os arquivos extraídos são de propriedade do usuário que executa o comando.
Para preservar a propriedade do arquivo e as permissões use o comando.tar
>
O utilitário zip
não é instalado por padrão na maioria das distribuições Linux, mas você pode facilmente instalá-lo usando o gerenciador de pacotes da sua distribuição.
Instalar Zip no Ubuntu e Debian #
sudo apt install zip
Instalar Zip no CentOS e Fedora #
sudo yum install zip
Como Zipar Arquivos e Diretórios #
Para Zipar um ou mais arquivos, especifique os arquivos que você deseja adicionar ao arquivo separados por espaço, como mostrado abaixo:
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)adding: filename2 (stored 0%)adding: filename3 (deflated 38%)
Por defeito o comando zip
imprime os nomes dos ficheiros adicionados ao arquivo e o método de compressão. Explicaremos os métodos de compressão e o nível mais tarde neste guia.
Ao especificar o nome do arquivo Zip se você omitir a extensão .zip
ele será adicionado automaticamente a menos que o nome do arquivo contenha um ponto. zip archivename.zip filename
criará um arquivo com o mesmo nome que zip archivename filename
.
Para suprimir a saída do comando zip
, use a opção -q
:
zip -q archivename.zip filename1 filename2 filename3
A maior parte das vezes, você criará um arquivo Zip de um diretório incluindo o conteúdo dos subdiretórios. A opção -r
permite-lhe percorrer recursivamente toda a estrutura de directórios.
Para criar um arquivo Zip de um directório que usaria:
zip -r archivename.zip directory_name
Pode também adicionar múltiplos ficheiros e directórios no mesmo arquivo:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
Métodos e Níveis de Compressão #
O método de compressão padrão do Zip é deflacionar. Se o utilitário zip determinar que um arquivo não pode ser comprimido, ele simplesmente armazena o arquivo no arquivo sem comprimi-lo usando o método de armazenamento. Na maioria das distribuições Linux o utilitário zip também suporta o método de compressão bzip2.
Para especificar um método de compressão, use o comando -Z
option.
zip -r -Z bzip2 archivename.zip directory_name
...adding: sub_dir/ (stored 0%)adding: sub_dir/file1 (bzipped 52%)adding: sub_dir/file2 (bzipped 79%)
O comando zip
permite especificar um nível de compressão usando um número prefixado com um traço de 0 a 9. O nível de compressão padrão é -6
. Ao usar -0
, todos os arquivos serão armazenados sem compressão. -9
irá forçar o comando zip
a usar uma compressão ótima para todos os arquivos.
Por exemplo, para usar o nível de compressão -9
, você digitaria algo assim:
zip -9 -r archivename.zip directory_name
Quanto maior o nível de compressão, mais intensivo será o processo zip, e levará mais tempo para ser concluído.
Criando um arquivo ZIP protegido por senha #
Se você tiver informações confidenciais que precisam ser armazenadas no arquivo, você pode criptografá-las usando a opção -e
:
zip -e archivename.zip directory_name
Você será solicitado a digitar e verificar a senha do arquivo:
Enter password:Verify password:
Criar arquivo Zip dividido #
Imagine que você quer armazenar o arquivo Zip em um serviço de hospedagem de arquivos que tenha um limite de 1GB de tamanho de arquivo e seu arquivo Zip é de 5GB.
zip -s 1g -r archivename.zip directory_name
O comando acima irá continuar criando novos arquivos em um conjunto depois de atingir o limite de tamanho especificado.
archivename.ziparchivename.z01archivename.z02archivename.z03archivename.z04
Exemplos ZIP #
Criar um arquivo Zip chamado archivename.zip contendo todos os arquivos no diretório atual.
zip archivename *
O mesmo que acima incluindo os ficheiros ocultos (ficheiros que começam com um ponto):
zip archivename .* *
Criar um arquivo Zip com o nome archivename.zip
contendo todos os ficheiros MP3 no directório actual sem comprimir os ficheiros.
zip -0 archivename *.mp3
Conclusão #
No Linux você pode criar arquivos Zip com o comando zip
.
Para extrair um arquivo ZIP num sistema Linux, você pode usar o comando unzip .
Se você quiser saber mais sobre o Zip visite a página Zip Man.