GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come comprimere un file in Linux con semplici esempi {ubuntu 20.04}

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

  1. Comprimi un file in Linux utilizzando l'interfaccia utente grafica (GUI)
  2. 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

Esercitazione video

Per rendere più semplice "come comprimere un file in Linux" per i principianti, ho creato anche un video. Per favore guarda, metti mi piace e condividi, se lo hai trovato utile.
Ubuntu
  1. Spiegazione dei tipi di database

  2. Fare riferimento a variabili d'ambiente *in* /etc/environment?

  3. Come montare il file del disco rigido virtuale (VHD) in Ubuntu Linux?

  4. Come installare WildFly Java Application Server con Nginx Reverse Proxy su Ubuntu 20.04

  5. Come installare il server VNC su Linux Mint 20

I migliori registratori dello schermo di Ubuntu

Aggiungere un file eseguibile al menu di Lubuntu?

Come installare Debian 11 Server minimo

Come installare Pip su CentOS 8

Come configurare la replica Cassandra su Ubuntu 16.04

Cerca e sostituisci MySQL