Comando bunzip2 Linux: come usarlo

Cosa sapere

  • Usa l'opzione di comando -c --stdout per comprimere/decomprimere nell'output standard e -d --decomprimere forzare la decompressione.
  • Utilizzo -t --test per verificare l'integrità dei file specificati. Utilizzo -f --force per forzare la sovrascrittura dei file di output. Utilizzo -k --keep per conservare i file di input.
  • Utilizzo -s --piccolo per ridurre l'utilizzo della memoria e -q --quiet per sopprimere i messaggi di avviso. Utilizzo -v --verboso per mostrare i rapporti di compressione dei file.

Questo articolo spiega come usare il Linux bunzip2 comando, che è un compressore di file per l'ordinamento dei blocchi che può essere utilizzato sia per comprimere che per decomprimere i dati. Quando esegui il bzip2 comando senza alcuna opzione, il sistema comprime i dati per impostazione predefinita. bunzip2 decomprime di default, e bzcat si decomprime su stdout.

Opzioni di comando di Bunzip2 Linux

Elenco delle opzioni di comando di bunzip2
Opzione Spiegazione
-c --stdout Comprimi o decomprimi sull'output standard.
-d --decomprimere Decompressione forzata. bzip2, bunzip2 e bzcat sono in realtà lo stesso programma e la decisione su quali azioni intraprendere viene eseguita in base al nome utilizzato. Questo flag sovrascrive quel meccanismo e forza la decompressione di bzip2.
-z --comprimi Il complemento a -d: forza la compressione, indipendentemente dal nome della chiamata.
-t --test Controlla l'integrità dei file specificati, ma non decomprimerli. Questo esegue davvero una decompressione di prova e butta via il risultato.
-f --force

Forza la sovrascrittura dei file di output. Normalmente, bzip2 non sovrascriverà i file di output esistenti. Forza anche bzip2 a interrompere i collegamenti reali ai file, cosa che altrimenti non farebbe.

bzip2 normalmente rifiuta di decomprimere i file che non hanno i byte magici di intestazione corretti. Se forzato (-f), tuttavia, passerà tali file senza modifiche. Ecco come si comporta GNU gzip.

-k --keep Conserva (non eliminare) i file di input durante la compressione o la decompressione.
-s --piccolo

Riduci l'utilizzo della memoria per compressione, decompressione e test. I file vengono decompressi e testati utilizzando un algoritmo modificato che richiede solo 2,5 byte per byte di blocco. Ciò significa che qualsiasi file può essere decompresso in 2300k di memoria, anche se a circa la metà della velocità normale.

Durante la compressione, -s seleziona una dimensione del blocco di 200k, che limita l'utilizzo della memoria a circa la stessa cifra, a spese del rapporto di compressione. In breve, se la tua macchina ha poca memoria (8 megabyte o meno), usa -s per tutto. Vedere GESTIONE DELLA MEMORIA di seguito.

-q --quiet Elimina i messaggi di avviso non essenziali. I messaggi relativi a errori di I/O e altri eventi critici non verranno eliminati.
-v --verboso verboso mode -- mostra il rapporto di compressione per ogni file elaborato. Ulteriori -v aumentano il livello di verbosità, emettendo molte informazioni che sono principalmente di interesse per scopi diagnostici.
-L --licenza Visualizza la versione del software, i termini e le condizioni della licenza.
-V --versione
Visualizza la versione del software, i termini e le condizioni della licenza.
-1 o -9

Imposta la dimensione del blocco su 100 k, 200 k.. 900 k durante la compressione. Non ha effetto durante la decompressione.
--veloce (alias per -1) e --migliore (alias per -9) sono principalmente per la compatibilità con GNU gzip. In particolare, --veloce non rende le cose significativamente più veloci. e --migliore seleziona semplicemente il comportamento predefinito.

Tratta tutti gli argomenti successivi come nomi di file, anche se iniziano con un trattino. In questo modo puoi gestire file con nomi che iniziano con un trattino, ad esempio: bzip2 -- -mionomefile.

--ripetitivo-veloce e --ripetitivo-migliore sono ridondanti nelle versioni 0.9.5 e successive. Fornivano un controllo approssimativo sul comportamento dell'algoritmo di ordinamento nelle versioni precedenti, che a volte era utile. 0.9.5 e versioni successive hanno un algoritmo migliorato che rende questi flag irrilevanti.

Utilizzare il comando uomo (% uomo) per vedere come viene utilizzato un comando sul tuo particolare computer.

Esplorare la compressione di bunzip2

