.
Aprenda alguma maneira comum de criar e extrair um arquivo zip no Linux
Com certeza você já usou o 7zip ou o Winrar para criar um arquivo zip no Windows, mas aqui no Linux você pode usar o zip comando para criar um arquivo compactado de arquivos e diretórios.
Embora alcatrão (arquivo de fita) é muito mais comum de se ver no Linux, o zip ainda é uma ferramenta útil para compactar arquivos e compartilhá-los com outras pessoas que podem não estar familiarizadas com tar ou enviar arquivos para usuários do Windows.
Além disso, os arquivos zip podem ser compactados com criptografia, para que você possa garantir que o conteúdo do arquivo permaneça seguro e protegido contra acesso não autorizado.
Mais importante ainda, os arquivos zip podem ser facilmente compartilhados e transferidos como coleções de arquivos de uma só vez, sem a necessidade de enviar cada arquivo individualmente, economizando tempo e esforço no processo.
Então, vamos ver como você pode usar o comando zip para criar um arquivo zip, adicionar um novo arquivo a um arquivo zip existente, listar o conteúdo do arquivo zip sem extraí-lo, excluir o conteúdo do zip e criptografar o zip com uma senha para maior segurança.
Sintaxe e opções do comando zip
Na maioria das distribuições Linux, você encontrará a presença do comando zip, então não precisa se preocupar com isso. Você pode simplesmente seguir a sintaxe básica do comando zip:
$ zip <options> <name-of-zip-file> <list-of-file-to-archive>
Aqui estão algumas opções que você pode usar com o comando zip
-dou--delete: É usado para excluir arquivos dos arquivos zip-eou--encrypt: Para ativar a senha para o arquivo zip-fou--: Sem extrair o arquivo, você pode atualizar e adicionar um novo arquivo ao arquivo zipfreshen-eou--exclude: Quando você não deseja incluir arquivos ou diretórios específicos para adicionar a compactação-sfou--show-files: Listar um conteúdo do arquivo zip
Agora deixe-me entrar em mais detalhes sobre o uso do comando zip e as opções disponíveis.
Uso do comando zip
Para começar o uso, é melhor criar um novo diretório e adicionar alguns exemplos que serão usados para executar a tarefa, como criar arquivos zip, listar arquivos zip, remover conteúdo deles e assim por diante.
Agora vamos criar um diretório chamado “test-arena” onde adicionarei cinco arquivos diferentes usando o método de expansão de chaves.
$ mkdir test-arena && cd test-arena
$ touch sample{1..5}.txt
Depois de terminar com o acima, vamos começar a usar o zip comando mostrando como criar um arquivo zip no Linux.
Criar arquivo zip no Linux
Quando você deseja criar um arquivo zip no Linux, pode usar a seguinte sintaxe de comando, na qual precisa primeiro especificar o nome do arquivo zip e, em seguida, especificar a origem do arquivo que deseja compactar.
$ zip name-of-the-zip-file.zip /list-of-files-to-zip/
Por exemplo, se eu quiser fazer um arquivo de todos os *.TXT arquivos disponíveis no diretório test-arena, usarei a seguinte instrução para criar o arquivo:
$ zip sample.zip *.txt
Depois de invocar o comando acima, ele imprimirá o nome do arquivo que foi adicionado ao arquivo zip junto com a porcentagem de deflação (reduza o tamanho usando o algoritmo de compactação deflate).
Não é tão simples criar um arquivo zip?
Adicionar diretório ou conteúdo de pasta a fecho eclair
O problema com o comando acima é que ele não inclui o arquivo de um diretório ao compactar o arquivo e, por causa disso, você acabará com diretórios vazios, o que não acho que você goste de fazer.
Para evitar isso, você pode usar o -r ou -R opção para copiar recursivamente o conteúdo de um diretório e subdiretórios.
Para esse propósito, incluí alguns diretórios e subdiretórios no test-arena para mostrar o resultado quando você chama o comando abaixo:
$ zip -r sample.zip *
O comando acima adicionará até mesmo um arquivo vazio. Se você não quiser que isso o inclua, use -R
$ zip -R sample.zip *
Se você deseja apenas compactar um diretório específico, basta especificar o nome do diretório.
$ zip -r sample.zip dir-1/ dir-2/
Escolha o método de compactação
Ao criar um arquivo zip, você viu que o comando zip usa o algoritmo deflate para compactar o arquivo sem perder muitas informações, mas se você quiser uma opção mais robusta para compactar o arquivo, pode usar outros algoritmos de compactação como o bzip2.
Para usar algoritmos de compactação bzip2, use -Z e especifique o nome do algoritmo como mostrado abaixo:
$ zip -Z bzip2 sample.zip *
Resultado do comando acima:

