Se hai un file compresso zip, puoi decomprimerlo nella riga di comando di Linux. Il comando unzip in Linux è abbastanza versatile e puoi usarlo per fare molto di più della semplice estrazione del file zip.
In passato ho discusso di come gzippare una cartella in Linux. È ora di vedere i vari utilizzi del comando unzip. Prima di farlo, assicurati che unzip sia stato installato sul tuo sistema. Puoi utilizzare il gestore di pacchetti della tua distribuzione per installare il comando.
Su Ubuntu e Debian, puoi usare questo comando:
sudo apt install unzip
Dopo averlo verificato, vediamo come utilizzare unzip nel terminale Linux.
Decomprimi comando in Linux
Il comando unzip ha una sintassi molto semplice:
unzip [option] zip_file
Se lo usi per estrarre un file zip senza alcuna opzione, estrarrà tutti i file nella directory corrente:
unzip webdesign.zip
Archive: webdesign.zip
inflating: 339252-PAJF05-394.ai
inflating: 339252-PAJF07-322.eps
inflating: 339252-PALBTI-224.ai
inflating: 339252-PALBTL-394.eps
inflating: 339252-PALBTM-53.jpg
inflating: License free.txt
inflating: License premium.txt
E non è quello che vorresti la maggior parte del tempo. Inonderà semplicemente la tua directory corrente con tutti i file estratti.
ls
339252-PAJF05-394.ai 339252-PALBTI-224.ai 339252-PALBTM-53.jpg 'License premium.txt'
339252-PAJF07-322.eps 339252-PALBTL-394.eps 'License free.txt' webdesign.zip
1. Decomprimi in una directory
Il comportamento previsto è che dovresti avere i file estratti in una determinata directory, normalmente con lo stesso nome del file zip.
Puoi specificare la directory di destinazione in cui desideri estrarre i file.
unzip -d target_directory zip_file
Se la directory di destinazione non esiste, verrà creata. Tuttavia, non è possibile creare directory nidificate in questo modo.
Tieni presente che puoi anche inserire la directory di destinazione alla fine, ma non tutte le opzioni possono essere aggiunte alla fine.
unzip zip_file -d target_directory
2. Visualizza il contenuto del file zip senza estrarre
Se vuoi vedere cosa contiene il file zip, non devi sempre estrarlo prima. Puoi usare il -l
opzione e mostrerà il contenuto del file zip.
unzip -l zip_file
Come puoi vedere, mostra anche il timestamp dei file e la dimensione effettiva dei singoli file in byte.
[email protected]:$ unzip -l webdesign.zip
Archive: webdesign.zip
Length Date Time Name
--------- ---------- ----- ----
205358 2018-06-18 23:14 339252-PAJF05-394.ai
996906 2018-06-18 23:14 339252-PAJF07-322.eps
213968 2018-06-20 00:00 339252-PALBTI-224.ai
1005362 2018-06-20 00:00 339252-PALBTL-394.eps
305531 2018-06-20 00:00 339252-PALBTM-53.jpg
1462 2018-06-20 09:45 License free.txt
1116 2018-06-20 09:45 License premium.txt
--------- -------
2729703 7 files
Se lo desideri, puoi ottenere ulteriori informazioni come la dimensione compressa, il rapporto di compressione utilizzando la modalità dettagliata con -v
opzione. Il CRC-32 nell'uscita è il controllo di ridondanza ciclica.
[email protected]:$ unzip -v webdesign.zip
Archive: webdesign.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
205358 Defl:N 142097 31% 2018-06-18 23:14 792f2380 339252-PAJF05-394.ai
996906 Defl:N 221228 78% 2018-06-18 23:14 440390d3 339252-PAJF07-322.eps
213968 Defl:N 147568 31% 2018-06-20 00:00 cdb64dfc 339252-PALBTI-224.ai
1005362 Defl:N 226727 77% 2018-06-20 00:00 aed3d97a 339252-PALBTL-394.eps
305531 Defl:N 183363 40% 2018-06-20 00:00 e4ced90f 339252-PALBTM-53.jpg
1462 Defl:N 728 50% 2018-06-20 09:45 0eb9e17b License free.txt
1116 Defl:N 558 50% 2018-06-20 09:45 165dd84e License premium.txt
-------- ------- --- -------
2729703 922269 66% 7 files
3. Sovrascrivi tutti i file senza chiedere
Se ci sono già file con lo stesso nome nella directory in cui stai estraendo i file, verrai promosso per ciascuno di questi file. Puoi forzare la sovrascrittura di tutti i file con l'opzione -o
.
unzip -o -d target_directory zip_file
4. Non sovrascrivere alcun file -n
Se non vuoi che nessun file esistente venga sovrascritto da file appena estratti, usa l'opzione -n (sta per mai sovrascrivere).
unzip -n -d target_directory zip_file
5. Aggiorna i file e creali se necessario
Questo è leggermente diverso dalla sovrascrittura di tutti i file. In questo caso, verranno sovrascritti solo i file con un timestamp più recente rispetto ai file esistenti. Se un file non esiste, verrà creato.
Puoi ottenerlo con l'opzione -u:
unzip -u -d target_directory zip_file
6. Aggiorna i file esistenti ma non crearne nessuno
Leggera modifica rispetto all'esempio precedente qui. In questo, aggiornerà i file esistenti se hanno un timestamp più vecchio ma non creerà nuovi file anche se non esistono.
L'opzione -f ti permette di farlo:
unzip -f -d target_directory zip_file
7. Estrai in modalità silenziosa
Quando decomprimi un file, mostra tutti i file che sono stati estratti sul display. Ora immagina un file zip che contenga centinaia di file. Se lo estrai, lo schermo sarà ingombra di output.
Puoi usare la modalità silenziosa con l'opzione -q
e non vedrai nulla sul display:
unzip -q -d target_directory zip_file
8. Escludi file dall'estrazione
Puoi anche escludere determinati file o determinati tipi di file dall'estrazione.
unzip zip_file -x file_to_exclude
Nel mio esempio, diciamo che non voglio estrarre alcun file .eps.
[email protected]:$ unzip webdesign.zip -x *.eps
Archive: webdesign.zip
inflating: 339252-PAJF05-394.ai
inflating: 339252-PALBTI-224.ai
inflating: 339252-PALBTM-53.jpg
inflating: License free.txt
inflating: License premium.txt
Questi erano alcuni degli esempi più comuni del comando unzip in Linux. Puoi sempre controllare la sua pagina man per saperne di più sulle opzioni.
Usi qualche altra opzione con unzip frequentemente? Perché non condividerlo con noi nei commenti?