Come Usare il Comando Zip in Linux per Comprimere File e Cartelle

Immagine di Zipper Immagine Caratteristica Per Come Usare il Comando Zip di Linux

Il comando zip in Linux è probabilmente il modo più semplice e intuitivo per lavorare con i file ZIP dalla riga di comando. E non solo, il formato di file ZIP è universale: quasi ogni sistema operativo ha un programma nativo che può lavorarci. Ecco tutti i modi in cui puoi usare questo comando in qualsiasi riga di comando Linux.

Indice

  • Come Installare Zip in Linux
  • Comando Zip in Linux: Sintassi e Opzioni
  • Come Comprimere un File in Linux Usando il Comando Zip
  • Come Comprimere una Cartella in Linux Usando il Comando Zip
  • Come Decomprimere un File Usando il Comando Zip di Linux
  • Come Decomprimere una Cartella di Linux Con Zip
  • Domande Frequenti

Come Installare Zip in Linux

L’ultima versione del comando zip di Linux dovrebbe essere disponibile in tutti i principali gestori di pacchetti.

Per Debian/Ubuntu:

sudo apt install zip

Per Arch Linux:

sudo pacman -S zip

Per Fedora:

sudo dnf install zip

Per Gentoo

sudo emerge --ask zip

Nota: Prima di installare qualsiasi cosa, assicurati di aggiornare prima il tuo gestore di pacchetti per ottenere l’ultima versione del comando zip. Puoi scoprire come fare ciò e altro con il nostro cheatsheet del gestore di pacchetti Linux.

Nota: Con zip installato, il comando unzip sarà ora disponibile.

Comando Zip in Linux: Sintassi e Opzioni

C’è una sintassi di base per il comando zip, e richiede solo due parametri: il nome del file ZIP di output e il nome del file di input.

zip [opzioni]  

Esempio di Comando Zip di Terminale Linux

Le loro posizioni sono importanti qui. Se li fai al contrario, il computer si chiederà perché stai cercando di creare un “file-to-archive.jpg” da un “zip-file.zip” che non esiste e restituirà un errore.

Per quanto riguarda l’impostazione delle opzioni, dovrai lavorare con i flag. Ci sono 8 flag che avresti normalmente bisogno per un uso normale:

  • -d elimina le voci archiviate selezionate nel file ZIP.
  • -q esegue silenziosamente il compito senza stampare nulla nel terminale.
  • -T testa l’integrità del file ZIP.
  • -e cripta il file.
  • -u aggiorna il file ZIP aggiungendo nuovi file all’archivio.
  • -m sposta il file nell’archivio.
  • -r aggiunge ricorsivamente i file all’interno di una cartella in un file ZIP.
  • -x esclude i file con i nomi selezionati.
  • -i include solo i file con i nomi selezionati.

Puoi posizionare i flag dove vuoi, che siano prima dell’output, dopo l’input, tra i due: puoi persino usare più flag sparsi lungo la riga in qualsiasi ordine. Assicurati solo di digitarli dopo aver digitato zip.

L’eccezione sono -x e -i che necessitano di un nuovo input dopo averli usati.

Come Comprimere un File in Linux Usando il Comando Zip

Il modo più semplice per archiviare file con il comando zip è digitare zip seguito dal nome del file ZIP e poi il file che stai cercando di archiviare o comprimere. I flag sono opzionali, quindi puoi farlo in questo modo per comprimere rapidamente qualsiasi file su Linux.

zip archive.zip text_file.txt

Comando di Base per Comprimere una Cartella in Linux

Puoi anche aggiungere più file aggiungendo gli altri dopo il primo file che stavi cercando di archiviare. E se qualcuno di questi ha spazi nei loro nomi, puoi racchiuderli tra virgolette.

zip archive.zip "file 1.txt" "file 2.txt" "file 3.txt" "file 4.txt"

Esempio di Archiviazione di Più File in un Solo Comando Zip di Linux

Usando il Flag -d

Il flag -d ti consente di eliminare un file archiviato all’interno del file ZIP nello stesso modo in cui lo avresti aggiunto a uno.

