Zip è il formato di file di archivio più utilizzato che supporta la compressione dei dati senza perdita di dati.
Un file zip è un contenitore di dati contenente uno o più file o directory compressi. I file compressi (zippati) occupano meno spazio su disco e possono essere trasferiti da un computer all'altro più rapidamente rispetto ai file non compressi. I file zip possono essere facilmente estratti in Windows, macOS e Linux utilizzando le utilità disponibili per tutti i sistemi operativi.
Questo tutorial ti mostrerà come comprimere (comprimere) file e directory in Linux usando zip
comando.
zip
Comando #
zip
è un'utilità della riga di comando che ti aiuta a creare archivi Zip.
Il zip
il comando assume la seguente forma di sintassi:
zip OPTIONS ARCHIVE_NAME FILES
Per creare un archivio Zip in una directory specifica, l'utente deve disporre dei permessi di scrittura su quella directory.
I file zip non supportano le informazioni sulla proprietà in stile Linux. I file estratti sono di proprietà dell'utente che esegue il comando. Per preservare la proprietà e le autorizzazioni del file, usa tar
comando.
Il zip
L'utilità non è installata per impostazione predefinita nella maggior parte delle distribuzioni Linux, ma puoi installarla facilmente utilizzando il tuo gestore di pacchetti di distribuzione.
Installa zip
su Ubuntu e Debian #
sudo apt install zip
Installa zip
su CentOS e Fedora #
sudo yum install zip
Come ZIP file e directory #
Per comprimere uno o più file, specifica i file che desideri aggiungere all'archivio separati da spazio, come mostrato di seguito:
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)
adding: filename2 (stored 0%)
adding: filename3 (deflated 38%)
Per impostazione predefinita, il zip
comando stampa i nomi dei file aggiunti all'archivio e il metodo di compressione. Spiegheremo i metodi e i livelli di compressione più avanti in questa guida.
Se il nome dell'archivio non termina con .zip
, l'estensione viene aggiunta automaticamente a meno che il nome dell'archivio non contenga un punto. zip archivename.zip filename
creerà un archivio con lo stesso nome di zip archivename filename
.
Per sopprimere l'output di zip
comando, usa il -q
opzione:
zip -q archivename.zip filename1 filename2 filename3
Spesso creerai un archivio zip di una directory che include il contenuto delle sottodirectory. Il -r
l'opzione consente di attraversare l'intera struttura della directory in modo ricorsivo:
zip -r archivename.zip directory_name
Puoi anche aggiungere più file e directory nello stesso archivio:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
Metodi e livelli di compressione #
Il metodo di compressione predefinito di Zip è deflate . Se il zip
l'utilità determina che un file non può essere compresso, memorizza semplicemente il file nell'archivio senza comprimerlo utilizzando il archivio metodo. Nella maggior parte delle distribuzioni Linux, zip
l'utilità supporta anche bzip2 metodo di compressione.
Per specificare un metodo di compressione, usa -Z
opzione.
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%)
Il zip
Il comando consente di specificare un livello di compressione utilizzando un numero preceduto da un trattino da 0 a 9. Il livello di compressione predefinito è -6
. Quando si utilizza -0
, tutti i file verranno archiviati senza compressione. -9
forzerà il zip
comando per utilizzare una compressione ottimale per tutti i file.
Ad esempio, per utilizzare il livello di compressione -9
, dovresti digitare qualcosa del genere:
zip -9 -r archivename.zip directory_name
Più alto è il livello di compressione, più il processo zip richiederà molta CPU e il completamento richiederà più tempo.
Creazione di un file ZIP protetto da password #
Se disponi di informazioni sensibili che devono essere archiviate nell'archivio, puoi crittografarle utilizzando il -e
opzione:
zip -e archivename.zip directory_name
Verrà richiesto di inserire e verificare la password dell'archivio:
Enter password:
Verify password:
Creazione di un file zip diviso #
Immagina di voler archiviare l'archivio Zip su un servizio di file hosting con un limite di caricamento della dimensione del file di 1 GB e il tuo archivio Zip è di 5 GB.
Puoi creare un nuovo file Zip diviso usando -s
opzione seguita da una dimensione specificata. Il moltiplicatore può essere k (kilobyte), m (megabyte), g (gigabyte) o t (terabyte).
zip -s 1g -r archivename.zip directory_name
Il comando sopra continuerà a creare nuovi archivi in un set dopo aver raggiunto il limite di dimensioni specificato.
archivename.zip
archivename.z01
archivename.z02
archivename.z03
archivename.z04
zip
comando Esempi #
Crea un archivio Zip denominato nomearchivio.zip contenente tutti i file nella directory corrente.
zip archivename *
Come sopra, inclusi i file nascosti (file che iniziano con un punto):
zip archivename .* *
Crea un archivio Zip denominato archivename.zip
contenente tutti i file MP3 nella directory corrente senza comprimere i file.
zip -0 archivename *.mp3
Conclusione #
In Linux, puoi creare archivi Zip con zip
comando.
Per estrarre un archivio ZIP su un sistema Linux, puoi utilizzare il comando unzip.
Se vuoi saperne di più su zip
comando, visita la pagina di manuale di Zip.
Se hai domande o feedback, sentiti libero di lasciare un commento.