In questo tutorial, ti fornirò una guida completa e tutte le opzioni importanti elencate in "Come comprimere un file in Linux". Comprimere un file o una directory in Linux aiuta a fare il backup e risparmiare spazio su disco comprimendo i file inutilizzati. Sto usando Ubuntu Linux 20.04 per mostrare tutti gli esempi in questo post.
Cos'è Zip
Zip è fondamentalmente un'utilità di compressione e compressione di file per quasi tutti i sistemi operativi, indipendentemente dal fatto che si tratti di Linux, Windows, Mac e persino alcuni sistemi RISC.
È sempre installato su tutti i sistemi Linux o Unix per impostazione predefinita tranne pochi casi. È analogo a una combinazione di due comanditar e comprimi .
In genere, il programma zip inserisce uno o più compress file in Linux in un unico archivio zip insieme a meta-informazioni sul file.
Il rapporto di compressione dei file zip in Linux è di circa 2:1 o 3:1 sono comuni per i file di testo e varia per i diversi tipi di file. Un singolo comando zip può inserire un'intera struttura di directory in un archivio zip.
In caso di archivi di grandi dimensioni superiori a 4 GB , zip utilizza automaticamente l'estensione zip64 . Zip è compatibile con Pkzip e Pkunzip anche le utenze.
Zip ora supporta anche l'utilità di compressione bzip2 se la libreria bzip2 viene generalmente compilata con zip.
Decomprimi e tar sono due compagni servizi di pubblica utilità. Decomprimi i pacchetti o decomprimi l'archivio zip e tar viene utilizzato per eseguire il backup.
Prerequisito dell'utilità Zip
Non ci sono prerequisiti speciali, l'unica cosa che devi fare è controllare se zip è installato in Linux o meno.
Esegui questo comando. installerà utility zip e decomprimi se non c'è. Se è già installato, si aggiornerà o non farà nulla come mostrato nell'output.
$ sudo apt install zip unzip
Mostra utility zip e decomprimi è già sull'ultima versione. quindi hai finito con l'installazione di zip e unzip fino a questo punto e sei pronto per esplorare il mondo di Comprimi file e cartelle in Linux.
Se hai Centos o Fedora distro . Esegui i comandi indicati di seguito per installare zip e decomprimere
$ sudo yum install zip
$ sudo yum install unzip
Spiegherò come zippare i file in Linux usando due opzioni
- Comprimi un file in Linux utilizzando l'interfaccia utente grafica (GUI)
- Comprimi un file in Linux utilizzando l'interfaccia a riga di comando (CLI)
Diamo un'occhiata alla prima opzione -
Come comprimere un file nella GUI di Linux
Passaggio 1:-
Vai alla directory in cui risiedono il file o le cartelle.
Passaggio 2:-
Seleziona i file e fai clic con il pulsante destro del mouse:seleziona comprimi.
Passaggio 3:-
Dare il nome dell'archivio. Darò campione-zip come esempio.
Passaggio 4:-
Hai finito!!
Come comprimere un file in un terminale Linux
Innanzitutto, dai un'occhiata a Sintassi di zip con spiegazione -
$ zip options "output_file_name" "target_file" "target_folder"
Dove
nome_file_output - il nome del file di output che vuoi dare. estensione zip aggiungerà automaticamente.
target_file o cartella - è il percorso del file o della cartella che desideri comprimere e potrebbe contenere caratteri jolly.
Vediamo diverse opzioni ed esempi di Zip programmare uno per uno.
Esempio 1:- Come comprimere o comprimere file in Linux
dev@test:~$ zip test file1 file2
produzione
aggiungendo:file1 (deflazionato 69%)
aggiungendo:file2 (deflazionato 69%)
dev@test:~$ ls test*
test.zip
dev@ prova:~$
Il nome del file e la percentuale di compressione si riflettono nell'output. Come puoi vedere non ho incluso .zip estensione, sempre per impostazione predefinita il comando lo aggiunge nel nome del file di output. Nel mio caso "test-zip.zip ".
se vuoi sopprimere questo output del comando zip, puoi usare -q opzione .
dev@test:~$ zip -q test file1 file2
Risultato
dev@test:~$ ls -ltrh test*
-rw-r--r-- 1 dev dev 56K Jun 18 16:30 test.zip
dev@test:~$
Potrebbe esserci un caso, se hai dimenticato di fornire il nome del file di output in zip comando, quindi per impostazione predefinita sceglierà il primo nome file come file di output e il secondo file in zip . Quindi l'esempio sotto indicato mostra anche come comprimere più file in Linux.
dev@test:~$ zip file1 file2
Risultato
aggiunta:file2 (deflazionato 69%)
dev@test:~$ ls -l *.zip
-rw-r--r-- 1 dev dev 28519 Jun 18 16:33 file1.zip
Esempio 2:- Come comprimere cartelle e sottocartelle in Linux
In genere, devi creare un archivio zip alla directory contenente file e sottodirectory. Zip opzione -r sarà utile per attraversare quella struttura di directory in modo ricorsivo.
dev@test:~$ zip -r test sample/
Risultato
aggiungendo:sample/ (stored 0%)
aggiungendo:sample/file2 (deflated 69%)
aggiungendo:sample/file1 (deflated 69%)
dev@test:~ $ ls campione*
test.zip
Livelli di compressione nell'utilità Zip
Il predefinito il livello di compressione del file zip è -6 e hai tutta la libertà di scegliere un numero compreso tra 0 e 9. se seleziona -0 quindi non ci sarà compressione, significa che non comprimere file in Unix.
se seleziona -9 forzerà il programma zip a selezionare la migliore compressione ottimale per tutti i file o le cartelle.
Esempio 3:- Come utilizzare i livelli di compressione 0 e 9
dev@test:~$ zip -r -0 test.zip sample/
Risultato
aggiungere:sample/ (memorizzato 0%)
aggiungere:sample/file2 (memorizzare 0%)
aggiungere:sample/file1 (memorizzare 0%)
l'output mostra, se seleziono 0 come livello di compressione, non c'è alcuna compressione durante la compressione dei file o della cartella .
Ad esempio -
dev@test:~$ zip -r -9 test sample/
Risultato
aggiungendo:sample/ (stored 0%)
aggiungendo:sample/file2 (deflated 69%)
aggiungendo:sample/file1 (deflated 69%)
dev@test:~ $
se Zip rileva che il file non può essere compresso, lo archivia e lo archivia così com'è senza comprimere il file in Linux.
Ho parlato di bzip2 anche nella mia introduzione zip dichiarazione. bzip2 è anche installato di default in tutte le versioni di Linux. Se vuoi comprimere il file usando il metodo bzip2, puoi usare -Z.
Esempio 4:- Come comprimere un file in Linux utilizzando l'utilità bzip2
dev@test:~$ zip -r -Z bzip2 test.zip sample/
Risultato
aggiungere:sample/ (memorizzato 0%)
aggiungere:sample/file2 (bzipped 74%)
aggiungere:sample/file1 (bzipped 74%)
dev@ test:~$ ls test.zip
test.zip
Se confronterai l'output, il rapporto di compressione è aumentato per gli stessi file dal 69% al 74% utilizzando bzip2.
Pertanto, la compressione dei file può comportare un risparmio di spazio maggiore ma cambiare il livello di compressione o usare bzip2 per risparmiare spazio comporta una penalizzazione delle risorse della CPU e ci vorrà più tempo per comprimere in caso di un numero elevato di file in Linux.
Ma farà sicuramente risparmiare risorse di rete se hai intenzione di trasferirlo o inviarlo su Internet.
Comprimi e crittografa un file in Linux
Molte volte è necessario archiviare o inviare/trasferire un file a qualcuno e potrebbe contenere dati sensibili o personali.
Per evitare un uso improprio di questo file, puoi sempre crittografare o abilitare la password sul file di archivio utilizzando -e opzione .
Esempio 5:- Come abilitare la password sul file zip in Linux
dev@test:~$ zip -e test.zip sample/
Risultato che richiede la password
Inserisci password:
Verifica password:
aggiunta:sample/ (memorizzata 0%)
dev@test:~$ ls sample
sample/ test.zip
Non dimenticare di condividere la password con il destinatario, se intendi inviarla a qualcuno 🙂
Crea un file zip diviso in Linux
Potrebbe verificarsi un caso in cui hai un file di grandi dimensioni da archiviare e devi dividerlo a causa dei limiti di archiviazione o caricamento sul sito FTP o sul fornitore di file hosting.
Puoi creare un file zip usando l'opzione -s fornendo la dimensione. Il moltiplicatore può essere impostato come k(kilobyte), m(Megabyte), t(Terabyte).
Esempio 6:- Come creare un file zip diviso in Linux
Ho un file zip di immagine ISO Ubuntu 20.04 con il nome ubuntu.zip (2.5G) e lo dividerò in archivio 1g file.
dev@test:~/sample$ ls -ltrh ubuntu.zip -rw-r--r-- 1 dev dev 2.5G Jun 18 17:51 ubuntu.zip
dev@test:~/sample$ zip -s 1g ubuntu.zip --out split copying: ubuntu-20.04-desktop-amd64.iso dev@test:~/sample$
Risultato
dev@test:~/sample$ ls -ltrh split*
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:03 split.z02
-rw-r--r-- 1 dev dev 504M Jun 18 18:04 split.zip
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:04 split.z01
Dai un'occhiata a split.zip, split.z01 e split.z02
Ora, quando avrai diviso il file usando zip e penserai di unirti a questo sul bersaglio. Non preoccuparti, non ti lascerò grattarti la testa.
Esempio 7:- Come aggiungere o combinare un file zip diviso in Linux
Vai alla directory in cui hai tenuto i file divisi
dev@test:~/sample$ ls -ltrh split*
Risultato
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:03 split.z02
-rw-r--r-- 1 dev dev 504M Jun 18 18:04 split. zip
-rw-r--r-- 1 dev dev 1.0G Jun 18 18:04 split.z01
ora Unisci file zip divisi.
dev@test:~/sample$ cat split.z* > join.zip
Convalida la dimensione nell'output
dev@test:~/sample$ ls -ltrh join.zip
-rw-r--r-- 1 dev dev 2.5G 18 giugno 18:13 join.zip
Esempio 8:- Come aggiornare un file zip in Linux
supponiamo che tu abbia dimenticato di aggiungere un file in uno zip o desideri aggiungere più file allo zip esistente, quindi -u l'opzione può aiutare. In questo esempio, aggiungerò file4 a test.zip esistente file.
dev@test:~$ zip -u test.zip file4
Risultato
aggiungendo:file4 (sgonfiato del 69%)
Esempio 9:- Come escludere un file da un archivio zip in Linux
Uno scenario in cui sono presenti molti file in una directory e si desidera escludere alcuni file dall'archiviazione zip. Opzione -x è il salvatore qui.
Attualmente, ho tre file nella directory di esempio
dev@test:~$ ls -ltrh sample/
totale 264K
-rw-r--r-- 1 dev dev 88K giu 17 21:51 file1
-rw-r--r-- 1 dev dev 88K giu 17 23:21 file2
-rw-r--r-- 1 dev dev 88K Jun 18 18:20 file3
escludiamo file3 , solo 2 file archiviati.
dev@test:~/sample$ zip test.zip * -x file3
Risultato
aggiungendo:file1 (deflazionato 69%)
aggiungendo:file2 (deflazionato 69%)
dev@test:~/sample$
Esempio 10:- Modalità dettagliata nella compressione dei file in Linux
se vuoi vedere i progressi, opzione -v note come informazioni dettagliate o diagnostiche sulla versione possono essere utili soprattutto quando si lavora con un numero elevato di file.
dev@test:~$ zip -v -r test.zip sample/
Risultato
aggiungendo:sample/ (in=0) (out=0) (stored 0%)
aggiungendo:sample/file3 (in=90082) (out=28359) (deflated 69%)
aggiunta:sample/file2 (in=90082) (out=28359) (deflated 69%)
adding:sample/file1 (in=90082) (out=28359) (deflated 69%)
totale bytes=270246, compresso=85077 -> 69% di risparmio
dev@test:~$
Esempio 11:- Utilizzo di caratteri jolly per comprimere file in Linux
Il carattere jolly più utilizzato è un asterisco (*) in questo mondo, a mio avviso, l'utilità Zip supporta questo utile carattere jolly. Non è necessario digitare ogni nome di file.
dev@test:~/sample$ zip file.zip file*
Risultato
aggiunta:file1 (deflazionato 69%)
aggiunta:file2 (deflazionato 69%)
aggiunta:file3 (deflazionato 69%)
dev@test:~/sample$
Alcuni problemi comuni e codici di errore durante la compressione in Linux
Stato output
0 normale; nessun errore o avviso rilevato , significa archiviazione completata
2 fine imprevista del file zip in Unix .
11 leggi o cerca errori, Impossibile leggere il file
12 zip non ha nulla a che fare, Manca qualche azione
13 file zip mancante o vuoto
14 errore durante la scrittura di un file