Come comprimere o Decomprimere i File Dal Terminale Linux

0
65

I file ZIP sono un universale archivio comunemente utilizzato su Windows, macOS, e anche i sistemi Linux. È possibile creare un archivio zip o decomprimere i file da uno con alcuni comuni Linux comandi da terminale.

ZIP File di Archivio Compresso in Formato

Grazie per il predominio del formato ZIP in Windows regno, i file ZIP sono probabilmente la più comune forma di archivio compresso in tutto il mondo.

Mentre .tar.gz e catrame.i file bz2 sono comuni su Linux, gli utenti di Windows probabilmente si invia un archivio in formato ZIP. E, se si desidera archiviare alcuni file e li invia ad un utente di Windows, il formato ZIP sarà il modo più semplice e maggiormente compatibili soluzione per tutti.

CORRELATI: Come Estrarre File Da un .tar.gz o .tar.File bz2 su Linux

zip, unzip, e Altre Utilità

Si può già sapere che Linux e sistemi operativi Unix-like come macOS hanno gli strumenti per consentire di creare file ZIP ed estrarre i file, chiamato zip e unzip. Ma c’è un’intera famiglia di utilità come zipcloak, zipdetails, zipsplit , e zipinfo.

Abbiamo controllato alcune distribuzioni di Linux per vedere se hanno incluso questi programmi di utilità per l’installazione standard. Tutte le utenze sono presenti in Ubuntu 19.04, 18.10, e 18.04. Erano anche presenti in Manjaro 18.04. Fedora 29 incluso zip e unzip, ma nessuna delle altre utilità e che è stato anche il caso di CentOS.

Per installare gli elementi mancanti su Fedora 29, utilizzare il seguente comando:

sudo dnf installare perl-IO-Compress

Per installare gli elementi mancanti su CentOS 7, utilizzare il seguente comando:

sudo yum install perl-IO-Compress

Se uno qualsiasi di utilità di compressione sono mancanti da una distribuzione di Linux che non è stato menzionato sopra, che distribuzione di Linux strumento di gestione dei pacchetti per installare il pacchetto richiesto.

Come Creare un File ZIP con zip Comando

Per creare un file ZIP, è necessario indicare zip il nome del file di archivio di file. Non c’è bisogno di aggiungere “.zip” estensione del nome di archivio, ma non fa male se si fa.

Per creare un file chiamato source_code.zip contenente tutto il codice sorgente in C file di intestazione e file nella directory corrente, è necessario utilizzare questo comando:

zip source_code *.c *.h

Ogni file è elencato come ha aggiunto. Il nome del file e la quantità di compressione che è stato raggiunto su che file è mostrato.

Se si guarda il nuovo archivio ZIP, si può vedere che l’ “.zip” estensione del file è stato aggiunto automaticamente da zip.

ls -l source_code.zip

Se non si desidera vedere l’uscita dall’zip come viene creato il file ZIP, usare l’opzione-q (tranquilla).

zip -q source_code *.c *.h

Tra le Directory nel File ZIP

Per includere sub-directory nel file ZIP, usare l’opzione-r (ricorsiva) e includere il nome del sub-nella riga di comando. Per creare un file ZIP come prima e comprendono anche l’archivio sub-directory, è possibile utilizzare questo comando.

zip -r -q source_code archivio/ *.c *.h

Di essere rispettoso per la persona che sarà l’estrazione dei file dal file ZIP che si sta creando, è spesso educato per creare file ZIP con i file all’interno è contenuta in una directory. Quando la persona che riceve il file ZIP estrae tutti i file sono posizionati ordinatamente all’interno di una cartella sul proprio computer.

Il comando seguente, abbiamo intenzione di archiviare la directory di lavoro e tutte le sotto-directory. Si noti che questo comando non viene rilasciato dalla directory principale della cartella di lavoro.

zip -r -q source_code lavoro/

L’impostazione del Livello di Compressione

È possibile impostare la quantità di compressione applicata al file che vengono aggiunti all’archivio ZIP. Il range va da 0 a 9, 0 compressione. Maggiore è la compressione, il tempo necessario per creare il file ZIP. Per di medie dimensioni file ZIP, la differenza di tempo non è una significativa penalizzazione. Ma poi, per di medie dimensioni file ZIP, la compressione di default (livello 6) è probabilmente abbastanza buono comunque.

