Linux - Zip e Unzip
O comando zip
é utilizado para comprimir e arquivar arquivos, enquanto unzip
serve para extrair e descompactar arquivos de arquivos ZIP.
No formato geral, o comando zip
tem a seguinte sintaxe:
zip [OPÇÕES] ARQUIVO ARQUIVOS
O parâmetro ARQUIVO
especifica o nome do arquivo ZIP a ser criado, e ARQUIVOS
define os arquivos ou diretórios a serem arquivados. Por exemplo:
programicio@Programicio:~$ zip myfiles.zip book.pdf image.png adding: book.pdf (deflated 10%) adding: image.png (deflated 8%)
Neste exemplo, os arquivos book.pdf
e image.png
do diretório home
são adicionados ao arquivo myfiles.zip
.
Também é possível definir parâmetros adicionais de compressão. Alguns dos principais são:
-r
: arquiva recursivamente o conteúdo das pastas.-d
: remove registros do arquivo.-u
: atualiza arquivos no arquivo ZIP se forem modificados, ou adiciona novos arquivos se não existirem no arquivo.-1
: compressão rápida, mas com menor qualidade.-9
: compressão mais lenta, mas com melhor qualidade.
Por exemplo, para arquivar a pasta test
no arquivo test.zip
:
zip -r test.zip test
O comando unzip
, por outro lado, permite descompactar arquivos e, em geral, possui a seguinte sintaxe:
unzip [OPÇÕES] ARQUIVO
O parâmetro ARQUIVO
especifica o arquivo ZIP a ser descompactado. Também é possível definir parâmetros adicionais. Alguns dos principais são:
-l
: exibe a lista de componentes do arquivo.-f
: ao descompactar, sempre sobrescreve os arquivos já existentes com o mesmo nome.-n
: ao descompactar, nunca sobrescreve arquivos já existentes com o mesmo nome.-d
: define o diretório de destino para a descompactação.
Por exemplo, para exibir a lista de elementos de um arquivo:
programicio@Programicio:~$ unzip -l myfiles.zip Archive: myfiles.zip Length Date Time Name --------- ---------- ----- ---- 11773659 2023-12-01 01:16 book.pdf 177489 2024-02-26 09:49 image.png --------- ------- 11951148 2 files
Para descompactar o arquivo no diretório atual:
programicio@Programicio:~$ unzip myfiles.zip Archive: myfiles.zip inflating: book.pdf replace image.png? [y]es, [n]o, [A]ll, [N]one, [r]ename: y inflating: image.png
Neste exemplo, o arquivo myfiles.zip
está sendo descompactado. Se houver arquivos ou diretórios com o mesmo nome no diretório atual, o comando pedirá uma confirmação para sobrescrever, não sobrescrever ou renomear. Para definir uma ação padrão, use a opção -f
(sobrescrever) ou -n
(não sobrescrever).
A opção -d
permite especificar o diretório para a descompactação. Se o diretório não existir, ele será criado automaticamente:
programicio@Programicio:~$ unzip -d myfiles myfiles.zip Archive: myfiles.zip inflating: myfiles/book.pdf inflating: myfiles/image.png
Neste caso, a descompactação é feita na pasta myfiles.