IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

xzcat - Online nel cloud

Esegui xzcat nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando xzcat che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


xz, unxz, xzcat, lzma, unlzma, lzcat - Comprimi o decomprimi file .xz e .lzma

SINOSSI


xz [opzione]... [filetto] ...

unxz è equivalente xz --decomprimere.
xzcat è equivalente xz --decomprimere --stdout.
lzma è equivalente xz --formato=lzma.
unzma è equivalente xz --formato=lzma --decomprimere.
lzcat è equivalente xz --formato=lzma --decomprimere --stdout.

Quando si scrivono script che devono decomprimere file, si consiglia di utilizzare sempre il
Nome xz con argomenti appropriati (xz -d or xz -cc) al posto dei nomi unxz ed xzcat.

DESCRIZIONE


xz è uno strumento di compressione dati generico con sintassi della riga di comando simile a gzip(1)
ed bzip2(1). Il formato del file nativo è il .xz formato, ma l'eredità .lzma formato utilizzato
di LZMA Utils e anche i flussi compressi non elaborati senza intestazioni del formato contenitore
supportato.

xz comprime o decomprime ciascuno filetto secondo la modalità di funzionamento selezionata. se no
file sono dati o filetto is -, xz legge dallo standard input e scrive i dati elaborati
allo standard output. xz rifiuterà (visualizza un errore e salta il filetto) scrivere
dati compressi allo standard output se si tratta di un terminale. Allo stesso modo, xz si rifiuterà di leggere
dati compressi dallo standard input se si tratta di un terminale.

Salvo che --stdout è specificato, file diverso - vengono scritti in un nuovo file il cui nome è
derivato dalla fonte filetto Nome:

· Durante la compressione, il suffisso del formato file di destinazione (.xz or .lzma) è aggiunto a
il nome del file di origine per ottenere il nome del file di destinazione.

· Durante la decompressione, il .xz or .lzma il suffisso viene rimosso dal nome del file per ottenere il
nome del file di destinazione. xz riconosce anche i suffissi .tzz ed .tz, e li sostituisce con
, il .catrame suffisso.

Se il file di destinazione esiste già, viene visualizzato un errore e il filetto è saltato.

A meno che non si scriva sull'output standard, xz visualizzerà un avviso e salterà il filetto se qualcuno di
vale quanto segue:

· Compila il non è un file normale. I collegamenti simbolici non vengono seguiti e quindi non lo sono
considerati file normali.

· Compila il ha più di un hard link.

· Compila il ha set di bit setuid, setgid o appiccicoso.

· La modalità di funzionamento è impostata per comprimere e il filetto ha già un suffisso del target
formato del file (.xz or .tzz quando si comprime al .xz formato, e .lzma or .tz quando
comprimendo al .lzma formato).

· La modalità di funzionamento è impostata su decompressione e il filetto non ha il suffisso di nessuno di
i formati di file supportati (.xz, .tzz, .lzma, o .tz).

Dopo aver compresso o decompresso con successo il filetto, xz copia il proprietario, il gruppo,
permessi, tempo di accesso e tempo di modifica dalla fonte filetto al file di destinazione.
Se la copia del gruppo fallisce, i permessi vengono modificati in modo che il file di destinazione non lo faccia
diventare accessibile agli utenti che non avevano il permesso di accedere alla fonte filetto. xz
non supporta la copia di altri metadati come elenchi di controllo di accesso o attributi estesi
ancora.

Una volta che il file di destinazione è stato chiuso con successo, l'origine filetto viene rimosso a meno che
--mantenere è stato specificato. La fonte filetto non viene mai rimosso se l'output viene scritto in
uscita standard.

invio SIGNINFO or SIGUSR1 Vai all’email xz processo fa stampare le informazioni sullo stato di avanzamento su
errore standard. Questo ha solo un uso limitato poiché quando l'errore standard è un terminale, usando
--verboso visualizzerà un indicatore di avanzamento che si aggiorna automaticamente.

Memorie uso
L'utilizzo della memoria di xz varia da poche centinaia di kilobyte a diversi gigabyte a seconda
sulle impostazioni di compressione. Le impostazioni utilizzate durante la compressione di un file determinano il
requisiti di memoria del decompressore. Tipicamente il decompressore necessita dal 5 % al 20 % di
la quantità di memoria necessaria al compressore durante la creazione del file. Per esempio,
decomprimere un file creato con xz -9 attualmente richiede 65 MiB di memoria. Eppure lo è
possibile avere .xz file che richiedono diversi gigabyte di memoria per essere decompressi.

Soprattutto gli utenti di sistemi più vecchi possono trovare la possibilità di un utilizzo della memoria molto ampio
fastidioso. Per evitare spiacevoli sorprese, xz ha un limitatore di utilizzo della memoria integrato,
che è disabilitato per impostazione predefinita. Mentre alcuni sistemi operativi forniscono modi per limitare il
utilizzo della memoria dei processi, basarsi su di esso non è stato ritenuto sufficientemente flessibile (ad es
ulimit(1) limitare la memoria virtuale tende a paralizzare mmap(2)).

Il limitatore di utilizzo della memoria può essere abilitato con l'opzione della riga di comando --memlimit=limitare.
Spesso è più conveniente abilitare il limitatore di default impostando l'ambiente
variabile XZ_DEFAULT, per esempio XZ_DEFAULTS=--memlimit=150MiB. È possibile impostare il
limita separatamente la compressione e la decompressione utilizzando --memlimit-compress=limitare ed
--memlimit-decompress=limitare. Usando queste due opzioni all'esterno XZ_DEFAULT è raramente utile
perché una singola corsa di xz non può eseguire sia la compressione che la decompressione e
--memlimit=limitare (o -M limitare) è più breve da digitare sulla riga di comando.

Se il limite di utilizzo della memoria specificato viene superato durante la decompressione, xz visualizzerà un
errore e la decompressione del file avrà esito negativo. Se il limite viene superato durante la compressione, xz
proverà a ridimensionare le impostazioni in modo che il limite non venga più superato (tranne quando
utilizzando --formato=grezzo or --no-regolazione). In questo modo l'operazione non fallirà a meno che il limite non sia
molto piccolo. Il ridimensionamento delle impostazioni viene eseguito in passaggi che non corrispondono alla compressione
preimpostazioni di livello, ad esempio se il limite è solo leggermente inferiore all'importo richiesto per xz -9,
le impostazioni verranno ridimensionate solo un po', non del tutto fino a xz -8.

Concatenazione ed imbottitura con .xz file
È possibile concatenare .xz file così com'è. xz decomprimerà tali file come se
eri single .xz file.

E' possibile inserire padding tra le parti concatenate o dopo l'ultima parte.
Il padding deve essere costituito da byte nulli e la dimensione del padding deve essere un multiplo di
quattro byte. Questo può essere utile, ad esempio, se il .xz il file è memorizzato su un supporto che misura
dimensioni dei file in blocchi da 512 byte.

Concatenazione e riempimento non sono consentiti con .lzma file o flussi non elaborati.

VERSIONI


Numero intero suffissi ed la nostra speciale valori
Nella maggior parte dei casi in cui è previsto un argomento intero, è supportato un suffisso facoltativo per
indicare facilmente numeri interi grandi. Non ci deve essere spazio tra l'intero e il
suffisso.

KiB Moltiplica l'intero per 1,024 (2^10). Ki, k, kB, Ke KB sono accettati come
sinonimi di KiB.

MiB Moltiplica l'intero per 1,048,576 (2^20). Mi, m, Me MB sono accettati come
sinonimi di MiB.

GiB Moltiplica l'intero per 1,073,741,824 (2^30). Gi, g, Ge GB sono accettati come
sinonimi di GiB.

Il valore speciale max può essere utilizzato per indicare il valore intero massimo supportato da
opzione.

Funzionamento modo
Se vengono fornite più opzioni di modalità di funzionamento, l'ultima ha effetto.

-z, --comprimere
Comprimere. Questa è la modalità di funzionamento predefinita quando nessuna opzione di modalità di funzionamento è
specificato e nessun'altra modalità operativa è implicata dal nome del comando (per
esempio, unxz implica --decomprimere).

-d, --decomprimere, --decomprimi
Decomprimere.

-t, --test
Testare l'integrità del compresso file. Questa opzione è equivalente a --decomprimere
--stdout tranne che i dati decompressi vengono scartati invece di essere scritti su
uscita standard. Nessun file viene creato o rimosso.