Per ottenere zip per l’utilizzo di uno specifico livello di compressione, passare il numero come un’opzione della riga di comando, con un “-“, come questo:

zip -0 -r -q source_code lavoro/

Il valore predefinito livello di compressione è di 6. Non c’è bisogno di fornire l’opzione -6, ma non farà nulla di male se si fa.

zip -r -q source_code lavoro/

Il massimo livello di compressione è di livello 9.

zip -9 -r -q source_code lavoro/

Con la selezione di file e cartelle archiviati qui, la differenza tra compressione (livello 0) e la compressione di default (livello 6) è 400K. La differenza tra la compressione di default e il più alto livello di compressione (livello 9) è solo 4K.

Che potrebbe non sembrare molto, ma per gli archivi che contengono centinaia o addirittura migliaia di file, la piccola quantità di extra di compressione per file sarebbe aggiungere fino a un utile risparmio di spazio.

L’aggiunta di Password per i File ZIP

L’aggiunta di password per i file ZIP è facile. Utilizzare l’opzione-e (encrypt) e ti verrà richiesto di immettere la password e immettere nuovamente per la verifica.

zip -e-r -q source_code lavoro/

Come Decomprimere un File ZIP Con il Comando unzip

Per estrarre i file dal file ZIP, utilizzare il comando unzip, e fornire il nome del file ZIP. Si noti che è necessario fornire “.zip” estensione.

unzip source_code.zip

Come vengono estratti i file sono elencati nella finestra di terminale.

I file ZIP non portano i dettagli delle proprietà del file. Tutti i file estratti sono il proprietario l’utente che è l’estrazione di loro.

Proprio come zip, unzip ha a-q (tranquilla) opzione, in modo che non è necessario per visualizzare l’elenco di file come i file vengono estratti.

unzip-q source_code.zip

L’estrazione dei File, alle Directory di Destinazione

Per avere i file estratti in una determinata directory, utilizzare l’opzione-d (directory) opzione e specificare il percorso della directory in cui si desidera che l’archivio venga estratta.

unzip-q source_code.zip -d ./sviluppo

Estrarre il File ZIP Protetto da Password

Se un file ZIP è stato creato con una password per decomprimere ti chiederà la password. Se non fornire la password corretta, unzip non estrarre i file.

unzip-q source_code.zip

Se non vi interessa la tua password di essere visto da altri—né su di esso archiviati nella vostra storia di comando—è in grado di fornire la password sulla riga di comando con l’opzione-P (password). (È necessario utilizzare un capitale “P.”)

unzip-P cinquanta.melassa.sciabola -q source_code.zip

Esclusione Di File

Se non si desidera estrarre un particolare file o gruppo di file, utilizzare l’opzione-x (escludere). In questo esempio, si desidera estrarre tutti i file tranne quelli che terminano in “.h” estensione.

unzip-q source_code.zip -x *.h

Sovrascrivere I File

Si supponga di estrarre un archivio, ma è stato eliminato un paio di estratti i file per errore.

Una soluzione rapida per questo sarebbe per estrarre i file, ancora una volta. Ma se si tenta di estrarre il file ZIP nella stessa directory come prima, decomprimere richiederà una decisione in materia di sovrascrivere i file. Si prevede una delle seguenti risposte.

A parte la r (rinominare) la risposta, queste risposte sono case sensitive.

  • y: Sì, sovrascrivere questo file
  • n: No, non sovrascrivere questo file
  • A: Tutti, sovrascrivere tutti i file
  • N: Nessuno, sovrascrivere nessun file
  • r: Rinominare, estrarre questo file, ma dare un nuovo nome. Ti verrà chiesto di immettere un nuovo nome.

A forza di decomprimere per sovrascrivere i file esistenti utilizzare l’opzione-o (sovrascrivere).

unzip-o-q source_code.zip

Il modo più efficiente per sostituire i file mancanti sarebbe decomprimere solo estrarre tutti i file contenuti nell’archivio che non sono nella directory di destinazione. Per fare questo, utilizzare l’opzione-n (non sovrascrivere mai).

unzip-n source_code.zip

Guardando all’Interno di un File ZIP

