In questo tutorial, impareremo come installare e usare 7zip su Ubuntu 18.04/Ubuntu 20.04. 7zip è un archiviatore di file gratuito e open-source con un alto rapporto di compressione. Il programma supporta 7z, LZMA2, XZ, ZIP, Zip64, CAB, RAR, ARJ, GZIP, BZIP2, TAR, CPIO, RPM, ISO, la maggior parte delle immagini del filesystem e i formati DEB. Il rapporto di compressione nel nuovo formato 7z è del 30-50% migliore del rapporto nel formato ZIP.
L’utilità 7zip è universale e quindi l’esempio di utilizzo mostrato in questo tutorial può essere usato in qualsiasi distribuzione Linux.
Installare e usare 7zip su Ubuntu 18.04/Ubuntu 20.04
Installare il pacchetto p7zip
Se l’utilità 7zip non è già installata nel tuo sistema, esegui il comando sottostante per installarla.
apt install p7zip p7zip-rar p7zip-full -y
Se stai usando un’altra distribuzione Linux come CentOS, Fedora o altre distro basate su RHEL, esegui il comando sottostante per installare 7zip;
NB: Abilita il repository EPEL sulle distribuzioni CentOS/RHEL prima di poter eseguire questo comando.
yum install p7zip p7zip-plugins -y
L’utilità 7zip fornisce tre utilità a riga di comando, ovvero 7z, 7za e 7zr. La differenza tra le tre utilità, come descritto nelle loro pagine man, è che;
- 7z usa dei plugin per gestire gli archivi.
- 7za è un eseguibile stand-alone. 7za gestisce meno formati di archivio di 7z.
- 7zr è un eseguibile autonomo. 7zr gestisce meno formati di archivio di 7z. 7zr è una “versione leggera” di 7za che gestisce solo gli archivi 7z.
Se vuoi usare 7zip con rar su Ubuntu e distribuzioni simili, devi installare il pacchetto p7zip-rar.
apt install p7zip-rar -y
In questo tutorial, discuteremo l’uso di un’utilità, 7z, poiché la funzionalità e l’uso sono gli stessi per tutte e tre le utilità.
Una volta completata l’installazione, è possibile verificare eseguendo il seguente 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
Sintassi della linea di comando
Ora che la parte dell’installazione è fatta, diamo uno sguardo alla sintassi della linea di comando.
La sintassi della linea di comando 7z è:
7z <command> <base_archive_name>
< gli argomenti> possono essere specificati come <switch><wildcard>< nome del file>< elenco_file>
<switch> può essere specificato nel formato; <switch_symbol><switch_characters>
<switch_symbol> può essere ‘/’ | ‘-‘
<list_file> è specificato nel formato; @{nomefile}
NOTA: Le espressioni all’interno delle parentesi quadre sono opzionali, mentre quelle all’interno delle parentesi graffe devono essere sostituite dall’utente.
Quella che segue è una breve descrizione dei vari comandi e interruttori usati con il 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
Per una lista completa di interruttori, controllate le pagine man di 7z, 7zr, 7za o visitate gli interruttori della linea di comando.
Esempio di utilizzo del comando
Ora che abbiamo imparato a conoscere alcune opzioni di comando e gli interruttori della linea di comando, vediamo alcuni usi pratici del comando 7z. In questo esempio, useremo i seguenti file e directory;
lstest-dir tfile4.txt tfile5.txt tfile6.txt
ls test-dir/tfile1.txt tfile2.txt tfile3.txt
Creare un archivio
Per creare un archivio, eseguire il comando 7z nel formato;
7z a test-archive1.7z tfile4.txt tfile5.txt
7z a archive.xz test-dir/
Nota che, i tipi di archivio supportati per la creazione sono 7z, XZ, GZIP, TAR, ZIP e BZIP2. Se il file di archivio specificato esiste già, “aggiungerà” i file all’archivio esistente, invece di sovrascriverlo.
Estrarre il contenuto di un archivio
Per scompattare un archivio nella directory corrente;
7z e test-archive1.7z -y
I tipi di archivio supportati includono 7z, XZ, GZIP, TAR, ZIP, BZIP2, LZMA2, CAB, ARJ, CPIO, RPM, ISO e DEB.
Estrai il contenuto con i percorsi completi
7z x test-archive1.7z -y
Elenco il contenuto di un archivio
7z l test-archive1.7z
Testa l’integrità dell’archivio
7z t test-archive1.7z
Aggiorna un archivio aggiungendo altri file
7z u test-archive1.7z tfile6.txt
Rimuovi alcuni file da un archivio
7z d test-archive1.7z tfile4.txt
Esempio di utilizzo dei comandi 7z
Gli esempi seguenti sono estratti dalle pagine man del comando 7z.
Aggiungi tutti i file dalla directory “dir1” all’archivio archive.7z
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1
Aggiungi tutti i file dalla directory “dir1” all’archivio SFX archive.exe
Nota che l’archivio SFX DEVE finire con “.exe”
7z a -sfx archive.exe dir1
Aggiungi tutti i file dalla directory “a_directory” all’archivio “archive.7z” (con la crittografia dell’archivio dati e dell’intestazione attivata)
7z a -mhe=on -pmy_password archive.7z a_directory
Per una descrizione completa degli interruttori 7z e un esempio di utilizzo, navigate su 7z command line switches.
Backup e limitazioni del comando 7z
NON USARE il formato 7-zip per scopi di backup su Linux/Unix perché :
- 7-zip non memorizza il proprietario/gruppo del file.
Su Linux/Unix, per fare il backup delle directory devi usare tar :
- per fare il backup di una directory :
tar cf - directory | 7za a -si directory.tar.7z
- per ripristinare il backup:
7za x -so directory.tar.7z | tar xf -
Se vuoi inviare file e directory (non il proprietario del file) ad altri utenti Unix/MacOS/Windows, puoi usare il formato 7-zip. Per esempio:
7za a directory.7z directory
- Non usare “-r” perché questo flag non fa quello che ci si aspetta che faccia.
- Non usare directory/* perché i file “.*” (esempio: “directory/*” non corrisponde a “directory/.profile”).
Questo è tutto su come installare e utilizzare 7zip su Ubuntu 18.04/Ubuntu 20..04. Controlla le pagine man per maggiori dettagli.
Altri tutorial
Installare Foxit PDF Reader su Ubuntu 20.04
Installare e configurare ZSH e Oh-My-Zsh su Ubuntu 20.04
Eseguire solo comandi specifici con sudo in Linux