-l, --elenco
Stampa informazioni su compresse file. Non viene prodotto alcun output non compresso e
nessun file viene creato o rimosso. In modalità elenco, il programma non è in grado di leggere il
dati compressi da input standard o da altre fonti non ricercabili.

L'elenco predefinito mostra le informazioni di base su file, un file per riga. Ottenere
informazioni più dettagliate, utilizzare anche il --verboso opzione. Per ancora di più
informazioni, uso --verboso due volte, ma nota che potrebbe essere lento, perché ottenere
tutte le informazioni extra richiedono molte ricerche. La larghezza dell'output dettagliato supera
80 caratteri, quindi reindirizzando l'output a eg meno -S può essere conveniente se il
il terminale non è abbastanza largo.

L'output esatto può variare tra xz versioni e locali differenti. Per macchina-
uscita leggibile, --robot --elenco dovrebbe essere usato.

Funzionamento modificatori
-k, --mantenere
Non eliminare i file di input.

-f, --vigore
Questa opzione ha diversi effetti:

· Se il file di destinazione esiste già, eliminarlo prima di comprimerlo o
decompressione.

· Comprimi o decomprimi anche se l'input è un collegamento simbolico a un file normale,
ha più di un hard link o ha impostato setuid, setgid o sticky bit. Il
setuid, setgid e i bit permanenti non vengono copiati nel file di destinazione.

· Se utilizzato con --decomprimere --stdout ed xz non è in grado di riconoscere il tipo di
file di origine, copiare il file di origine così com'è nell'output standard. Questo permette xzcat
--vigore da usare come gatto(1) per i file che non sono stati compressi con xz.
Si noti che in futuro, xz potrebbe supportare nuovi formati di file compressi, il che potrebbe
make xz decomprimere più tipi di file invece di copiarli secondo lo standard
produzione. --formato=formato può essere usato per limitare xz per decomprimere solo un singolo
formato del file.

-c, --stdout, --to-stdout
Scrivi i dati compressi o decompressi sullo standard output invece che su un file.
Ciò implica --mantenere.

--flusso singolo
Decomprimi solo il primo .xz stream e ignora silenziosamente il possibile input rimanente
dati che seguono il flusso. Normalmente una tale immondizia finale rende xz visualizzare e
errore.

xz non decomprime mai più di un flusso da .lzma file o flussi non elaborati, ma
questa opzione rende ancora xz ignora i possibili dati finali dopo il .lzma filetto
o flusso grezzo.

Questa opzione non ha effetto se la modalità di funzionamento non lo è --decomprimere or --test.

--no-sparso
Disabilita la creazione di file sparsi. Per impostazione predefinita, se si decomprime in un normale
file, xz tenta di rendere il file sparso se i dati decompressi contengono lunghi
successioni di zeri binari. Funziona anche quando si scrive sull'output standard fintanto che
poiché l'output standard è collegato a un file normale e a determinate condizioni aggiuntive
sono soddisfatte per renderlo sicuro. La creazione di file sparsi può far risparmiare spazio su disco e accelerare
la decompressione riducendo la quantità di I/O del disco.

-S .suf, --suffisso=.suf
Durante la compressione, utilizzare .suf come suffisso per il file di destinazione invece di .xz or
.lzma. Se non si scrive sullo standard output e il file sorgente ha già il
suffisso .suf, viene visualizzato un avviso e il file viene saltato.

Durante la decompressione, riconoscere i file con il suffisso .suf oltre ai file con
, il .xz, .tzz, .lzma, o .tz suffisso. Se il file sorgente ha il suffisso .suf, le
il suffisso viene rimosso per ottenere il nome del file di destinazione.

Durante la compressione o la decompressione di flussi non elaborati (--formato=grezzo), il suffisso deve
essere sempre specificato a meno che non si scriva sullo standard output, perché non c'è un valore predefinito
suffisso per i flussi grezzi.

--File[=filetto]
Leggi i nomi dei file da cui elaborare filetto; Se filetto viene omesso, i nomi dei file vengono letti
dall'ingresso standard. I nomi dei file devono terminare con il carattere di nuova riga. UN
trattino (-) viene preso come un normale nome di file; non significa input standard. Se
i nomi dei file sono dati anche come argomenti della riga di comando, vengono elaborati prima del
nomi di file letti da filetto.

--file0[=filetto]
Questo è identico a --File[=filetto] tranne che ogni nome di file deve essere terminato
con il carattere nullo.

Standard filetto formato ed compressione Opzioni
-F formato, --formato=formato
Specifica il file formato per comprimere o decomprimere:

auto Questa è l'impostazione predefinita. Durante la compressione, auto è equivalente xz. Quando
decomprimendo, il formato del file di input viene rilevato automaticamente. Nota
che i flussi grezzi (creati con --formato=grezzo) non può essere rilevato automaticamente.

xz Comprimi a .xz formato file o accetta solo .xz file quando
decompressione.

lzma, da solo
Comprimi all'eredità .lzma formato file o accetta solo .lzma file quando
decompressione. Il nome alternativo da solo è previsto all'indietro
compatibilità con LZMA Utils.

crudo Comprimi o decomprimi un flusso non elaborato (senza intestazioni). Questo è pensato per
solo utenti avanzati. Per decodificare i flussi non elaborati, è necessario utilizzare --formato=grezzo ed
specificare esplicitamente la catena di filtri, che normalmente sarebbe stata memorizzata
nelle intestazioni del contenitore.

-C dai un'occhiata, --verifica=dai un'occhiata
Specificare il tipo di controllo di integrità. L'assegno è calcolato da
dati non compressi e memorizzati nel .xz file. Questa opzione ha effetto solo quando
comprimendo nel .xz formato; il .lzma il formato non supporta i controlli di integrità.
Il controllo di integrità (se presente) è verificato quando il .xz il file viene decompresso.

supportato dai un'occhiata tipi:

nessuna Non calcolare affatto un controllo di integrità. Di solito è una cattiva idea.
Questo può essere utile quando l'integrità dei dati è verificata con altri mezzi
comunque.

crc32 Calcola CRC32 usando il polinomio da IEEE-802.3 (Ethernet).

crc64 Calcola CRC64 usando il polinomio di ECMA-182. Questa è l'impostazione predefinita,
poiché è leggermente migliore di CRC32 nel rilevare i file danneggiati e il
la differenza di velocità è trascurabile.

sha256 Calcola SHA-256. Questo è un po' più lento di CRC32 e CRC64.

Integrità del .xz le intestazioni sono sempre verificate con CRC32. Non è possibile
modificarlo o disabilitarlo.

-0 ... -9
Seleziona un livello di compressione preimpostato. L'impostazione predefinita è -6. Se più livelli preimpostati
sono specificati, l'ultimo ha effetto. Se esisteva già una catena di filtri personalizzata
specificato, l'impostazione di un livello di compressione preimpostato cancella la catena di filtri personalizzati.

Le differenze tra i preset sono più significative rispetto a con gzip(1) e
bzip2(1). Le impostazioni di compressione selezionate determinano i requisiti di memoria di
il decompressore, quindi l'utilizzo di un livello preimpostato troppo alto potrebbe rendere doloroso
decomprimere il file su un vecchio sistema con poca RAM. Nello specifico, suo non a
buono idea a ciecamente uso -9 per qualunque cosa come spesso accade con gzip(1) e
bzip2(1).

-0 ... -3
Questi sono preset un po 'veloci. -0 a volte è più veloce di gzip -9 while
comprimendo molto meglio. I più alti hanno spesso velocità paragonabili a
bzip2(1) con rapporto di compressione comparabile o migliore, sebbene i risultati
dipendono molto dal tipo di dati che vengono compressi.

-4 ... -6
Compressione da buona a molto buona mantenendo l'utilizzo della memoria del decompressore
ragionevole anche per i vecchi sistemi. -6 è l'impostazione predefinita, che di solito è buona
scelta ad esempio per la distribuzione di file che devono essere decomprimibili anche su
sistemi con solo 16 MiB di RAM. (-5e or -6e potrebbe valere la pena considerare anche questo.
See --estremo.)

-7 ... -9
Questi sono come -6 ma con una memoria del compressore e del decompressore più alta
requisiti. Questi sono utili solo quando si comprime file più grandi di
8 MiB, 16 MiB e 32 MiB, rispettivamente.

