Comandi zip e decomposizione in linux

Comandi zip e decomposizione in linux

Zip è un popolare comando multipiattaforma utilizzato per i dati di compressione e archivio. La compressione risparmia spazio riducendo le dimensioni dei dati durante l'archiviazione semplifica il trasferimento di dati combinando più file o directory in un singolo file. Considera, se dobbiamo trasferire 5 file su Internet, ognuno con dimensioni 50 megabyte; Il trasferimento di tutti i file uno per uno potrebbe richiedere molto tempo. Comprendere i file per ridurre la dimensione fino a 25 MB e quindi archiviare tutti in un singolo file renderà molto più veloce il trasferimento dei file rispetto a quando non sono compressi. Zip è l'utilità più utilizzata per l'archiviazione e la compressione dei file, mentre la decomposizione viene utilizzata per estrarre e decomprimere i file con zip.

In questo articolo, esamineremo i comandi zip e decomposizione in Linux, insieme alle loro opzioni ed esempi della riga di comando.

Prerequisiti

  • Ubuntu o Debian System
  • Utilità zip e decomposizione installate

Nota: I comandi menzionati in questo articolo sono stati testati su Ubuntu 20.04 LTS (fossa focale). Gli stessi comandi sono applicabili anche alla distribuzione di Debian.

Installazione di zip e decomposizione

Per impostazione predefinita, i pacchetti Zip e Unzip sono installati in Ubuntu Systems. Nel caso in cui mancano dal tuo sistema, puoi installarli facilmente. Avvia il terminale utilizzando la tastiera Ctrl+Alt+T. Quindi per installare Zip, emettere quanto segue nel terminale:

$ sudo APT Installa Zip

Per installare decomposizione, emettere il comando seguente nel terminale:

$ sudo apt installa decomposizione

Ci sono alcuni scenari in cui potresti essere richiesto per zip file:

  • Per salvare lo spazio di archiviazione, poiché Zipping comprime la dimensione del file
  • Trasferimento di file di grandi dimensioni tramite e-mail
  • Caricamento o download di file a una velocità più rapida
  • Per salvare la larghezza di banda

Comando zip in Linux

Per creare un file zip, dovrai fornire il nome per l'archivio zippato e i file che devono essere inclusi nella zip.

$ zip opzioni zip_file file1 file2 ..

File singolo zip

Per zip un singolo file denominato Testfile.TXT; a un file zip chiamato test.cerniera lampo, Il comando sarebbe:

$ zip test.zip testfile.TXT


Il comando sopra comprimere il file specificato nella directory corrente lasciando alle spalle il file originale.

Per confermare se il file zip è stato creato, emettere il comando nel terminale di seguito:

$ ls -l

Zip più file

Puoi anche compensare più file con il comando zip. Creiamo alcuni file denominati testfile1.TXT, testfile2.TXT, testfile3.TXT, E testfile4.TXT Utilizzando il seguente comando nel terminale:

$ sudo touch testfile1.TXT TestFile2.txt testfile3.TXT TestFile4.TXT

Ora per compensare questi file in un singolo file, denominato File.cerniera lampo, Emettere il seguente comando nel terminale:

$ zip file.zip testfile1.TXT TestFile2.txt testfile3.TXT TestFile4.TXT

È inoltre possibile utilizzare il jolly per specificare più file con la stessa estensione. Ad esempio, per compensare tutti i file che terminano .estensione txt in un file zip, denominato files1.Zip, emette il seguente comando nel terminale:

$ zip files1.cerniera lampo *.TXT

Zip un file in una directory diversa

Se è necessario compensare un file su una directory diversa dalla directory corrente, utilizzare la seguente sintassi:

$ zip/percorso/a/directory.FileName zip_file

Ad esempio, per zip Testfile.TXT file su documenti/ documenti/ directory denominati come test.cerniera lampo, Il comando sarebbe:

$ DOCUMENTI/DOCS/TEST.zip testfile.TXT

Aggiungi file a una zip esistente

Puoi anche aggiungere un file a un file zip preesistente. Usa la seguente sintassi per farlo:

$ zip -u zip_file filename

Supponiamo che tu abbia un file zip (files1.cerniera lampo) e vuoi includere un altro file (testfile4.TXT) in esso, il comando, in questo caso, sarebbe:

$ zip -u files1.zip testfile4.TXT

Rimuovere un file da un file zip