bzip2 comprime i file utilizzando l'algoritmo di compressione del testo di ordinamento a blocchi di Burrows-Wheeler e la codifica di Huffman. Compressione è generalmente notevolmente migliore di quello ottenuto dai compressori più convenzionali basati su LZ77/LZ78 e si avvicina alle prestazioni della famiglia di compressori statistici PPM.

Le opzioni della riga di comando sono volutamente molto simili a quelle di GNU gzip, ma non sono identici.

bzip2 si aspetta un elenco di nomi di file che accompagni i flag della riga di comando. Ogni file viene sostituito da una versione compressa di se stesso, con il nome "nome_originale.bz2". Ogni file compresso ha la stessa data di modifica, permessi e, quando possibile, proprietà dell'originale corrispondente, in modo che queste proprietà possano essere ripristinate correttamente al momento della decompressione.

Linux bunzip2

Quando usare il flag -f

La gestione dei nomi dei file è ingenua, nel senso che non esiste un meccanismo per preservare i nomi dei file originali, i permessi, proprietà o date in filesystem che mancano di questi concetti o che hanno serie restrizioni sulla lunghezza dei nomi dei file, come ad esempio MS-DOS.

bzip2 e bunzip2 per impostazione predefinita non sovrascriverà i file esistenti. Se vuoi che ciò accada, specifica il -F bandiera.

Se non vengono specificati nomi di file, bzip2 comprime dallo standard input allo standard output. In questo caso, bzip2 rifiuterà di scrivere l'output compresso su un terminale poiché ciò sarebbe del tutto incomprensibile e quindi inutile.

Linux bunzip2 più file

bunzip2 (o bzip2 -d) decomprime tutti i file specificati. File che non sono stati creati da bzip2 verrà rilevato e ignorato e verrà emesso un avviso. bzip2 tenta di indovinare il nome del file decompresso da quello del file compresso come segue:

  • nomefile.bz2 diventa nomefile
  • nomefile.bz diventa nomefile
  • nomefile.tbz2 diventa nomefile.tar
  • nomefile.tbz diventa nomefile.tar
  • anyothername diventa anyothername.out

Se il file non finisce in uno dei riconosciuti estensioni di fileBZ2, BZ, TBZ2, o TBZbzip2 si lamenta di non poter indovinare il nome del file originale e usa il nome originale con .fuori allegato.

Linux bunzip2 decomprime il tarball

Come con la compressione, non fornire un nome file provoca la decompressione dallo standard input allo standard output.

bunzip2 decomprimerà correttamente un file che è la concatenazione di due o più file compressi. Il risultato è la concatenazione dei corrispondenti file non compressi. Test di integrità (-T) di file compressi concatenati è supportato.

Utilizzo del flag -c per l'output standard

Puoi anche comprimere o decomprimere i file nell'output standard dando il -C bandiera. Più file possono essere compressi e decompressi in questo modo. Le uscite risultanti vengono inviate in sequenza allo stdout. La compressione di più file in questo modo genera un flusso contenente più rappresentazioni di file compressi.

Tale flusso può essere decompresso correttamente solo da bzip2versione 0.9.0 o successiva. Versioni precedenti di bzip2 si fermerà dopo aver decompresso il primo file nel flusso.

bzip2 Decompressione

bzcat (o bzip2 -dc) decomprime tutti i file specificati nell'output standard.

bzip2 leggerà gli argomenti dalle variabili d'ambiente BZIP2 e BZIP, in quell'ordine e li elaborerà prima di qualsiasi argomento letto dalla riga di comando. Questo fornisce un modo conveniente per fornire argomenti predefiniti.

La compressione viene sempre eseguita, anche se il file compresso è leggermente più grande dell'originale. I file di meno di circa 100 byte tendono a diventare più grandi perché il meccanismo di compressione ha un sovraccarico costante nella regione di 50 byte. I dati casuali (incluso l'output della maggior parte dei compressori di file) sono codificati a circa 8,05 bit per byte, con un'espansione di circa lo 0,5 percento.

bzip2 e CRC

Come autocontrollo per la tua protezione, bzip2 utilizza CRC a 32 bit per assicurarsi che la versione decompressa di un file sia identica all'originale. Questo protegge dalla corruzione dei dati compressi e da bug non rilevati in bzip2 (spero molto improbabile).

Le possibilità che il danneggiamento dei dati non venga rilevato è microscopico, circa una possibilità su quattro miliardi per ogni file elaborato. Tieni presente, tuttavia, che il controllo si verifica al momento della decompressione, quindi può solo dirti che qualcosa non va. Non può aiutarti a recuperare i dati originali non compressi.

Puoi usare bzip2recover per cercare di recuperare i dati da file danneggiati.