Neste tutorial, vamos aprender como instalar e usar o 7zip no Ubuntu 18.04/Ubuntu 20.04. O 7zip é um arquivador de ficheiros gratuito e de código aberto com uma elevada taxa de compressão. O programa suporta os formatos 7z, LZMA2, XZ, ZIP, Zip64, CAB, RAR, ARJ, GZIP, BZIP2, TAR, CPIO, RPM, ISO, a maioria das imagens do sistema de ficheiros e DEB. O rácio de compressão no novo formato 7z é 30-50% melhor que o rácio no formato ZIP.
O utilitário 7zip é universal e por isso o uso do exemplo mostrado neste tutorial pode ser usado em qualquer distribuição Linux.
Instalar e Utilizar 7zip no Ubuntu 18.04/Ubuntu 20.04
Instalar pacote p7zip
Se o utilitário 7zip ainda não estiver instalado no seu sistema, execute o comando abaixo para o instalar.
apt install p7zip p7zip-rar p7zip-full -y
Se estiver a correr outra distribuição Linux como CentOS, Fedora ou outra distros baseada em RHEL, corra o comando abaixo para instalar o 7zip;
NB: Active o repositório EPEL nas distribuições CentOS/RHEL antes de poder correr este comando.
yum install p7zip p7zip-plugins -y
O utilitário 7zip fornece três utilitários de linha de comando, nomeadamente, 7z, 7za e 7zr. A diferença entre os três utilitários tal como delineados nas suas páginas de homem é que;
- 7z usa plugins para tratar de arquivos.
- 7za é um executável autónomo. 7za lida com menos formatos de arquivo que 7z.
- 7zr é um executável autónomo. A 7zr lida com menos formatos de arquivo do que a 7z. 7zr é uma “versão leve” do 7za que lida apenas com arquivos 7z.
Se gostaria de usar o 7zip com distribuições raras no Ubuntu e similares, precisa de instalar o pacote p7zip-rar.
apt install p7zip-rar -y
Neste tutorial, discutiremos a utilização de um utilitário, 7z, uma vez que a funcionalidade e utilização é a mesma para todos os três utilitários.
Após a instalação estar completa, pode verificar executando o seguinte comando;
whereis 7z 7za 7zr
7z: /usr/bin/7z /usr/share/man/man1/7z.1.gz7za: /usr/bin/7za /usr/share/man/man1/7za.1.gz7zr: /usr/bin/7zr /usr/share/man/man1/7zr.1.gz
Sintaxe da Linha de Comando
Agora essa parte da instalação está feita, vamos dar uma vista de olhos à sintaxe da linha de comando.
A sintaxe da linha de comando 7z é:
7z <command> <base_archive_name>
<argumentos> pode ser especificada como switch><wildcard><filename><list_file>br><switch> pode ser especificado no formato; switch_symbol><switch_characters>br><switch_symbol> pode ser ‘/’ | ‘-
<list_file> é especificado no formato; @{filename}
NOTE: As expressões dentro dos parênteses rectos são opcionais, enquanto que as expressões dentro dos parênteses rectos têm de ser substituídas pelo utilizador.
O seguinte é uma breve descrição dos vários comandos e interruptores utilizados com o comando 7z;
<Commands>a: Add files to archiveb: Benchmarkd: Delete files from archivee: Extract files from archive (without using directory names)l: List contents of archivet: Test integrity of archiveu: Update files to archivex: eXtract files with full paths
<Switches>-ai]{@listfile|!wildcard}: Include archives-ax]{@listfile|!wildcard}: eXclude archives-bd: Disable percentage indicator-i]{@listfile|!wildcard}: Include filenames-m{Parameters}: set compression Method-o{Directory}: set Output directory-p{Password}: set Password-r: Recurse subdirectories-scs{UTF-8 | WIN | DOS}: set charset for list files-sfx: Create SFX archive-si: read data from stdin-slt: show technical information for l (List) command-so: write data to stdout-ssc: set sensitive case mode-t{Type}: Set type of archive-u: Update options-v{Size}: Create volumes-w: assign Work directory. Empty path means a temporary directory-x]]{@listfile|!wildcard}: eXclude filenames-y: assume Yes on all queries-an: Disable parsing of archive_name
Para uma lista completa de interruptores, verifique as páginas man dos 7z, 7zr, 7za ou visite os interruptores de linha de comando.
Exemplo de utilização do comando
Agora que aprendemos sobre algumas opções de comando e os comutadores de linha de comando, vejamos alguma utilização prática do comando 7z. Neste exemplo, vamos utilizar os seguintes ficheiros e directórios;
lstest-dir tfile4.txt tfile5.txt tfile6.txt
ls test-dir/tfile1.txt tfile2.txt tfile3.txt
Criar um Arquivo
Para criar um arquivo, executar o comando 7z no formato;
7z a test-archive1.7z tfile4.txt tfile5.txt
7z a archive.xz test-dir/
Nota que, os tipos de arquivo suportados para criação são 7z, XZ, GZIP, TAR, ZIP e BZIP2. Se o ficheiro de arquivo especificado já existir, ele “adicionará” os ficheiros ao arquivo existente, em vez de o sobrescrever.
Conteúdo extraído de um arquivo
Para desembalar um arquivo para o directório actual;
7z e test-archive1.7z -y
Os tipos de arquivo suportados incluem 7z, XZ, GZIP, TAR, ZIP, BZIP2, LZMA2, CAB, ARJ, CPIO, RPM, ISO e DEB.
Extrair o conteúdo com caminhos completos
7z x test-archive1.7z -y
Lista o conteúdo de um arquivo
7z l test-archive1.7z
Testar a integridade do arquivo
7z t test-archive1.7z
Atualizar um arquivo adicionando mais ficheiros
7z u test-archive1.7z tfile6.txt
Remover alguns ficheiros de um arquivo
7z d test-archive1.7z tfile4.txt
Exemplo 7z Switches Usage
Os exemplos abaixo são extraídos das páginas man do comando 7z.
Adicionar todos os ficheiros do directório “dir1” ao arquivo.7z
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1
Adicionar todos os ficheiros do directório “dir1” ao arquivo SFX.exe
Nota que o arquivo SFX DEVE terminar com “.exe”
7z a -sfx archive.exe dir1
Adicionar todos os ficheiros do directório “a_directory” ao arquivo “archive.7z” (com encriptação de dados e cabeçalho de arquivo em)
7z a -mhe=on -pmy_password archive.7z a_directory
Para uma descrição completa dos comutadores 7z e uso de exemplo, navegar para os comutadores de linha de comando 7z.
Backup e limitações do comando 7z
NÃO UTILIZAR o formato 7-zip para fins de backup em Linux/Unix, porque :
- li>7-zip não armazena o proprietário/grupo do ficheiro.
No Linux/Unix, para fazer cópias de segurança dos directórios deve usar tar :
- para fazer cópias de segurança de um directório :
tar cf - directory | 7za a -si directory.tar.7z
- para restaurar as suas cópias de segurança :
7za x -so directory.tar.7z | tar xf -
Se quiser enviar ficheiros e directórios (não o dono do ficheiro) para outros utilizadores Unix/MacOS/Windows, pode utilizar o formato 7-zip. Por exemplo:
7za a directory.7z directory
- não usar “-r” porque esta bandeira não faz o que se espera que faça.
- não usar directório/* por causa de “.*” (exemplo : “directório/*” não corresponde a “directório/.profile”).
É tudo sobre como instalar e usar 7zip no Ubuntu 18.04/Ubuntu 20..04. Verifique as páginas man para mais detalhes.
Outros Tutoriais
Instalar o Foxit PDF Reader no Ubuntu 20.04
Instalar e Configurar ZSH e Oh-My-Zsh no Ubuntu 20.04
Executar apenas Comandos Específicos com sudo no Linux