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. 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.

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.

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 file — BZ2, BZ, TBZ2, o TBZ — bzip2 si lamenta di non poter indovinare il nome del file originale e usa il nome originale con .fuori allegato.

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.