Zip e Unzip
La compressione e la decompressione dei file all’interno di un archivio .zip, avviene da terminale attraverso i comandi zip e unzip . La sintassi non è complicata ed è strutturata nel seguente modo:
$ zip [opzioni] archivio.zip [opzioni] file1 file2 file3 .... ------------------------------------------------------- $ unzip [opzioni] archivio.zip
Attraverso un emulatore di terminale è necessario inserire il percorso dell’archivio .zip, già esistente o da creare, quindi inserire in successione i nomi dei file da aggiungere o il loro percorso nel caso non siano nella posizione (directory) in cui ci troviamo.
Zippare un gruppo di file
Se dobbiamo zippare tutti i file contenuti in una determinata directory procederemo nel seguente modo:
$ zip /percorso/archivio.zip /percorso/dir/ *.*
Possiamo, altresì, entrare nella directory dove sono contenuti i file da zippare e lanciare il seguente comando:
$ cd /percorso/dir/ -------------------------------------- :/dir$ zip /percorso/archivio.zip *.*
Per zippare un gruppo di file e di sottocartelle ( vuote o contenenti altri file ) contenuti in una directory sarà necessario spostarci nella stessa e utilizzare le opzioni -r
e .
$ cd /percorso/dir/ --------------------------------------- :/dir$ zip -r /percorso/archivio.zip .
In questo caso, l’opzione .
indicherà di aggiungere tutto il contenuto della directory in cui ci troviamo, mentre -r
di comprimere ricorsivamente tutte le sottocartelle e i files presenti.
Zippare un singolo file o una selezione di file
Per poter aggiungere un singolo file ad un archivio, esistente o meno, possiamo spostarci nella directory contenente il file d’aggiungere, indicare il percorso dell’archivio, quindi il nome stesso del file; oppure, possiamo indicare da qualunque posizione il percorso dell’archivio .zip, quindi il percorso del file da aggiungere:
$ cd /percorso/dir/ -------------------------------------------- :/dir$ zip /percorso/archivio.zip file.txt
$ zip /percorso/archivio.zip /percorso/dir/file.txt
Se si desidera, invece, inserire nell’archivio un file insieme al suo percorso bisognerà indicare l’intero percorso e utilizzare l’opzione di ricorsività -r
:
$ zip -r /percorso/archivio.zip /percorso/dir/file.txt
In questo caso, il file file.txt verrà inserito nell’archivio nel percorso percorso/dir/file.txt
, anziché al primo livello dell’archivio stesso. Altrettanto vale per l’aggiunta di cartelle che contengono file:
$ zip -r /percorso/archivio.zip /percorso/dir/dir1
In questo caso la directory “dir1“ , contenuta in “dir “, verrà aggiunta all’archivio insieme all’intero percorso /percorso/dir/dir1
, anziché al primo livello dell’archivio stesso.
Se si vuole aggiungere un’intera cartella, insieme ai file che essa contiene, al primo livello dell’archivio, dobbiamo spostarci all’interno della directory che la contiene, e utilizzare ancora l’opzione ricorsiva -r
.
$ cd /percorso/dir/ ------------------------------------------- :/dir$ zip -r /percorso/archivio.zip dir1
In questo caso, la cartella “dir1“, verrà posta al primo livello dell’archivio stesso. Per aggiungere solo la directory (vuota), basterà non utilizzare -r
Se si vuole, invece, aggiungere più di un file o più di una directory bisognerà procedere come sopra, inserendo in successione i nomi dei files e delle directory, una volta spostati nella directory che li contiene:
$ cd /percorso/dir -------------------------------------------------------------------------- :/dir$ zip /percorso/archivio.zip file1.txt file2.txt file3.txt etc. ... -------------------------------------------------------------------------- :/dir$ zip -r /percorso/archivio/.zip dir1 dir2 dir3 etc. ...
Per aggiungere un insieme di file e di directory selezionati bisognerà procedere allo stesso modo utilizzando l’opzione ricorsiva -r
:
$ cd /percorso/dir ------------------------------------------------------------------------------- :/dir$ zip -r /percorso/archivio/.zip file1.txt file2.txt dir1 dir2 etc. ...
In tutti questi esempi, è possibile aggiungere l’opzione -9
, che consente di zippare alla massima compressione.
Esempio:
$ zip -9 /percorso/archivio.zip /percorso/dir/ *.* --------------------------------------------------------- $ zip -9 /percorso/archivio.zip /percorso/dir/file.txt --------------------------------------------------------- :/dir$ zip -r -9 /percorso/archivio.zip . --------------------------------------------------------- $ zip -r -9 /percorso/archivio.zip /percorso/dir/file.txt
etc. …
Decomprimere un archivio .zip
Al fine di estrarre i file di un archivio è necessario utilizzare il seguente comando
$ unzip "/percorso/archivio.zip" -d "/percorso/cartella_destinazione"
In alternativa è possibile spostarsi nella directory in cui si trova l’archivio e lanciare il seguente comando
$ cd /percorso/cartella/ ------------------------------- /cartella$ unzip archivio.zip
Con questo semplice comando i file verranno estratti nella directory in cui ci troviamo. Se si vuole specificare un altro percorso, ddovremo specificarlo nel seguente modo:
$ cd /percorso/cartella/ ---------------------------------------------------------------------- /cartella$ unzip archivio.zip -d "/percorso/cartella_destinazione/"
Infine, per visualizzare i file contenuti in un archivio, si può utilizzare il seguente comando:
$ unzip -l "/percorso/archivio.zip/"
oppure ci spostiamo nella cartella in cui è contenuto l’archivio e digitiamo:
$cd /percorso/cartella/ --------------------------------- /cartella$ unzip -l archivio.zip
Estrarre solamente alcuni file da un archivio .zip
$ unzip "/percorso/completo/archivio.zip" "file1" "cartella1/" "cartella1/cartella2/file4 " -d "/percorso/cartella_destinazione/"
in questo caso è necessario inserire la posizione dell’archivio, quindi l’elenco dei percorsi dei file e delle cartelle da estrarre all’interno dell’archivio stesso, quindi il percorso di destinazione preceduto dall’argomento -d.