Allo stesso modo, puoi anche rimuovere un file da un file zip già esistente. Usa la seguente sintassi per farlo:

$ zip -d zip_file nome file

Supponiamo che tu abbia un file zip (files1.cerniera lampo) e vuoi rimuovere un file (testfile1.TXT) da esso, il comando, in questo caso, sarebbe:

$ zip -d files1.zip testfile1.TXT

File zip in modalità Quiet

Se non si desidera visualizzare l'uscita del comando zip, utilizzare l'opzione -q (silenziosa) con il comando zip come segue:

$ zip -q zip_file nome file

Ad esempio, durante la zip del file di test.txt, è possibile sopprimere l'output con il seguente comando:

$ zip -q test.zip testfile.TXT

Nella seguente screenshot, è possibile vedere l'output del comando zip che non è stato visualizzato sul terminale.

Eliminazione di file originali dopo lo zipping

Per impostazione predefinita, Zip mantiene il file originale insieme al file compresso. Tuttavia, usando il -M Opzione con il comando zip, è possibile eliminare i file originali dopo aver creato il loro file zippato.

$ zip -m zip_file nome file

Ad esempio, il seguente comando eliminerà il Testfile.TXT Dopo aver creato il suo file zippato, test.cerniera lampo.

$ zip -m test.zip testfile.TXT

Directory zip

Per zip directory nel tuo sistema Linux, usa il -R Opzione (ricorsiva) con il comando zip. IL -R l'opzione sfrutterà le directory in modo ricorsivo, io.e., compresi i contenuti delle sottodirectory.

$ zip -r zip_file DirectoryName

Ad esempio, per zip il Documenti directory ricorsivamente al test.cerniera lampo file, il comando sarebbe:

$ zip -r test.documenti zip/

Questo comando comprimerà la directory dei documenti, insieme a tutte le sottodirectory e i file inclusi al suo interno.

Impostazione del livello di compressione

È inoltre possibile impostare il livello di compressione da applicare ai file che vengono zip. Il livello di compressione varia da 0 a 9, dove 6 è il valore predefinito, 0 è il valore più basso e 9 è il valore più alto di compressione.

Ad esempio, per compensare tutti i file di testo a files1.cerniera lampo Usando il valore di compressione più elevato, il comando sarebbe:

$ zip -9 files1.cerniera lampo *.TXT


Allo stesso modo, per compensare tutti i file di testo a file2.cerniera lampo usando il valore di compressione più basso -0, Il comando sarebbe:

$ zip -0 files2.cerniera lampo *.TXT


Quello che segue è l'output del ls comando dopo aver creato i file zip. Se confrontiamo le dimensioni di entrambi i file ZIP, è possibile visualizzare file1.Zip, che è stato compresso usando il livello di compressione 9, ha meno dimensioni rispetto ai files2.Zip, che è stato compresso usando il livello di compressione 0.

Crea un file zip protetto da password

È inoltre possibile creare file ZIP protetti da password utilizzando il -e Opzione con il comando zip come segue:

$ zip -e zip_file nome file

Ad esempio, il seguente comando riempirà tutti i file di testo in file3.cerniera lampo, Quindi chiedi una password. Imposta qualsiasi password e premi Invio. Quindi verificare questa password re -tyingla e premendo Invio.

$ zip -e files3.cerniera lampo *.TXT

Aggiunta di password ai file zip con zipcloak

Nell'esempio precedente, abbiamo creato un file Zip protetto da password. Ma cosa succede se hai creato un file zip e hai dimenticato di impostare la password. Con il comando zipcloak, è possibile impostare una password su un file zip in qualsiasi momento.

$ zipcloak zip_file

Ad esempio, per impostare una password su un file zip già creato chiamato File.cerniera lampo, Il comando sarebbe:

$ zipcloak file.cerniera lampo

Ti verrà chiesto una password. Digitare qualsiasi password e premere accedere. Quindi verificare questa password re-dittarla e premendo accedere.

Visualizza i dettagli del file con il comando zipdetails

Il comando zipdetails mostra informazioni dettagliate sul file zippato. Le informazioni che visualizzano riguarda la struttura dei record piuttosto che i dati compressi. Per trovare informazioni dettagliate sul file zippato, digita zipdetails seguito dal nome del file zippato, come mostrato di seguito:

$ zipdetails zip_file