zip -d archive.zip remove_me.jpg

Terminale Linux Usando il Flag D 1

Puoi anche usarlo per rimuovere intere cartelle all’interno dell’archivio. Tuttavia, questo non funzionerà per i file al di fuori del file ZIP (quindi non puoi usarlo per eliminare file dopo l’archiviazione).

Usando il Flag -q

Il flag -q serve per assicurarti che zip non restituisca un messaggio quando svolge il suo compito.

zip -q archive.zip text_file.txt

Terminale Linux Usando il Flag Q

È utile quando stai usando il comando zip con uno script. Ma se lo stai usando da solo, potresti voler evitare di usare il flag -q poiché non saprai se il processo di archiviazione è stato completato con successo senza controllare con il comando dir o ls.

Usando il Flag -T

Alcuni file, alcuni file ZIP possono danneggiarsi durante il download: succede. Puoi usare il flag -T per controllare l’integrità così saprai se è davvero un file danneggiato o stai solo inserendo la password sbagliata.

zip -T archive.zip

Terminale Linux Usando il Grande Flag T

Questo è piuttosto importante quando scarichi file di grandi dimensioni come immagini di sistema operativo. Per file come questi, puoi bruciarli con successo in una USB live e finire con errori una volta che esegui il file immagine sulla tua macchina. Lo stesso vale per video e musica che presentano parti tagliate in posti casuali.

Usando il Flag -u

Se desideri aggiungere un nuovo file a un file ZIP esistente, puoi usare il flag -u.

zip -u archive.zip new_file.txt

Terminale Linux Usando il Flag U

Puoi anche aggiungere più file aggiungendoli dopo il primo file, come se stessi usando normalmente il comando zip per creare un nuovo archivio ZIP.

Usando il Flag -e

Se vuoi aggiungere una password, devi usare il flag -e. Questa opzione applica solo la password e la crittografia al file che aggiungi al file ZIP all’interno del suo comando, quindi i file precedenti rimarranno non crittografati se usi questo con il flag -u.

zip -e archive.zip text_file.txt

Terminale Linux Usando il Flag E Con Terminale Che Chiede la Password

La cosa fantastica dei file ZIP è che il processo di creazione della password aggiunge anche uno strato extra di protezione oltre a fornire accesso. La tua password funziona come una firma digitale che viene utilizzata per decrittografare uno strato di crittografia extra aggiunto al file ZIP.

Usando il Flag -m

Infine, il flag -m elimina il file originale dopo che è stato archiviato nel file ZIP. Pensa a questo come all’automazione di un passaggio extra in modo da non doverlo rimuovere da solo.

zip -m archive.zip text_file.txt

Terminale Linux Usando il Flag M Con Prima e Dopo Dir Per Mostrare che il File è Scomparso

Un aspetto importante da ricordare però: il flag -m elimina i file in un modo tale da rendere impossibile recuperarli senza utilizzare uno strumento di ripristino file. Quindi assicurati di mantenere un backup, o semplicemente rimuovi le cose manualmente usando il comando rm invece.

Come Comprimere una Cartella in Linux Usando il Comando Zip

Se usi il comando zip su una cartella grezza, ti ritroverai con una cartella che non contiene affatto file. Ogni volta che stai cercando di comprimere una cartella, devi usare il flag -r.

Usando il Flag -r

Il flag -r, alias ricorsivo, attraversa ogni contenuto di una cartella e delle sue sottocartelle e archivia ognuno di essi nel file ZIP. Mantiene anche la struttura attuale di ciascuna sottocartella.

zip -r archive.zip my_folder

Terminale Linux Usando il Flag R

Questo funziona anche se vuoi archiviare tutto all’interno della cartella corrente. Basta sostituire my_folder con ./ e cambierà il suo obiettivo a tutto ciò che si trova all’interno di quella corrente.

zip -r archive.zip ./

Usando il Comando Unzip di Linux Con il Flag R Su Tutti i File All'interno della Cartella Corrente