Sullo stesso hardware, la velocità di decompressione è approssimativamente un numero costante di
byte di dati compressi al secondo. In altre parole, migliore è la compressione,
più veloce sarà di solito la decompressione. Ciò significa anche che la quantità di
l'output non compresso prodotto al secondo può variare molto.

La tabella seguente riassume le caratteristiche dei preset:

DictSize preimpostato CompCPU CompMem DecMem
-0 256 KiB 0 3 MiB 1 MiB
-1 1 MiB 1 9 MiB 2 MiB
-2 2 MiB 2 17 MiB 3 MiB
-3 4 MiB 3 32 MiB 5 MiB
-4 4 MiB 4 48 MiB 5 MiB
-5 8 MiB 5 94 MiB 9 MiB
-6 8 MiB 6 94 MiB 9 MiB
-7 16 MiB 6 186 MiB 17 MiB
-8 32 MiB 6 370 MiB 33 MiB
-9 64 MiB 6 674 MiB 65 MiB

Descrizioni delle colonne:

· DictSize è la dimensione del dizionario LZMA2. È uno spreco di memoria usare un
dizionario più grande della dimensione del file non compresso. Ecco perché è
bene evitare di usare i preset -7 ... -9 quando non ce n'è davvero bisogno.
At -6 e inferiore, la quantità di memoria sprecata è di solito abbastanza bassa da non
importa.

· CompCPU è una rappresentazione semplificata delle impostazioni LZMA2 che influenzano
velocità di compressione. Anche la dimensione del dizionario influisce sulla velocità, quindi mentre CompCPU è
lo stesso per i livelli -6 ... -9, i livelli più alti tendono ancora ad essere un po' più lenti.
Per ottenere una compressione ancora più lenta e quindi possibilmente migliore, vedere --estremo.

· CompMem contiene i requisiti di memoria del compressore nella modalità a thread singolo.
Può variare leggermente tra xz versioni. Requisiti di memoria di alcuni dei
le future modalità multithread potrebbero essere notevolmente superiori a quelle dei single-
modalità filettata.

· DecMem contiene i requisiti di memoria del decompressore. Cioè, la compressione
le impostazioni determinano i requisiti di memoria del decompressore. L'esatto
l'utilizzo della memoria del decompressore è leggermente superiore alla dimensione del dizionario LZMA2, ma
i valori in tabella sono stati arrotondati al MiB intero successivo.

-e, --estremo
Utilizzare una variante più lenta del livello preimpostato di compressione selezionato (-0 ... -9) A
speriamo di ottenere un rapporto di compressione un po' migliore, ma con la sfortuna questo può farlo
anche peggiorare. L'utilizzo della memoria del decompressore non è interessato, ma compressore
l'utilizzo della memoria aumenta leggermente a livelli preimpostati -0 ... -3.

Poiché ci sono due preset con dimensioni del dizionario 4 MiB e 8 MiB, i preset -3e
ed -5e utilizzare impostazioni leggermente più veloci (CompCPU inferiore) rispetto a -4e ed -6e,
rispettivamente. In questo modo non esistono due preset identici.

DictSize preimpostato CompCPU CompMem DecMem
-0e 256 KiB 8 4 MiB 1 MiB
-1e 1 MiB 8 13 MiB 2 MiB
-2e 2 MiB 8 25 MiB 3 MiB
-3e 4 MiB 7 48 MiB 5 MiB
-4e 4 MiB 8 48 MiB 5 MiB
-5e 8 MiB 7 94 MiB 9 MiB
-6e 8 MiB 8 94 MiB 9 MiB
-7e 16 MiB 8 186 MiB 17 MiB
-8e 32 MiB 8 370 MiB 33 MiB
-9e 64 MiB 8 674 MiB 65 MiB

Ad esempio, ci sono un totale di quattro preset che utilizzano il dizionario 8 MiB, il cui
l'ordine dal più veloce al più lento è -5, -6, -5ee -6e.

--veloce
--migliore Questi sono alias un po' fuorvianti per -0 ed -9, rispettivamente. Questi sono
fornito solo per la retrocompatibilità con LZMA Utils. Evita di usarli
opzioni.

--dimensione-blocco=Taglia
Quando si comprime al .xz formato, dividere i dati di input in blocchi di Taglia byte.
I blocchi vengono compressi indipendentemente l'uno dall'altro.

--memlimit-compress=limitare
Imposta un limite di utilizzo della memoria per la compressione. Se questa opzione è specificata multipla
volte, l'ultimo ha effetto.

Se le impostazioni di compressione superano il limitare, xz regolerà le impostazioni verso il basso
in modo che il limite non venga più superato e visualizzi un avviso che automatico
l'adeguamento è stato effettuato. Tali regolazioni non vengono effettuate durante la compressione con
--formato=grezzo o se --no-regolazione è stato specificato. In questi casi, un errore è
visualizzato e xz uscirà con stato di uscita 1.

I limitare può essere specificato in più modi:

· Il limitare può essere un valore assoluto in byte. Usando un suffisso intero come MiB
può essere utile. Esempio: --memlimit-compress=80MiB

· Il limitare può essere specificato come percentuale della memoria fisica totale (RAM). Questo
può essere utile soprattutto quando si imposta il XZ_DEFAULT variabile d'ambiente in a
script di inizializzazione della shell condiviso tra diversi computer. Quella
modo il limite è automaticamente maggiore sui sistemi con più memoria. Esempio:
--memlimit-compress=70%

· Il limitare può essere ripristinato al suo valore predefinito impostandolo su 0. Questo è
attualmente equivalente a impostare il limitare a max (nessun limite di utilizzo della memoria). Una volta
è stato implementato il supporto multithreading, potrebbe esserci una differenza tra 0
ed max per il caso multithread, quindi si consiglia di utilizzare 0 invece di max
fino a quando non saranno stati decisi i dettagli.

Vedi anche la sezione Memorie uso.

--memlimit-decompress=limitare
Imposta un limite di utilizzo della memoria per la decompressione. Questo influisce anche sul --elenco modalità. Se
l'operazione non è possibile senza superare il limitare, xz visualizzerà un errore
e la decompressione del file fallirà. Vedere --memlimit-compress=limitare per possibile
modi per specificare il limitare.

-M limitare, --memlimit=limitare, --memoria=limitare
Ciò equivale a specificare --memlimit-compress=limitare
--memlimit-decompress=limitare.

--no-regolazione
Visualizza un errore ed esci se le impostazioni di compressione superano l'utilizzo della memoria
limite. L'impostazione predefinita è regolare le impostazioni verso il basso in modo che l'utilizzo della memoria
limite non viene superato. La regolazione automatica è sempre disabilitata durante la creazione di file raw
flussi (--formato=grezzo).

-T fili, --thread=fili
Specificare il numero di thread di lavoro da utilizzare. Il numero effettivo di thread può essere
meno di fili se l'utilizzo di più thread supererebbe il limite di utilizzo della memoria.

Multithread compressione ed decompressione sono non implementato ancora, so questo opzione
ha no effetto per ora.

As of scrittura (2010-09-27), it non ha stato deciso if fili volere be utilizzato by
difetto on multicore di riferimento una volta supporto per threading ha stato implementato.
Commenti sono benvenuto. Il fattore complicante è che l'uso di molti thread lo farà
aumentare notevolmente l'utilizzo della memoria. Nota che se il multithreading sarà il
impostazione predefinita, probabilmente verrà eseguita in modo che le modalità a thread singolo e multithread
produrre lo stesso output, quindi il rapporto di compressione non sarà significativamente influenzato se
il threading sarà abilitato per impostazione predefinita.

Custom compressore filtro Catene
Una catena di filtri personalizzata consente di specificare le impostazioni di compressione in dettaglio invece di
basandosi sulle impostazioni associate ai livelli preimpostati. Quando una catena di filtri personalizzata è
specificato, le opzioni del livello di compressione preimpostato (-0 ... -9 ed --estremo) sono in silenzio
ignorato.

Una catena di filtri è paragonabile al piping sulla riga di comando. Durante la compressione, il
l'ingresso non compresso va al primo filtro, la cui uscita va al filtro successivo (se
qualunque). L'output dell'ultimo filtro viene scritto nel file compresso. Il massimo
il numero di filtri nella catena è quattro, ma in genere una catena di filtri ne ha solo uno o due
filtri.