Ad esempio, per trovare informazioni dettagliate su un file zippato, test.cerniera lampo, Il comando sarebbe:

$ zipdetails test.cerniera lampo

Nell'output, vedrai molte informazioni sul tuo file zippato.

Cerca all'interno del file con il comando zipgrep

Il comando ZipGrep ci consente di cercare un determinato testo all'interno dei file all'interno del file zippato senza estrarlo. Se un file zip è protetto da password, dovrai prima inserire la password per esso. Per cercare il testo all'interno del file zip, utilizzare la seguente sintassi:

$ zipgrep espressione zip_file

Ad esempio, per cercare quali file all'interno del file zip test.cerniera lampo contiene la parola gateway, Il comando sarebbe:

$ zipgrep gateway test.cerniera lampo

L'output è il seguente. Puoi vedere due file iplist.testo E iplist dentro il test.cerniera lampo contiene la parola gateway.


Per cercare un testo da un file specifico all'interno del file zip, puoi anche aggiungerlo:

$ zipgrep espressione zip_file file

Ad esempio, il seguente comando cercherà la parola gateway solo da un file specifico iplist All'interno del file zip test.cerniera lampo:

$ zipgrep gateway test.documento zip/docs/iplist

Visualizza le informazioni con il comando zipinfo

Il comando ZipInfo in Linux elenca i file contenuti in un file Zip insieme alle loro autorizzazioni, tipo di compressione, dimensioni originali, data e ora. Per visualizzare le informazioni su un file zip specifico, digita zipinfo seguito dal nome del file, come mostrato di seguito:

$ zipinfo fileName

Il comando seguente visualizzerà informazioni sul file zip files1.cerniera lampo:

$ zipinfo files1.cerniera lampo

Dividi il file con il comando zipsplit

A volte, la dimensione del file zip è troppo grande da non poter caricarlo o inviarlo come allegato a causa delle restrizioni delle dimensioni. Con il comando zipsplit, è possibile dividere i file zip in file più piccoli che sono più facili da trasferire. Per dividere un file zip in file più piccoli, con dimensioni non più lungo di, la sintassi sarebbe:

$ zipsplit -n file zip

IL è la dimensione massima per i file divisi.

Ad esempio, il comando seguente si divide test.cerniera lampo in file più piccoli con dimensioni non più lunghe di 104857600 byte (104 MB).

$ zipsplit -n 104857600 test.cerniera lampo

Ecco l'output del comando sopra. IL test.cerniera lampo Il file è diviso in tre file, che sono denominati in sequenza come Test1.cerniera lampo, test2.cerniera lampo, E Test3.cerniera lampo, rispettivamente.

Se esegui il ls comando, vedrai tutti e tre i file zip divisi, insieme al file zip originale.

Aggiungi o visualizza i commenti in un file zip con zipnote

Con il comando zipnote, puoi aggiungere, visualizzare e modificare i commenti nel tuo file zip. Per visualizzare i commenti, utilizzare il seguente comando:

$ zipnote zip_file

Sostituisci il cerniera lampo file Con il tuo effettivo nome del file zip.

Se non ci sono commenti, vedrai la seguente vista predefinita:


Per aggiungere commenti, in primo luogo, dovrai reindirizzare l'output di zipnote al file dei commenti. Usa il seguente comando per farlo:

$ zipnote zip_file> commenti

Ad esempio, per aggiungere commenti a files1.cerniera lampo, Il comando sarebbe:

$ zipnote files1.zip> commenti

Ora, modifica il Commenti File usando il seguente comando:

$ sudo nano commenti

Per ogni file, aggiungi i tuoi commenti sopra le righe che dicono @ (commento sopra questa riga),Quindi salva ed esci dal file. Abbiamo aggiunto due commenti nel file dei commenti, come mostrato evidenziato nello screenshot qui sotto.


Ora scrivi i commenti sul tuo file zip con il seguente comando:

$ zipnote -w zip_file < comments

Nel nostro caso, il comando sarebbe;

$ zipnote -w files1.cerniera lampo < comments

Ora, puoi verificare se i commenti sono stati aggiunti emettendo il seguente comando in terminale:

$ zipnote zip_file

Visualizza aiuto

Per visualizzare l'aiuto per quanto riguarda il comando zip, utilizzare il seguente comando:

$ zip - -help

Puoi anche visitare la pagina MIP Utility Man utilizzando il seguente comando:

