androide

Come comprimere file e directory in Linux

Come Comprimere e Decomprimere file da terminale Linux

Come Comprimere e Decomprimere file da terminale Linux

Sommario:

Anonim

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 (compressi) occupano meno spazio su disco e possono essere trasferiti da una macchina all'altra più rapidamente rispetto ai file non compressi. I file zip possono essere facilmente estratti in Windows, macOS e Linux utilizzando le utility disponibili per tutti i sistemi operativi.

In questo tutorial, ti mostreremo come comprimere (comprimere) file e directory in Linux usando il comando zip .

Comando zip

zip è un'utilità della riga di comando che ti aiuta a creare archivi Zip.

Il comando zip assume la seguente forma di sintassi:

zip OPTIONS ARCHIVE_NAME FILES

Per creare un archivio Zip in una directory specifica, l'utente deve disporre delle autorizzazioni di scrittura per 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 dei file, utilizzare il comando tar .

L'utilità zip non è installata per impostazione predefinita nella maggior parte delle distribuzioni Linux, ma puoi installarla facilmente usando il gestore pacchetti della tua 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, specificare i file che si desidera 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 comando zip stampa i nomi dei file aggiunti all'archivio e il metodo di compressione. Spiegheremo i metodi di compressione e il livello più avanti in questa guida.

Quando si specifica il nome dell'archivio Zip se si omette l'estensione .zip , verrà aggiunto 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 del comando zip , utilizzare l'opzione -q :

zip -q archivename.zip filename1 filename2 filename3

Spesso creerai un archivio Zip di una directory che include il contenuto delle sottodirectory. L'opzione -r consente di attraversare in modo ricorsivo l'intera struttura della directory.

Per creare un archivio Zip di una directory dovrai usare:

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 l'utilità zip determina che un file non può essere compresso, semplicemente memorizza il file nell'archivio senza comprimerlo usando il metodo store. Nella maggior parte delle distribuzioni Linux l'utilità zip supporta anche il metodo di compressione bzip2.

Per specificare un metodo di compressione, utilizzare l'opzione -Z .

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 comando zip consente di specificare un livello di compressione utilizzando il numero con il prefisso con un trattino compreso tra 0 e 9. Il livello di compressione predefinito è -6 . Quando si utilizza -0 , tutti i file verranno archiviati senza compressione. -9 al comando zip di utilizzare una compressione ottimale per tutti i file.

Ad esempio, per utilizzare il livello di compressione -9 , digitare qualcosa del genere:

zip -9 -r archivename.zip directory_name

Maggiore è il livello di compressione, più intenso è il processo zip della CPU e richiederà più tempo per il completamento.

Creazione di un file ZIP protetto da password

zip -e archivename.zip directory_name

Ti verrà richiesto di inserire e verificare la password dell'archivio:

Enter password: Verify password:

Creazione di file zip diviso

Immagina di voler archiviare l'archivio Zip su un servizio di hosting di file che ha un limite di caricamento delle dimensioni del file di 1 GB e che l'archivio Zip è di 5 GB.

È possibile creare un nuovo file Zip diviso utilizzando l'opzione -s seguita dalla 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

Esempi ZIP

Creare un archivio Zip di nome archivename.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 di nome archivename.zip contenente tutti i file MP3 nella directory corrente senza comprimere i file.

zip -0 archivename *.mp3

Conclusione

In Linux è possibile creare archivi Zip con il comando zip .

Per estrarre un archivio ZIP su un sistema Linux, è possibile utilizzare il comando unzip.

terminale zip