Molti filtri hanno limitazioni su dove possono trovarsi nella catena di filtri: alcuni filtri possono
funziona solo come ultimo filtro della catena, alcuni solo come filtro non ultimo e alcuni funzionano
in qualsiasi posizione della catena. A seconda del filtro, questa limitazione è intrinseca
al design del filtro o esiste per prevenire problemi di sicurezza.

Una catena di filtri personalizzata viene specificata utilizzando una o più opzioni di filtro nell'ordine in cui
sono desiderati nella catena del filtro. Cioè, l'ordine delle opzioni di filtro è significativo!
Durante la decodifica di flussi non elaborati (--formato=grezzo), la catena del filtro è specificata nello stesso ordine
come è stato specificato durante la compressione.

I filtri prendono filtri specifici Opzioni come elenco separato da virgole. Virgole in più in Opzioni
vengono ignorati. Ogni opzione ha un valore predefinito, quindi devi specificare solo quelli che vuoi
cambiare.

--lzma1[=Opzioni]
--lzma2[=Opzioni]
Aggiungere il filtro LZMA1 o LZMA2 alla catena del filtro. Questi filtri possono essere utilizzati solo come
l'ultimo filtro della catena.

LZMA1 è un filtro legacy, supportato quasi esclusivamente a causa dell'eredità .lzma
formato di file, che supporta solo LZMA1. LZMA2 è una versione aggiornata di LZMA1 per
risolvere alcuni problemi pratici di LZMA1. Il .xz il formato utilizza LZMA2 e non supporta
LZMA1 affatto. La velocità di compressione e i rapporti di LZMA1 e LZMA2 sono praticamente i
stesso.

LZMA1 e LZMA2 condividono lo stesso set di Opzioni:

preimpostato=preset
Ripristina tutto LZMA1 o LZMA2 Opzioni a preset. Preset costituito da un numero intero,
che può essere seguito da modificatori di preimpostazione a lettera singola. L'intero può essere
da 0 a 9, corrispondendo alle opzioni della riga di comando -0 ... -9. Il solo
il modificatore supportato è attualmente e, che corrisponde --estremo. Il predefinito
preset is 6, da cui i valori di default per il resto dell'LZMA1 o
LZMA2 Opzioni sono presi.

detto=Taglia
Dizionario (buffer cronologia) Taglia indica quanti byte del recentemente
i dati non compressi elaborati vengono mantenuti in memoria. L'algoritmo cerca di trovare
ripetere sequenze di byte (corrispondenze) nei dati non compressi e sostituire
loro con riferimenti ai dati attualmente nel dizionario. Il più grande
il dizionario, maggiore è la possibilità di trovare una corrispondenza. Quindi, aumentando
dizionario Taglia di solito migliora il rapporto di compressione, ma un dizionario più grande
il file non compresso è uno spreco di memoria.

Dizionario tipico Taglia va da 64 KiB a 64 MiB. Il minimo è 4 KiB.
Il massimo per la compressione è attualmente 1.5 GiB (1536 MiB). Il
il decompressore supporta già dizionari fino a un byte in meno di 4 GiB,
che è il massimo per i formati di flusso LZMA1 e LZMA2.

Dizionario Taglia e trova corrispondenza (mf) determinano insieme l'utilizzo della memoria di
l'encoder LZMA1 o LZMA2. Lo stesso (o più grande) dizionario Taglia is
richiesto per la decompressione che è stato utilizzato durante la compressione, quindi la memoria
l'uso del decodificatore è determinato dalla dimensione del dizionario utilizzata quando
compressione. Il .xz le intestazioni memorizzano il dizionario Taglia o come 2^n o 2^n
+2^(n-1), quindi questi Dimensioni sono in qualche modo preferiti per la compressione. Altro
Dimensioni verrà arrotondato per eccesso quando memorizzato nel .xz intestazioni.

lc=lc Specificare il numero di bit di contesto letterale. Il minimo è 0 e il
il massimo è 4; il valore predefinito è 3. Inoltre, la somma di lc ed lp non deve
superare 4.

Tutti i byte che non possono essere codificati come corrispondenze vengono codificati come letterali. Quella
vale a dire, i letterali sono semplicemente byte a 8 bit codificati uno alla volta.

La codifica letterale presuppone che il più alto lc pezzetti di
il precedente byte non compresso è correlato al byte successivo. Ad esempio in tipico
testo inglese, una lettera maiuscola è spesso seguita da una lettera minuscola,
e una lettera minuscola è solitamente seguita da un'altra lettera minuscola.
Nel set di caratteri US-ASCII, i tre bit più alti sono 010 per le maiuscole
lettere e 011 per le lettere minuscole. quando lc è almeno 3, il letterale
la codifica può sfruttare questa proprietà nei dati non compressi.

Il valore predefinito (3) è generalmente buono. Se vuoi la massima compressione,
test lc=4. A volte aiuta un po', e a volte fa compressione
peggio. Se peggiora, prova ad es lc=2 troppo.

p=lp Specificare il numero di bit di posizione letterale. Il minimo è 0 e il
il massimo è 4; il valore predefinito è 0.

Lp influenza il tipo di allineamento assunto nei dati non compressi quando
letterali di codifica. Vedere pb di seguito per ulteriori informazioni sull'allineamento.

pb=pb Specificare il numero di bit di posizione. Il minimo è 0 e il massimo è 4;
il valore predefinito è 2.

Pb influenza il tipo di allineamento assunto nei dati non compressi in
generale. L'impostazione predefinita significa allineamento a quattro byte (2^pb=2^2=4), che è spesso
una buona scelta quando non c'è ipotesi migliore.

Quando l'allineamento è noto, impostazione pb di conseguenza può ridurre la dimensione del file
un po. Ad esempio con file di testo con allineamento a un byte (US-ASCII,
ISO-8859-*, UTF-8), impostazione pb=0 può migliorare leggermente la compressione. Per
testo UTF-16, pb=1 è una buona scelta. Se l'allineamento è un numero dispari come
3 byte, pb=0 potrebbe essere la scelta migliore.

Anche se l'allineamento ipotizzato può essere regolato con pb ed lp, LZMA1 e
LZMA2 favorisce ancora leggermente l'allineamento a 16 byte. Potrebbe valere la pena prendere in considerazione
considerazione quando si progettano formati di file che possono essere spesso compressi
con LZMA1 o LZMA2.

mf =mf Match finder ha un effetto importante sulla velocità dell'encoder, sull'utilizzo della memoria e
rapporto di compressione. Di solito i cercatori di corrispondenza di Hash Chain sono più veloci di Binary
Cercatori di corrispondenza dell'albero. L'impostazione predefinita dipende da preset: 0 usi hc3, 1-3 uso
hc4, e il resto usa bt4.

Sono supportati i seguenti cercatori di corrispondenza. Le formule di utilizzo della memoria di seguito
sono approssimazioni approssimative, che sono più vicine alla realtà quando detto è un
potenza di due.

hc3 Hash Chain con hashing a 2 e 3 byte
Valore minimo per bello: 3
Utilizzo della memoria:
detto * 7.5 (se detto <= 16 MB);
detto * 5.5 + 64 MiB (se detto > 16 MB)

hc4 Hash Chain con hashing a 2, 3 e 4 byte
Valore minimo per bello: 4
Utilizzo della memoria:
detto * 7.5 (se detto <= 32 MB);
detto * 6.5 (se detto > 32 MB)

bt2 Albero binario con hashing a 2 byte
Valore minimo per bello: 2
Utilizzo della memoria: detto * 9.5

bt3 Albero binario con hashing a 2 e 3 byte
Valore minimo per bello: 3
Utilizzo della memoria:
detto * 11.5 (se detto <= 16 MB);
detto * 9.5 + 64 MiB (se detto > 16 MB)

bt4 Albero binario con hashing a 2, 3 e 4 byte
Valore minimo per bello: 4
Utilizzo della memoria:
detto * 11.5 (se detto <= 32 MB);
detto * 10.5 (se detto > 32 MB)

modalità=modo
Compressione modo specifica il metodo per analizzare i dati prodotti dal
cercatore di corrispondenza. Supportato modalità di sono veloce ed normale. L'impostazione predefinita è veloce per
preset 0-3 e normale per preset 4-9.

Generalmente veloce viene utilizzato con i cercatori di corrispondenza di Hash Chain e normale con binario
Cercatori di corrispondenza dell'albero. Questo è anche ciò che preset fare.