$ Man Zip

Comando Unzip in Linux

Con il comando Unzip, puoi facilmente estrarre il contenuto da un file zip. Per decomprimere un file, utilizzare la seguente sintassi:

$ options Unzip zip_file

Decomposizione singoli file zip

Per decomprimere un singolo file zip, diciamo test.zip, il comando sarebbe:

$ Unzip Test.cerniera lampo

Sceglierà il file nella directory corrente.

Decomprimere un file in una directory diversa

Puoi anche decomprimere un file per un'altra directory anziché la directory corrente utilizzando l'opzione -D come segue:

$ unzip zip_file -d/path/to/directory

Per decomprimere un file zip, test.cerniera lampo A Documenti, directory, il comando sarebbe:

$ Unzip Test.zip -d documenti/

Decomprimere più file

Considera che ci sono più file zip in una directory corrente che desideri decomprimere. Puoi decomprimere tutti usando un singolo comando come segue:

$ unzip '*.cerniera lampo'

Questo comando decomprimerà tutti i file zip che risiedono nella directory corrente.

Sopprimere l'output quando si utilizza unzip

Simile al comando zip, puoi anche nascondere l'output del comando Unzip usando il -Q Opzione come segue:

$ unzip -q zip_file

Escludi i file utilizzando Unzip

Se vuoi decomprimere un file zip ma non si desidera estrarre un file specifico, usa il -X Opzione di seguito:

$ unzip zip_file -x nome file

Ad esempio, abbiamo una zip Filetest.cerniera lampo contenente tre file al suo interno. Il comando seguente decomprimerà tutti i file tranne l'unico file rapporto.TXT:

$ Unzip Test.rapporto zip -x.TXT

Disegni zip protetti da password-password

Per decomprimere un file zip protetto da password senza suggerire, utilizzare -P Opzione, seguita dalla password per il file:

$ unzip -p file zip

Ad esempio, abbiamo un file zip, test.cerniera lampo, che è protetto dalla password "lattina". Per estrarre questo file, il comando sarebbe:

$ unzip -p test di stagno.cerniera lampo

Sovrascrittura di file zip

Se stai decomprimendo un file in una posizione in cui esistevano già i file estratti, ti verrà richiesto: sovrascrivere il file corrente, saltare la decomposizione del file corrente, sovrascrivere tutti i file, saltare la decomposizione di tutti i file o rinominare il file.


Per sovrascrivere tutti i file esistenti senza suggerire, usa il -o Opzione come segue:

$ unzip -o zip_file

Elenca il contenuto di una zip

Usando il -l Opzione con il comando Unzip, è possibile elencare il contenuto di un file zip senza estrarlo.

$ unzip -l zip_file

Esempio:

$ unzip -l test.cerniera lampo

Di seguito è riportato l'output del comando sopra che elenca i file contenuti nel file zip test.cerniera lampo, Insieme ai loro nomi, dimensioni del file originale, data e timestamps.

Visualizza informazioni verbose

Per visualizzare le informazioni verbose senza estrarre il file zip, utilizzare l'opzione -v come segue:

$ unzip -v zip_file

Esempio:

$ Unzip -v Test.cerniera lampo

Di seguito è riportato l'output del comando sopra che elenca i file contenuti all'interno del test.cerniera lampo, Insieme ai loro nomi, dimensioni del file originale, dimensioni compresse, metodo di compressione, rapporto di compressione, data e timestamp.

Verificare gli errori in un archivio

Con l'opzione -t nel comando Unzip, è possibile verificare se un file zip è valido e non contiene errori.

$ unzip -t test1.cerniera lampo

Esempio:

$ unzip -t test1.cerniera lampo

Il comando sopra controllato per errori in Test1.cerniera lampo file e visualizza i risultati. Il seguente output mostra che non vi è alcun errore nel file compresso.

Visualizza aiuto

Per visualizzare l'aiuto per quanto riguarda il comando Unzip, utilizzare il comando seguente:

$ Unzip - -Help

Puoi anche visitare la pagina del Man Utility Man utilizzando il seguente comando:

$ man decombe

Conclusione

Questo è tutto ciò che devi sapere per padroneggiare i comandi zip e decomposizione in Linux. In questo articolo, abbiamo discusso in dettaglio l'uso di comandi Zip e Unzip in Linux insieme a varie opzioni ed esempi di riga di comando.