Skip to main content

Bunzip2 - Comando Linux

Compressing with Gzip and Bzip2 in Linux (Giugno 2025)

Compressing with Gzip and Bzip2 in Linux (Giugno 2025)
Anonim

NOME

bzip2, bunzip2 - un compressore di file per l'ordinamento dei blocchi, v1.0.2bzcat: decomprime i file sullo stdoutbzip2recover - recupera i dati dai file bzip2 danneggiati

SINOSSI

bzip2 -cdfkqstvzVL123456789 nomi di file … bunzip2 -fkvsVL nomi di file … bzcat -S nomi di file … bzip2recover nome del file

DESCRIZIONE

bzip2 comprime i file usando l'algoritmo di compressione del testo di ordinamento dei blocchi di Burrows-Wheeler e la codifica di Huffman. La compressione è generalmente notevolmente migliore rispetto a quella ottenuta con i più convenzionali compressori 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 per accompagnare i flag della riga di comando. Ogni file è sostituito da una versione compressa di se stesso, con il nome "original_name.bz2". Ogni file compresso ha la stessa data di modifica, le autorizzazioni e, quando possibile, la proprietà come l'originale corrispondente, in modo che queste proprietà possano essere ripristinate correttamente al momento della decompressione. La gestione dei nomi di file è ingenua nel senso che non esiste un meccanismo per preservare i nomi di file, le autorizzazioni, le proprietà o le date originali nei file system che mancano di questi concetti o che hanno limitazioni di lunghezza del nome del file, come MS-DOS.

bzip2 e bunzip2 per impostazione predefinita non sovrascriverà i file esistenti. Se vuoi che questo accada, specifica il flag -f.

Se non vengono specificati nomi di file, bzip2 comprime dallo standard input all'output standard. In questo caso, bzip2 rifiuterà di scrivere output compresso su un terminale, in quanto 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 file per il file decompresso da quello del file compresso come segue:

nomefile.bz2 diventa nome file 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 finali riconosciuti, .bz2, .bz, .tbz2 o .tbz, bzip2 si lamenta che non può indovinare il nome del file originale e usa il nome originale con .su allegata.

Come per la compressione, non fornire nomi di file causa la decompressione dallo standard input all'output standard.

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

Puoi anche comprimere o decomprimere i file sullo standard output dando il flag -c. File multipli possono essere compressi e decompressi in questo modo. Gli output risultanti vengono alimentati 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 bzip2 versione 0.9.0 o successiva. Versioni precedenti di bzip2 si fermerà dopo aver decompresso il primo file nello stream.

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

bzip2 leggerà argomenti dalle variabili di ambiente BZIP2 e bzip, in questo ordine e li elaborerà prima degli argomenti letti dalla riga di comando. Questo dà un modo conveniente per fornire argomenti predefiniti.

La compressione viene sempre eseguita, anche se il file compresso è leggermente più grande dell'originale. File di meno di un centinaio di byte tendono a diventare più grandi, poiché 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 dello 0,5% circa.

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 dai bug non rilevati in bzip2 (speriamo molto improbabile). Le probabilità che la corruzione dei dati non venga rilevata è microscopica, circa una possibilità su quattro miliardi per ogni file elaborato. Siate consapevoli, tuttavia, che il controllo si verifica in seguito alla decompressione, quindi può solo dirvi che qualcosa non va. Non può aiutarti a recuperare i dati non compressi originali. Puoi usare bzip2recover per cercare di recuperare i dati da file danneggiati.

Valori di ritorno: 0 per un'uscita normale, 1 per problemi ambientali (file non trovato, flag non validi, errori I / O, & c), 2 per indicare un file compresso corrotto, 3 per un errore di coerenza interno (es. Bug) che ha causato bzip2 farsi prendere dal panico.

OPZIONI

-c --stdout

Comprimi o decomprimi in uscita standard.

-d --decompress

Forza decompressione. bzip2, bunzip2 e bzcat sono in realtà lo stesso programma e la decisione su quali azioni intraprendere viene effettuata sulla base del nome utilizzato. Questa bandiera sovrascrive quel meccanismo e le forze bzip2 decomprimere.

-z --compress

Il complemento a -d: forza la compressione, indipendentemente dal nome di chiamata.

-t - test

Verificare l'integrità dei file specificati, ma non decomprimerli. Questo esegue davvero una decompressione di prova e getta via il risultato.

-f --force

Forza la sovrascrittura dei file di output. Normalmente, bzip2 non sovrascriverà i file di output esistenti. Anche forze bzip2 per rompere gli hard link ai file, cosa che altrimenti non farebbe.

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

-k - mantieni

Conserva (non cancella) 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 metà della velocità normale.

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

-q --quiet

Elimina i messaggi di avviso non essenziali. I messaggi relativi agli errori di I / O e altri eventi critici non verranno eliminati.

-v --verbose

Modalità dettagliata: mostra il rapporto di compressione per ogni file elaborato. Inoltre, aumenta il livello di verbosità, spargendo molte informazioni che sono principalmente di interesse per scopi diagnostici.

-L --licenza -V --version

Visualizza la versione del software, i termini e le condizioni della licenza.

-1 (o - veloce) a -9 (o - migliore)

Impostare la dimensione del blocco su 100 k, 200 k .. 900 k durante la compressione. Non ha effetto durante la decompressione. Vedi GESTIONE DELLA MEMORIA sotto. Gli alias --fast e --best sono principalmente per la compatibilità GNU gzip. In particolare, - fast non rende le cose significativamente più veloci. E - meglio si limita a selezionare il comportamento predefinito.

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

--repetitive-fast --repetitive-best

Questi flag sono ridondanti nelle versioni 0.9.5 e successive. Hanno fornito 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 irrilevanti questi flag.

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

articoli Correlati

  • Comando Linux: comprimi
  • Esempi di utilizzo della shell di Linux Comando "bzip2"