GNU/Linux >> Linux Esercitazione >  >> Linux

Come comprimere file e directory in Linux

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.


Linux
  1. Come comprimere file e directory su Linux (con esempi)

  2. Come archiviare file e directory in Linux [Parte 2]

  3. Come archiviare file e directory in Linux [Parte 1]

  4. Come comprimere più file su Linux

  5. Linux Elimina file e directory

Come decomprimere i file zip in Linux

Come rinominare file e directory in Linux

Come copiare file e directory nel terminale Linux

Come comprimere file e cartelle in Linux

Come eliminare file e directory utilizzando la riga di comando di Linux

Come comprimere un file in Linux