GNU/Linux >> Linux Esercitazione >  >> Linux

Come comprimere e decomprimere file in Linux

La compressione è molto utile quando si esegue il backup di file importanti e si inviano anche file di grandi dimensioni su Internet. In questo tutorial, discuteremo come comprimere e decomprimere i file in Linux utilizzando due programmi a riga di comando, vale a dire gzip e bzip2 .

Nota:

La compressione di un file già compresso aggiunge un sovraccarico aggiuntivo, quindi otterrai un file leggermente più grande. Quindi, smetti di comprimere un file compresso.

Comprimi e decomprimi file in Linux

Come già detto, i programmi più comunemente usati comprimono i file nei sistemi Linux e simili a Unix sono:

  1. zip
  2. bzip2

Per prima cosa, vedremo l'utilizzo di Gzip.

1. Comprimi e decomprimi i file usando il programma Gzip

gzip è un'utilità per comprimere e decomprimere file utilizzando l'algoritmo di codifica Lempel-Ziv (LZ77).

1.1 Comprimi file

Per comprimere un file denominato otechnix.txt , sostituendolo con una versione compressa con gzip, esegui:

$ gzip ostechnix.txt

Gzip sostituirà il file originale otechnix.txt con una versione compressa con gzip denominata otechnix.txt.gz .

Il comando gzip può essere utilizzato anche in altri modi. Un ottimo esempio è che possiamo creare una versione compressa dell'output di un comando specifico. Guarda il seguente comando.

$ ls -l Downloads/ | gzip > ostechnix.txt.gz

Il comando precedente crea una versione compressa dell'elenco delle directory della cartella Download.

1.2 Comprimi i file e scrivi l'output in file diversi (non sostituire il file originale)

Per impostazione predefinita, il programma gzip comprimerà il file specificato, sostituendolo con una versione compressa con gzip. È tuttavia possibile mantenere il file originale e scrivere l'output nello standard output. Ad esempio, il comando seguente comprime otechnix.txt e scrive l'output in output.txt.gz .

$ gzip -c ostechnix.txt > output.txt.gz

Allo stesso modo, per decomprimere un file gzippato specificando il nome del file di output:

$ gzip -c -d output.txt.gz > ostechnix1.txt

Il comando precedente decomprime output.txt.gz file e scrive l'output in otechnix1.txt file. In entrambi i casi, non cancellerà il file originale.

1.3 Decomprimi i file

Per decomprimere il file otechnix.txt.gz , sostituendolo con la versione originale non compressa, facciamo:

$ gzip -d ostechnix.txt.gz

Possiamo anche usare gunzip per decomprimere i file.

$ gunzip ostechnix.txt.gz

1.4 Visualizza i contenuti dei file compressi senza decomprimerli

Per visualizzare il contenuto del file compresso usando gzip senza decomprimerlo, usa -c flag come mostrato di seguito:

$ gunzip -c ostechnix1.txt.gz

In alternativa, usa zcat utilità come di seguito.

$ zcat ostechnix.txt.gz

Puoi anche reindirizzare l'output al comando "less" per visualizzare l'output pagina per pagina come di seguito.

$ gunzip -c ostechnix1.txt.gz | less
$ zcat ostechnix.txt.gz | less

In alternativa, c'è uno zless programma che svolge la stessa funzione della pipeline precedente.

$ zless ostechnix1.txt.gz

1.5 Comprimi il file con gzip specificando il livello di compressione

Un altro notevole vantaggio di gzip è che supporta il livello di compressione. Supporta 3 livelli di compressione come indicato di seguito.

  • 1 - Il più veloce (peggiore)
  • 9 - Più lento (migliore)
  • 6 - Livello predefinito

Per comprimere un file denominato otechnix.txt , sostituendolo con una versione compressa gzippata con best livello di compressione, utilizziamo:

$ gzip -9 ostechnix.txt

1.6 Concatena più file compressi

È anche possibile concatenare più file compressi in uno solo. Come? Dai un'occhiata al seguente esempio.

$ gzip -c ostechnix1.txt > output.txt.gz
$ gzip -c ostechnix2.txt >> output.txt.gz

I due comandi precedenti comprimeranno ostechnix1.txt e ostechnix2.txt e li salveranno in un file chiamato output.txt.gz .

Puoi visualizzare il contenuto di entrambi i file (ostechnix1.txt e ostechnix2.txt) senza estrarli utilizzando uno dei seguenti comandi:

$ gunzip -c output.txt.gz
$ gunzip -c output.txt
$ zcat output.txt.gz
$ zcat output.txt

Per maggiori dettagli, fare riferimento alle pagine man.

$ man gzip

2. Comprimi e decomprimi i file usando il programma bzip2

Il bzip2 è molto simile al programma gzip, ma utilizza un algoritmo di compressione diverso chiamato algoritmo di compressione del testo per l'ordinamento dei blocchi Burrows-Wheeler e la codifica Huffman. I file compressi utilizzando bzip2 termineranno con .bz2 estensione.

Come ho detto, l'uso di bzip2 è quasi lo stesso di gzip. Sostituisci semplicemente gzip negli esempi precedenti con bzip2 , comprimere con bunzip2 , zcat con bzcat e così via.

Per comprimere un file utilizzando bzip2, sostituendolo con una versione compressa, eseguire:

$ bzip2 ostechnix.txt

Se non vuoi sostituire il file originale, usa -c contrassegnare e scrivere l'output in un nuovo file.

$ bzip2 -c ostechnix.txt > output.txt.bz2

Per decomprimere un file compresso:

$ bzip2 -d ostechnix.txt.bz2

Oppure,

$ bunzip2 ostechnix.txt.bz2

Per visualizzare il contenuto di un file compresso senza decomprimerlo:

$ bunzip2 -c ostechnix.txt.bz2

Oppure,

$ bzcat ostechnix.txt.bz2

Per maggiori dettagli, fare riferimento alle pagine man.

$ man bzip2

Lettura consigliata:

  • Pigz - Comprimi e decomprimi file in parallelo in Linux

Riepilogo

In questo tutorial, abbiamo imparato cosa sono i programmi gzip e bzip2 e come usarli per comprimere e decomprimere file con alcuni esempi in GNU/Linux. Nella prossima guida impareremo come archiviare file e directory in Linux .


Linux
  1. Come comprimere file e directory su Linux (con esempi)

  2. Come comprimere/decomprimere in Linux

  3. Come comprimere ed estrarre file usando il comando tar su Linux?

  4. Come copiare file in Linux e Unix? 10 cp Esempi di comandi

  5. Come comprimere ed estrarre file e directory in Linux usando gzip e bzip2

Come comprimere file e directory in Linux

Pigz:comprimi e decomprimi file in parallelo in Linux

Come installare Rclone in Linux e Unix

Comando tar di Linux – Come comprimere file in Linux

Come Gzip file di grandi dimensioni (100 GB+) più velocemente in Linux

Come installare e utilizzare Pigz per comprimere i file più velocemente in Linux