bello=bello
Specifica quale è considerata una buona lunghezza per una corrispondenza. Una volta una partita di
almeno bello byte viene trovato, l'algoritmo smette di cercare possibilmente
partite migliori.

Nice può essere 2-273 byte. Valori più alti tendono a dare una migliore compressione
rapporto a scapito della velocità. L'impostazione predefinita dipende da preset.

profondità=profondità
Specificare la profondità di ricerca massima nel cercatore di corrispondenza. L'impostazione predefinita è
valore speciale di 0, che fa sì che il compressore determini un ragionevole profondità
da mf ed bello.

Ragionevole profondità per Hash Chains è 4-100 e 16-1000 per Binary Trees.
Usando valori molto alti per profondità può rendere l'encoder estremamente lento con
alcuni file. Evitare di impostare il profondità oltre 1000 a meno che tu non sia pronto a
interrompere la compressione nel caso in cui impiegasse troppo tempo.

Durante la decodifica di flussi non elaborati (--formato=grezzo), LZMA2 necessita solo del dizionario Taglia.
Anche LZMA1 ha bisogno lc, lpe pb.

--x86[=Opzioni]
--powerpc[=Opzioni]
--ia64[=Opzioni]
--braccio[=Opzioni]
--pollice del braccio[=Opzioni]
--sparc[=Opzioni]
Aggiungere un filtro di ramo/chiamata/salto (BCJ) alla catena di filtri. Questi filtri possono essere utilizzati
solo come filtro non ultimo nella catena di filtri.

Un filtro BCJ converte gli indirizzi relativi nel codice macchina nel loro assoluto
controparti. Questo non cambia la dimensione dei dati, ma aumenta
ridondanza, che può aiutare LZMA2 a produrre 0-15% in meno .xz file. Il BCJ
i filtri sono sempre reversibili, quindi l'uso di un filtro BCJ per un tipo di dati errato non lo fa
causare alcuna perdita di dati, anche se potrebbe peggiorare leggermente il rapporto di compressione.

Va bene applicare un filtro BCJ su un intero eseguibile; non è necessario applicarlo
solo sulla sezione eseguibile. Applicazione di un filtro BCJ su un archivio che contiene
sia i file eseguibili che quelli non eseguibili possono o meno dare buoni risultati, quindi è
generalmente non va bene applicare alla cieca un filtro BCJ durante la compressione di pacchetti binari
per la distribuzione.

Questi filtri BCJ sono molto veloci e utilizzano una quantità insignificante di memoria. Se un BCJ
il filtro migliora il rapporto di compressione di un file, può migliorare la velocità di decompressione a
lo stesso tempo. Questo perché, sullo stesso hardware, la velocità di decompressione di
LZMA2 è approssimativamente un numero fisso di byte di dati compressi al secondo.

Questi filtri BCJ hanno problemi noti relativi al rapporto di compressione:

· Alcuni tipi di file contenenti codice eseguibile (es. file oggetto, statico
librerie e moduli del kernel Linux) hanno gli indirizzi nelle istruzioni
riempito con valori di riempimento. Questi filtri BCJ continueranno a fare l'indirizzo
conversione, che peggiorerà la compressione con questi file.

· L'applicazione di un filtro BCJ su un archivio contenente più eseguibili simili può
peggiorare il rapporto di compressione rispetto a non utilizzare un filtro BCJ. Questo è perché
il filtro BCJ non rileva i limiti dei file eseguibili e
non reimposta il contatore di conversione dell'indirizzo per ogni eseguibile.

Entrambi i problemi di cui sopra verranno risolti in futuro in un nuovo filtro. La vecchia
I filtri BCJ saranno ancora utili nei sistemi embedded, perché il decoder del
il nuovo filtro sarà più grande e utilizzerà più memoria.

Diversi set di istruzioni hanno un allineamento diverso:

Note sull'allineamento dei filtri
x86 1 32 bit o 64 bit x86
PowerPC 4 solo Big endian
BRACCIO 4 Solo Little endian
ARM-Thumb 2 Solo Little endian
IA-64 16 Endian grande o piccolo
SPARC 4 Endian grande o piccolo

Poiché i dati filtrati BCJ sono solitamente compressi con LZMA2, il rapporto di compressione
può essere leggermente migliorato se le opzioni LZMA2 sono impostate in modo da corrispondere all'allineamento del
filtro BCJ selezionato. Ad esempio, con il filtro IA-64, è bene impostare pb=4
con LZMA2 (2^4=16). Il filtro x86 è un'eccezione; di solito è bene attenersi
Allineamento a quattro byte predefinito di LZMA2 durante la compressione di eseguibili x86.

Tutti i filtri BCJ supportano lo stesso Opzioni:

inizio=offset
Specificare l'inizio offset che viene utilizzato quando si converte tra relativo e
indirizzi assoluti. Il offset deve essere un multiplo dell'allineamento di
filtro (vedi tabella sopra). Il valore predefinito è zero. In pratica, il
l'impostazione predefinita è buona; specificando una consuetudine offset non è quasi mai utile.

--delta[=Opzioni]
Aggiungi il filtro Delta alla catena di filtri. Il filtro Delta può essere utilizzato solo come a
non ultimo filtro nella catena del filtro.

Attualmente è supportato solo il semplice calcolo delta per byte. Può essere utile
quando si comprime, ad esempio, immagini bitmap non compresse o audio PCM non compresso.
Tuttavia, algoritmi per scopi speciali possono dare risultati significativamente migliori di
Delta + LZMA2. Questo è vero soprattutto con l'audio, che si comprime più velocemente e
meglio ad esempio con flac(1).

supportato Opzioni:

dist=distanza
specificare la distanza del calcolo delta in byte. distanza deve essere
1-256. Il valore predefinito è 1.

Ad esempio, con dist=2 e l'ingresso a otto byte A1 B1 A2 B3 A3 B5 A4 B7, il
l'uscita sarà A1 B1 01 02 01 02 01 02.

Altro Opzioni
-q, --silenzioso
Elimina avvisi e avvisi. Specificalo due volte per eliminare anche gli errori. Questo
opzione non ha alcun effetto sullo stato di uscita. Cioè, anche se fosse stato un avvertimento
soppresso, lo stato di uscita per indicare un avviso è ancora utilizzato.

-v, --verboso
Sii prolisso. Se l'errore standard è collegato a un terminale, xz mostrerà a
indicatore di avanzamento. Specificando --verboso due volte darà un output ancora più dettagliato.

L'indicatore di avanzamento mostra le seguenti informazioni:

· La percentuale di completamento viene mostrata se la dimensione del file di input è nota. Questo è,
la percentuale non può essere mostrata nei tubi.

· Quantità di dati compressi prodotti (compressione) o consumati (decompressione).

· Quantità di dati non compressi consumati (compressione) o prodotti (decompressione).

· Rapporto di compressione, che viene calcolato dividendo la quantità di dati compressi
elaborati finora dalla quantità di dati non compressi elaborati finora.

· Velocità di compressione o decompressione. Questo è misurato come la quantità di
dati non compressi consumati (compressione) o prodotti (decompressione) al secondo.
Viene visualizzato dopo che sono trascorsi alcuni secondi da xz iniziato a elaborare il
file.

· Tempo trascorso nel formato M:SS o H:MM:SS.

· Il tempo rimanente stimato viene mostrato solo quando si conosce la dimensione del file di input
e da allora sono già passati un paio di secondi xz iniziato a elaborare il
file. L'ora viene mostrata in un formato meno preciso che non ha mai i due punti,
ad es. 2 min 30 s.

Quando l'errore standard non è un terminale, --verboso farà xz stampa il nome del file,
dimensione compressa, dimensione non compressa, rapporto di compressione e possibilmente anche la velocità
e il tempo trascorso su una singola riga all'errore standard dopo la compressione o
decomprimere il file. La velocità e il tempo trascorso sono inclusi solo quando il
l'operazione ha richiesto almeno alcuni secondi. Se l'operazione non è terminata, ad esempio a causa di
interruzione dell'utente, viene stampata anche la percentuale di completamento se la dimensione del
file di input è noto.

-Q, --non avvisare
Non impostare lo stato di uscita su 2 anche se è stata rilevata una condizione che merita un avvertimento.
Questa opzione non influisce sul livello di verbosità, quindi entrambi --silenzioso ed --non avvisare
devono essere utilizzati per non visualizzare avvisi e per non alterare lo stato di uscita.