Spesso è utile e istruttivo vedere un elenco dei file all’interno di un file ZIP prima di estrarlo. Si può fare questo con l’opzione-l (archivio della lista). È convogliato attraverso meno per rendere l’uscita gestibile.

unzip-l source_code.zip | meno

L’output mostra le directory e i file all’interno del file ZIP, la loro lunghezza e l’ora e la data in cui sono stati aggiunti all’archivio. Premere il tasto “q” per uscire da meno.

Ci sono altri modi per sbirciare all’interno di un file ZIP che forniscono diversi tipi di informazioni, come vedremo.

Aggiungere una Password Con il Comando zipcloak

Se hai creato un file ZIP, ma ha dimenticato di aggiungere una password, cosa si può fare? È possibile aggiungere rapidamente una password per il file ZIP utilizzando il zipcloak comando. Passare il nome del file ZIP nella riga di comando. Verrà richiesto di immettere una password. È necessario verificare la password una seconda volta.

zipcloak source_code.zip

Visualizzare i Dettagli del File Con il Comando zipdetails

Il zipdetails comando visualizza un sacco di informazioni riguardanti il file ZIP. L’unico modo sensato per gestire la quantità di output di questo comando può dare è quello di tubo attraverso di meno .

zipdetails source_code.zip | meno

Si noti che le informazioni includono nomi di file, anche se il file ZIP protetto da password. Questo tipo di informazioni vengono memorizzate all’interno del file ZIP come meta-dati e non fa parte dei dati criptati.

Ricerca all’Interno dei File Con il Comando zipgrep

Il zipgrep comando permette di cercare all’interno dei file in un file ZIP. Nel seguente esempio, si desidera sapere quali file all’interno del file ZIP con il testo “keyval.h” in loro.

zipgrep keyval.h source_code.zip

Possiamo vedere che il file di slang.c e getval.c contengono la stringa “keyval.h”.Possiamo anche vedere che ci sono due copie di ciascuno di questi file in diverse cartelle nel file ZIP.

Visualizzare le Informazioni Con il Comando zipinfo

Il zipinfo comando vi è ancora un altro modo di guardare all’interno di un file ZIP. Come prima, abbiamo il tubo di uscita attraverso meno.

zipinfo source_code.zip | meno

Da sinistra a destra l’output mostra:

  • Le autorizzazioni per il file
  • La versione dello strumento utilizzato per creare il file ZIP
  • Le dimensioni del file originale
  • Un descrittore di file (descritto di seguito)
  • Il metodo di compressione (deflazione, in questo caso)
  • La data e l’ora del timbro
  • Il nome del file e qualsiasi directory

Il descrittore di file è composta di due caratteri. Il primo carattere sarà una “t” o “b” per indicare un testo o un file binario. Se è una lettera maiuscola, il file è crittografato. Il secondo personaggio potrebbe essere uno dei quattro personaggi. Questo personaggio rappresenta ciò che tipo di meta-dati sono inclusi in questo file: nessuno, un locale esteso intestazione, un “campo”, o entrambi.

  • -: Se non esiste, il personaggio sarà un trattino
  • l: se c’è un locale esteso intestazione, ma non extra campo
  • x: se non c’è estesa locale di intestazione, ma c’è un altro campo
  • X: se c’è un locale esteso intestazione e c’è un campo extra

Dividere il File Con il Comando zipsplit

Se avete bisogno di inviare il file ZIP a qualcun altro, ma non ci sono restrizioni di dimensione o problemi con la trasmissione del file, è possibile utilizzare il zipsplit comando per tagliare l’originale file ZIP in una serie di piccoli file ZIP.

L’-n (dimensione) opzione consente di impostare una dimensione massima per ogni file ZIP. In questo esempio, stiamo dividendo il source_code.zip file. Non vogliamo di nuovo i file ZIP per essere più grande di 100 KB (102400 byte).

zipsplit -n 102400 source_code.zip

La dimensione che si sceglie non può essere inferiore alla dimensione di un file in un file ZIP.

L’utilizzo di questi comandi, è possibile creare il proprio file ZIP, decomprimere i file ZIP che si ricevono, e di effettuare le varie operazioni su di essi, senza mai lasciare il terminale di Linux.