Inoltre, puoi usare questo insieme al flag -u per includere cartelle e i loro contenuti in un file ZIP esistente.

zip -r -u archive.zip another_folder

Terminale Linux Usando il Flag R Con il Flag U

Usando il Flag -i

Il flag -i ti consente di selezionare un file specifico che desideri includere ed escludere tutto il resto all’interno di una cartella

zip -r archive.zip my_folder -i my_folder/a_subfolder/file1.txt

Terminale Linux Usando il Flag I

Utilizzando * asterischi con il flag -i, puoi selezionare file che condividono nomi simili ma potrebbero terminare con qualcosa come un numero. Ad esempio, digitando *.txt farà sì che il comando zip includa tutti i file TXT all’interno della cartella.

zip -r archive.zip my_folder -i "*.txt"

Terminale Linux Usando il Flag I Con Asterisco

Usando il Flag -x

Il flag -x ti consente di escludere solo determinati file mentre comprimi un’intera cartella.

zip -r archive.zip my_folder -x my_folder/dont_zip.jpg

Terminale Linux Usando il Flag X

Inoltre, il flag -x sovrascrive il flag -i quando usato insieme. In questo modo, puoi, ad esempio, dire a zip di includere tutti gli altri file dello stesso tipo tranne il file che non vuoi che venga compresso.

zip -r archive.zip my_folder -i "*.txt" -x my_folder/dont_zip.txt

Terminale Linux Usando il Flag X e il Flag I Insieme

Come Decomprimere un File Usando il Comando Zip di Linux

Il programma unzip è un programma partner del programma zip predefinito. Estrae file dal tuo archivio ZIP.

Per usare questo programma, devi solo digitare unzip e il nome del file dell’archivio ZIP.

unzip archive.zip

Comando di Base per Decomprimere in Linux

Utilizzando il comando unzip, decomprimerai il file ZIP all’interno della directory di lavoro corrente indipendentemente da dove provenga il file ZIP.

Per estrarre o decomprimere un file Linux all’interno di un file ZIP in modo che gli altri rimangano non estratti, puoi aggiungere il suo nome dopo la parte in cui digiti l’archivio.

unzip archive.zip file.txt

Decompressione Selettiva del File Txt

Come Decomprimere una Cartella di Linux Con Zip

Sebbene unzip normalmente estragga le cartelle situate all’interno di un archivio ZIP, può essere piuttosto difficile farlo estrarre solo determinate cartelle. Ma ciò non significa che sia impossibile.

unzip archive.zip my_folder/a_subfolder/*

Decompressione Selettiva dei Contenuti di una Singola Cartella

Quella riga di codice estrae tutto all’interno di a_subfolder.

Inoltre, quando decomprimi una cartella, il programma unzip crea una nuova cartella all’interno della directory di lavoro corrente e disimballa le sue cartelle lì. Se esiste una cartella con lo stesso nome (o una versione precedente della cartella è presente), chiede se va bene sostituire il file attualmente presente nella cartella.

Domande Frequenti

Cosa fa il comando gzip in Linux?

Il comando Linux gzip è uno strumento che puoi usare per memorizzare e comprimere file in un file GZ.

È ZIP migliore di TAR?

In un certo senso, ZIP è migliore di TAR perché i file ZIP possono comprimere, crittografare e proteggere i loro contenuti. Tuttavia, i file TAR sono destinati a combinare file in un unico file per un trasferimento di file più veloce, mentre i file ZIP (nonostante vengano utilizzati per lo stesso scopo) vengono forniti con quelle funzionalità extra in mente.

È TAR più veloce di ZIP?

I file TAR non comprimono né crittografano i loro contenuti. Quindi, se stai cercando un modo più veloce per combinare una grande quantità di file in un unico archivio facile da trasferire, vedrai alcuni guadagni con TAR rispetto a ZIP. Tuttavia, potresti trovare più facile trasferire un file ZIP piuttosto che un file TAR perché i file ZIP tendono ad essere molto più piccoli dei file TAR.

Crediti immagine: Unsplash, Screenshot di Terenz Jomar Dela Cruz