--robot
Stampa i messaggi in un formato analizzabile dalla macchina. Questo ha lo scopo di facilitare la scrittura
frontend che si desidera utilizzare xz invece di liblzma, che potrebbe essere il caso di
vari script. L'output con questa opzione abilitata è pensato per essere stabile attraverso
xz rilasci. Vedi la sezione ROBOT MODE per i dettagli.

--info-memoria
Visualizza, in formato leggibile dall'uomo, quanta memoria fisica (RAM) xz pensa il
il sistema ha e i limiti di utilizzo della memoria per la compressione e la decompressione ed esci
con successo.

-h, --Aiuto
Visualizza un messaggio di aiuto che descrive le opzioni più comunemente usate ed esci
con successo.

-H, --aiuto lungo
Visualizza un messaggio di aiuto che descrive tutte le funzioni di xz, ed esci con successo

-V, --versione
Visualizza il numero di versione di xz e liblzma in formato leggibile dall'uomo. Ottenere
output analizzabile dalla macchina, specificare --robot prima --versione.

ROBOT MODE


La modalità robot si attiva con il tasto --robot opzione. Rende l'output di xz più facile
analizzare da altri programmi. Attualmente --robot è supportato solo insieme a --versione,
--info-memoriae --elenco. Sarà supportato per la normale compressione e decompressione
in futuro.

Versione
xz --robot --versione stamperà il numero di versione di xz e liblzma nel seguito
formato:

VERSIONE_XZ=XYYYZZZZS
LIBLZMA_VERSIONE=XYYYZZZZS

X Versione maggiore.

AAAA Versione minore. Anche i numeri sono stabili. I numeri dispari sono versioni alfa o beta.

ZZZ Livello di patch per i rilasci stabili o solo un contatore per i rilasci di sviluppo.

S Stabilità. 0 è alfa, 1 è beta e 2 è stabile. S dovrebbe essere sempre 2 quando AAAA
è anche.

XYYYZZZZS sono uguali su entrambe le righe se xz e liblzma provengono dalla stessa versione di XZ Utils.

Esempi: 4.999.9beta è 49990091 e 5.0.0 è 50000002.

Memorie limitare informazioni
xz --robot --info-memoria stampa una singola riga con tre colonne separate da tabulazioni:

1. Quantità totale di memoria fisica (RAM) in byte

2. Limite di utilizzo della memoria per la compressione in byte. Un valore speciale di zero indica il
impostazione predefinita, che per la modalità a thread singolo equivale a nessun limite.

3. Limite di utilizzo della memoria per la decompressione in byte. Un valore speciale di zero indica il
impostazione predefinita, che per la modalità a thread singolo equivale a nessun limite.

In futuro, l'uscita di xz --robot --info-memoria può avere più colonne, ma mai
più di una riga.

Lista modo
xz --robot --elenco utilizza un output separato da tabulazioni. La prima colonna di ogni riga ha una stringa
che indica il tipo di informazione trovata su quella riga:

Nome Questa è sempre la prima riga quando si inizia a elencare un file. La seconda colonna su
la riga è il nome del file.

filetto Questa riga contiene informazioni generali sul .xz file. Questa linea è sempre
stampato dopo il Nome linea.

ruscello Questo tipo di linea viene utilizzato solo quando --verboso è stato specificato. Ce ne sono tanti ruscello
linee in quanto ci sono flussi nel .xz file.

bloccare Questo tipo di linea viene utilizzato solo quando --verboso è stato specificato. Ce ne sono tanti bloccare
righe in quanto ci sono blocchi nel .xz file. Il bloccare le linee sono mostrate dopo tutto il
ruscello Linee; i diversi tipi di linea non sono intercalati.

sommario
Questo tipo di linea viene utilizzato solo quando --verboso è stato specificato due volte. Questa linea è
stampato dopo tutto bloccare Linee. Come il filetto linea, il sommario la riga contiene
informazioni generali sul .xz file.

totali Questa riga è sempre l'ultima riga dell'output dell'elenco. Mostra il totale
conteggi e dimensioni.

Le colonne del filetto Linee:
2. Numero di stream nel file
3. Numero totale di blocchi negli stream
4. Dimensione compressa del file
5. Dimensione non compressa del file
6. Rapporto di compressione, ad esempio 0.123 Se il rapporto è superiore a 9.999, tre trattini
(---) vengono visualizzati al posto del rapporto.
7. Elenco separato da virgole dei nomi dei controlli di integrità. Vengono utilizzate le seguenti stringhe
per i tipi di controllo conosciuti: Nessuna, CRC32, CRC64e SHA-256. Per assegno sconosciuto
tipi, Sconosciuto-N viene utilizzato, dove N è il Check ID come numero decimale (uno o
due cifre).
8. Dimensione totale del riempimento del flusso nel file