Excluir arquivos
Outra opção interessante é --excluir, que permite excluir um diretório ou arquivo do padrão que você não deve incluir ao criar um zip.
Como eu tenho ~/test-areana/dir-1 que inclui alguns arquivos, junto com o outro diretório onde mais arquivos estão presentes, mas eu só quero que ele ignore o ~/test-areana/dir-1/.
$ zip -r my.zip * --exclude "dir-1*"
A saída do comando acima:

Listar arquivo zip no Linux
Agora, a próxima pergunta que surge em minha mente: existe alguma possibilidade de listar o conteúdo de um arquivo zip sem extrair o arquivo zip? Claro, você pode fazer isso usando o -sf ou --mostrar arquivos opções, como mostrado abaixo.
$ zip -sf sample.zip
Resultado do comando acima:

Atualizar arquivo zip no Linux
O comando zip não restringe você de adicionar novos arquivos ou diretórios ao arquivo zip já existente, então você pode facilmente atualizar e adicionar novo conteúdo ao arquivo zip sem ter que criar um novo a partir do zero.
Aqui você pode modificar o arquivo zip de duas maneiras: uma atualizará o conteúdo do arquivo zip com os novos dados e a outra também atualizará o conteúdo anterior do arquivo zip e também adicionará um novo arquivo.
Para atualizar e adicionar novos arquivos, você pode usar o -você ou --atualizar opções, conforme abaixo:
$ zip -u sample.zip newfile
$ zip -u sample.zip *
Resultado do comando acima:

Se você deseja apenas atualizar o conteúdo do arquivo zip com novos dados, use o -f ou -refrescar opção, conforme imagem abaixo:
$ zip -f sample.zip
Excluir arquivos do Zip
Depois de atualizar o novo arquivo para um arquivo zip, você deve remover o arquivo do diretório, mas ao executar zip -sf sample.zipmostra que o arquivo está presente.
Acho que se o arquivo não for mais necessário, você deve removê-lo do zip para evitar mais confusão.
Não se preocupe, você pode simplesmente remover ou excluir componentes individuais do arquivo zip usando o -d ou --excluir opções, conforme abaixo:
$ zip -d sample.zip sample5.txt
Se o arquivo existir no subdiretório, você deve especificar o caminho onde o arquivo está localizado no arquivo zip. Por exemplo aqui “amostra5.txt” Existir em “sample.zip/dir1/foo.txt” então você só precisa usar dir1/foo.txt depois de especificar o nome do zip.
$ zip -d sample.zip new-dir/sample5.txt
Resultado do comando acima:

Criptografar arquivo zip no Linux
O comando zip também permite criptografar um arquivo zip com uma senha para que o arquivo possa ser acessado apenas por usuários autorizados.
Para criptografar um arquivo zip, você pode usar o -e ou --encrypt opção para definir a senha necessária durante a extração do arquivo zip.
$ zip -e sample.zip sample1.txt sample2.txt sample3.txt
Durante o teste, descobri que não estava anexando uma senha a um arquivo zip já criado; portanto, você precisa começar do zero para criar um arquivo zip com a senha ativada.
$ zip -e sample.zip *
Acho que devo terminar aqui e mostrar como descompactar.
Descompacte o arquivo no Linux
Acima, você aprendeu como criar um arquivo zip com diferentes opções, mas ainda não mostrei como descompactar um arquivo no Linux, então deixe-me mostrar como usar o comando unzip no Linux com exemplos.
Primeiro, vamos pegar o exemplo de extração de um arquivo zip no diretório atual.
A partir das etapas acima, já criamos alguns amostra.zip arquivo, vamos extraí-lo executando o seguinte comando:
$ unzip sample.zip
Resultado do comando acima:

Se você deseja extrair um arquivo para um diretório específico, use o -d opção para especificar o caminho do diretório onde você deseja extrair o arquivo.
$ unzip sample.zip -d ~/new-dir
Se você criptografou o arquivo zip com uma senha, ele solicitará que você digite a senha, então digite a senha para extrair o arquivo.
Embrulhar
Isso é tudo neste artigo, onde você aprenderá como usar o zip e unzip comandos no Linux para criar e extrair arquivos zip através da linha de comando.
Espero que agora você consiga compactar arquivos facilmente com o comando zip.
Se você encontrar algo que precise de algum esclarecimento, informe-me na seção de comentários.

Um homem com uma tecnologia efusiva que explorou algumas das incríveis coisas da tecnologia e está explorando mais. Enquanto avançava, tive a chance de trabalhar no desenvolvimento Android, Linux, AWS e DevOps com várias ferramentas de código aberto.
.