Le colonne del ruscello Linee:
2. Numero di stream (il primo stream è 1)
3. Numero di blocchi nel flusso
4. Offset iniziale compresso
5. Offset iniziale non compresso
6. Dimensioni compresse (non include l'imbottitura del flusso)
7. Dimensioni non compresse
8. Rapporto di compressione
9. Nome del controllo di integrità
10. Dimensione dell'imbottitura del flusso

Le colonne del bloccare Linee:
2. Numero del flusso che contiene questo blocco
3. Numero di blocco relativo all'inizio dello stream (il primo blocco è 1)
4. Numero di blocco relativo all'inizio del file
5. Offset di inizio compresso relativo all'inizio del file
6. Offset iniziale non compresso relativo all'inizio del file
7. Dimensione totale compressa del blocco (include le intestazioni)
8. Dimensioni non compresse
9. Rapporto di compressione
10. Nome del controllo di integrità

If --verboso è stato specificato due volte, colonne aggiuntive sono incluse nel bloccare Linee.
Questi non vengono visualizzati con un singolo --verboso, perché ottenere queste informazioni richiede
molte ricerche e quindi possono essere lente:
11. Valore del controllo di integrità in esadecimale
12. Dimensione dell'intestazione del blocco
13. Flag di blocco: c indica che è presente una dimensione compressa e u indica che
è presente una dimensione non compressa. Se il flag non è impostato, un trattino (-) è mostrato
invece di mantenere fissa la lunghezza della stringa. Nuovi flag possono essere aggiunti alla fine di
la stringa in futuro.
14. Dimensione dei dati compressi effettivi nel blocco (questo esclude il blocco
intestazione, riempimento del blocco e campi di controllo)
15. Quantità di memoria (in byte) richiesta per decomprimere questo blocco con questo xz
versione
16. Catena di filtri. Si noti che la maggior parte delle opzioni utilizzate al momento della compressione non può essere
noto, perché solo le opzioni necessarie per la decompressione sono memorizzate in
, il .xz intestazioni.

Le colonne del sommario Linee:
2. Quantità di memoria (in byte) necessaria per decomprimere questo file con questo xz
versione
3. or no indicando se tutte le intestazioni di blocco hanno sia la dimensione compressa che
dimensione non compressa memorizzata in essi
Dal xz 5.1.2 alfa:
4. minimo xz versione richiesta per decomprimere il file

Le colonne del totali line:
2. Numero di flussi
3. Numero di blocchi
4. Dimensione compressa
5. Dimensioni non compresse
6. Rapporto di compressione medio
7. Elenco separato da virgole dei nomi dei controlli di integrità presenti nei file
8. Dimensione dell'imbottitura del flusso
9. Numero di file. Questo è qui per mantenere l'ordine delle colonne precedenti il
come su filetto Linee.

If --verboso è stato specificato due volte, colonne aggiuntive sono incluse nel totali line:
10. Quantità massima di memoria (in byte) richiesta per decomprimere i file con questo
xz versione
11 or no indicando se tutte le intestazioni di blocco hanno sia la dimensione compressa che
dimensione non compressa memorizzata in essi
Dal xz 5.1.2 alfa:
12. minimo xz versione richiesta per decomprimere il file

Le versioni future potrebbero aggiungere nuovi tipi di linea e nuove colonne possono essere aggiunte alla linea esistente
tipi, ma le colonne esistenti non verranno modificate.

EXIT STATUS


0 Va tutto bene.

1 Si è verificato un errore.

2 Si è verificato qualcosa che vale la pena di essere avvisato, ma non si sono verificati errori effettivi.

Gli avvisi (non avvisi o errori) stampati sull'errore standard non influiscono sullo stato di uscita.

AMBIENTE


xz analizza elenchi di opzioni separati da spazi dalle variabili di ambiente XZ_DEFAULT ed
XZ_OPT, in questo ordine, prima di analizzare le opzioni dalla riga di comando. Nota che solo
le opzioni vengono analizzate dalle variabili di ambiente; tutte le non-opzioni vengono ignorate silenziosamente.
L'analisi è completata con getopt_long(3) che viene utilizzato anche per gli argomenti della riga di comando.

XZ_DEFAULT
Opzioni predefinite specifiche dell'utente o a livello di sistema. In genere questo è impostato in una shell
script di inizializzazione per abilitare xzil limitatore di utilizzo della memoria per impostazione predefinita. Escluso
script di inizializzazione della shell e casi speciali simili, gli script non devono mai essere impostati o
non settato XZ_DEFAULT.

XZ_OPT Questo è per passare le opzioni a xz quando non è possibile impostare le opzioni
direttamente sul xz riga di comando. Questo è il caso, ad esempio, quando xz è eseguito da uno script
o strumento, ad esempio GNU tar(1)

XZ_OPT=-2v tar caf foo.tar.xz foo

Gli script possono usare XZ_OPT ad esempio per impostare le opzioni di compressione predefinite specifiche dello script. Esso
è comunque consigliato per consentire agli utenti di eseguire l'override XZ_OPT se questo è ragionevole, ad es
in sh(1) script si può usare qualcosa del genere:

XZ_OPT=${XZ_OPT-"-7e"}
esporta XZ_OPT

LZMA UTILIZZAZIONI COMPATIBILITA '


La sintassi della riga di comando di xz è praticamente un superset di lzma, unzmae lzcat as
trovato da LZMA Utils 4.32.x. Nella maggior parte dei casi, è possibile sostituire LZMA Utils con XZ
Utils senza rompere gli script esistenti. Ci sono però alcune incompatibilità, che
a volte può causare problemi.

Compressione preset livelli
La numerazione dei preset del livello di compressione non è identica in xz e LZMA Utils. Il
la differenza più importante è il modo in cui le dimensioni del dizionario sono mappate su diversi preset.
La dimensione del dizionario è approssimativamente uguale all'utilizzo della memoria del decompressore.

Livello xz LZMA Utils
-0 256 KiB N/D
-1 1 MiB 64 KiB
-2 2 MiB 1 MiB
-3 4 MiB 512 KiB
-4 4 MiB 1 MiB
-5 8 MiB 2 MiB
-6 8 MiB 4 MiB
-7 16 MiB 8 MiB
-8 32 MiB 16 MiB
-9 64 MiB 32 MiB

Le differenze di dimensione del dizionario influiscono anche sull'utilizzo della memoria del compressore, ma ce ne sono alcune
altre differenze tra LZMA Utils e XZ Utils, che rendono la differenza ancora più grande:

Livello xz LZMA Utils 4.32.x
-0 3 MiB N/D
-1 9 MiB 2 MiB
-2 17 MiB 12 MiB
-3 32 MiB 12 MiB
-4 48 MiB 16 MiB
-5 94 MiB 26 MiB
-6 94 MiB 45 MiB
-7 186 MiB 83 MiB
-8 370 MiB 159 MiB
-9 674 MiB 311 MiB

Il livello predefinito in LZMA Utils è -7 mentre in XZ Utils lo è -6, quindi entrambi usano un 8
Dizionario MiB per impostazione predefinita.

streaming vs. non in streaming .lzma file
La dimensione non compressa del file può essere memorizzata nel .lzma intestazione. LZMA Utils lo fa
durante la compressione di file normali. L'alternativa è contrassegnare che la dimensione non compressa è
sconosciuto e utilizzare l'indicatore di fine carico utile per indicare dove deve fermarsi il decompressore.
LZMA Utils utilizza questo metodo quando la dimensione non compressa non è nota, come nel caso di
esempio nei tubi.

xz supporta la decompressione .lzma file con o senza marker di fine payload, ma tutti .lzma
file creati da xz utilizzerà l'indicatore di fine carico utile e avrà le dimensioni non compresse contrassegnate come
sconosciuto nel .lzma intestazione. Questo potrebbe essere un problema in alcune situazioni non comuni. Per
esempio, a .lzma decompressore in un dispositivo integrato potrebbe funzionare solo con file che hanno
dimensione nota non compressa. Se riscontri questo problema, devi utilizzare LZMA Utils o LZMA SDK
creare .lzma file con dimensioni note non compresse.

Non supportato .lzma file
I .lzma il formato consente lc valori fino a 8, e lp valori fino a 4. LZMA Utils può
decomprimere i file con qualsiasi lc ed lp, ma crea sempre file con lc=3 ed lp=0.
Creazione di file con altri lc ed lp è possibile con xz e con LZMA SDK.

L'implementazione del filtro LZMA1 in liblzma richiede che la somma di lc ed lp devono obbligatoriamente:
non superare 4. Pertanto, .lzma i file che superano questa limitazione non possono essere decompressi
con xz.

LZMA Utils crea solo .lzma file che hanno una dimensione del dizionario di 2^n (una potenza di 2) ma
accetta file con qualsiasi dimensione del dizionario. liblzma accetta solo .lzma file che hanno un
dimensione del dizionario di 2^n o 2^n +2^(n-1) Questo serve per ridurre i falsi positivi quando
rilevamento .lzma File.

Queste limitazioni non dovrebbero essere un problema in pratica, dal momento che praticamente tutti .lzma file
sono stati compressi con impostazioni che liblzma accetterà.

Trailing rifiuti
Durante la decompressione, LZMA Utils ignora silenziosamente tutto dopo il primo .lzma ruscello.
Nella maggior parte delle situazioni, questo è un bug. Ciò significa anche che LZMA Utils non supporta
decompressione concatenata .lzma File.

Se sono rimasti dati dopo il primo .lzma ruscello, xz considera il file corrotto
salvo che --flusso singolo era usato. Questo potrebbe rompere script oscuri che hanno assunto che
la spazzatura finale viene ignorata.

NOTE


compressa produzione può variare
L'output compresso esatto prodotto dallo stesso file di input non compresso può variare
tra le versioni di XZ Utils anche se le opzioni di compressione sono identiche. Questo perché il
codificatore può essere migliorato (compressione più veloce o migliore) senza influenzare il formato del file.
L'output può variare anche tra diverse build della stessa versione di XZ Utils, se
vengono utilizzate diverse opzioni di compilazione.

Quanto sopra significa che l'attuazione --RSincable per creare sincronizzabile .xz i file non stanno andando
senza congelare una parte dell'implementazione dell'encoder, che può quindi essere utilizzata
con --RSincable.

Embedded .xz decompressori
Embedded .xz le implementazioni del decompressore come XZ Embedded non supportano necessariamente i file
creato con integrità dai un'occhiata tipi diversi da nessuna ed crc32. Poiché l'impostazione predefinita è
--check=crc64, devi usare --check=nessuno or --check=crc32 durante la creazione di file per incorporati
sistemi.

Sistemi embedded esterni, tutti .xz i decompressori di formato supportano tutti i dai un'occhiata tipi, o a
almeno sono in grado di decomprimere il file senza verificare il controllo di integrità se il
particolare dai un'occhiata non è supportato.

XZ Embedded supporta i filtri BCJ, ma solo con l'offset iniziale predefinito.

ESEMPI


Nozioni di base
Comprimi il file foo ai miglioramenti pippo.xz utilizzando il livello di compressione predefinito (-6), e rimuovere foo
se la compressione ha esito positivo:

xz pippo

Decomprimere barra.xz ai miglioramenti bar e non rimuovere barra.xz anche se la decompressione ha esito positivo:

xz -dk bar.xz

Creare baz.tar.xz con il preset -4e (-4 --estremo), che è più lento, ad esempio, di
difetto -6, ma richiede meno memoria per la compressione e la decompressione (48 MiB e 5 MiB,
rispettivamente):

tar cf - baz | xz -4e > baz.tar.xz

Un mix di file compressi e non compressi può essere decompresso in output standard con a
unico comando:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Parallel compressione of molti file
Su GNU e *BSD, Find(1) e xargs(1) può essere usato per parallelizzare la compressione di many
File:

trova . -digita f \! -name '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

I -P opzione a xargs(1) imposta il numero di parallele xz processi. Il miglior rapporto qualità-prezzo
, il -n L'opzione dipende da quanti file devono essere compressi. Se ci sono solo a
paio di file, il valore dovrebbe probabilmente essere 1; con decine di migliaia di file, 100 o
ancora di più può essere opportuno ridurre il numero di xz processi che xargs(1) sarà
eventualmente creare.

L'opzione -T1 per xz è lì per forzarlo alla modalità a thread singolo, perché xargs(1) è
utilizzato per controllare la quantità di parallelizzazione.

Robot modo
Calcola quanti byte sono stati salvati in totale dopo aver compresso più file:

xz --robot --list *.xz | awk '/^totali/{stampa $5-$4}'

Uno script potrebbe voler sapere che sta usando abbastanza nuovo xz. Il seguente sh(1) sceneggiatura
controlla che il numero di versione del xz strumento è almeno 5.0.0. Questo metodo è
compatibile con le vecchie versioni beta, che non supportavano il --robot opzione:

Se ! eval "$(xz --robot --version 2> /dev/null)" ||
[ "$VERSIONE_XZ" -lt 50000002 ]; poi
echo "Il tuo xz è troppo vecchio."
fi
annulla XZ_VERSION LIBLZMA_VERSION

Imposta un limite di utilizzo della memoria per la decompressione utilizzando XZ_OPT, ma se un limite è già stato
impostato, non aumentarlo:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --info-memory | taglia -f3)
if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; poi
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
esporta XZ_OPT
fi

Custom compressore filtro Catene
L'uso più semplice per le catene di filtri personalizzate è la personalizzazione di un preset LZMA2. Questo può essere
utile, perché i preset coprono solo un sottoinsieme delle combinazioni potenzialmente utili di
impostazioni di compressione.

Le colonne CompCPU delle tabelle dalle descrizioni delle opzioni -0 ... -9 ed
--estremo sono utili quando si personalizzano i preset LZMA2. Ecco le parti rilevanti
raccolti da queste due tabelle:

CompCPU preimpostato
-0 0
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-5e7
-6e8

Se sai che un file richiede un dizionario un po' grande (es. 32 MiB) per comprimersi bene,
ma vuoi comprimerlo più velocemente di xz -8 farebbe, un preset con un valore CompCPU basso
(es. 1) può essere modificato per utilizzare un dizionario più grande:

xz --lzma2=preset=1,dict=32MiB foo.tar

Con alcuni file, il comando precedente potrebbe essere più veloce di xz -6 durante la compressione
decisamente migliore. Tuttavia, va sottolineato che solo alcuni file beneficiano di a
grande dizionario mantenendo basso il valore CompCPU. La situazione più ovvia, dove a
un grande dizionario può aiutare molto, è un archivio contenente file molto simili di almeno a
pochi megabyte ciascuno. La dimensione del dizionario deve essere significativamente più grande di qualsiasi altra
singolo file per consentire a LZMA2 di sfruttare appieno le somiglianze tra
file consecutivi.

Se l'utilizzo molto elevato della memoria del compressore e del decompressore va bene e il file è
compresso è di almeno diverse centinaia di megabyte, potrebbe essere utile utilizzare un formato ancora più grande
dizionario rispetto ai 64 MiB che xz -9 userebbe:

xz -vv --lzma2=dict=192MiB big_foo.tar

utilizzando -vv (--verboso --verboso) come nell'esempio sopra può essere utile per vedere la memoria
requisiti del compressore e del decompressore. Ricorda che usare un dizionario più grande
rispetto alla dimensione del file non compresso è uno spreco di memoria, quindi il comando sopra non lo è
utile per piccoli file.

A volte il tempo di compressione non ha importanza, ma l'utilizzo della memoria del decompressore deve essere
mantenuto basso, ad esempio per rendere possibile la decompressione del file su un sistema embedded. Il
il seguente comando usa -6e (-6 --estremo) come base e imposta il dizionario su only
64KB. Il file risultante può essere decompresso con XZ Embedded (ecco perché c'è
--check=crc32) utilizzando circa 100 KiB di memoria.

xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo

Se vuoi spremere quanti più byte possibile, regolando il numero di letterali
bit di contesto (lc) e numero di bit di posizione (pb) a volte può aiutare. Regolazione del
numero di bit di posizione letterale (lp) potrebbe anche aiutare, ma di solito lc ed pb sono più
importante. Ad esempio, un archivio di codice sorgente contiene principalmente testo US-ASCII, quindi qualcosa di simile
quanto segue potrebbe dare un file leggermente (come lo 0.1%) più piccolo di xz -6e (prova anche senza
lc=4):

xz --lzma2=preset=6e,pb=0,lc=4 codice_sorgente.tar

L'utilizzo di un altro filtro insieme a LZMA2 può migliorare la compressione con determinati tipi di file.
Ad esempio, per comprimere una libreria condivisa x86-32 o x86-64 utilizzando il filtro BCJ x86:

xz --x86 --lzma2 libfoo.so

Si noti che l'ordine delle opzioni di filtro è significativo. Se --x86 è specificato dopo
--lzma2, xz darà un errore, perché non può esserci alcun filtro dopo LZMA2, e inoltre
perché il filtro x86 BCJ non può essere utilizzato come ultimo filtro nella catena.

Il filtro Delta insieme a LZMA2 può dare buoni risultati con le immagini bitmap. Dovrebbe
di solito batte PNG, che ha alcuni filtri più avanzati del semplice delta ma usa Deflate
per la compressione effettiva.

L'immagine deve essere salvata in un formato non compresso, ad esempio come TIFF non compresso. La distanza
parametro del filtro Delta è impostato per corrispondere al numero di byte per pixel nell'immagine.
Es. bitmap RGB a 24 bit ha bisogno dist=3, ed è anche bello passare pb=0 a LZMA2 a
ospitare l'allineamento a tre byte:

xz --delta=dist=3 --lzma2=pb=0 foo.tiff

Se più immagini sono state messe in un singolo archivio (es .catrame), il filtro Delta sarà
lavora anche su quello purché tutte le immagini abbiano lo stesso numero di byte per pixel.

Usa xzcat online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

  • 1
    Aarch64-Linux-GNU-GNATBIND
    Aarch64-Linux-GNU-GNATBIND
    moscerino, moscerino, moscerino, moscerino,
    gnatfind, gnathtml, gnatkr, gnatlink,
    moscerini, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - cassetta degli attrezzi GNAT
    DESCRIZIONE: Il...
    Eseguire aarch64-linux-gnu-gnatbind
  • 2
    aarch64-linux-gnu-gnatchop-5
    aarch64-linux-gnu-gnatchop-5
    moscerino, moscerino, moscerino, moscerino,
    gnatfind, gnathtml, gnatkr, gnatlink,
    moscerini, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - cassetta degli attrezzi GNAT
    DESCRIZIONE: Il...
    Eseguire aarch64-linux-gnu-gnatchop-5
  • 3
    cpupower-idle-info
    cpupower-idle-info
    cpupower idle-info - Utilità per
    recuperare le informazioni sul kernel inattivo della cpu
    SINTASSI: cpupower [ -c cpulist ]
    idle-info [opzioni] DESCRIZIONE: Uno strumento
    che stampa p...
    Eseguire cpupower-idle-info
  • 4
    cpupower-idle-set
    cpupower-idle-set
    cpupower idle-set - Utilità per impostare cpu
    opzioni del kernel specifiche per lo stato inattivo
    SINTASSI: cpupower [ -c cpulist ]
    idle-info [opzioni] DESCRIZIONE: The
    cpupower inattivo-se...
    Eseguire cpupower-idle-set
  • 5
    g.mapsetsgrass
    g.mapsetsgrass
    g.mapsets - Modifica/stampa i file dell'utente
    percorso di ricerca mapset corrente. Colpisce il
    l'accesso dell'utente ai dati esistenti ai sensi del
    altri mapset nella posizione corrente. ...
    Eseguire g.mapsetsgrass
  • 6
    g.messagegrass
    g.messagegrass
    g.message - Stampa un messaggio, avviso,
    informazioni sullo stato di avanzamento o errore irreversibile nel file
    Modo ERBA. Questo modulo dovrebbe essere utilizzato in
    script per i messaggi forniti all'utente.
    CHIAVE...
    Esegui g.messagegrass
  • Di Più "

Ad