EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

xzcat - Online în cloud

Rulați xzcat în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda xzcat care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


xz, unxz, xzcat, lzma, unlzma, lzcat - Comprimați sau decomprimați fișierele .xz și .lzma

REZUMAT


xz [opțiune]... [fişier] ...

unxz este echivalent cu xz --decomprima.
xzcat este echivalent cu xz --decomprima --stdout.
lzma este echivalent cu xz --format=lzma.
unlzma este echivalent cu xz --format=lzma --decomprima.
lzcat este echivalent cu xz --format=lzma --decomprima --stdout.

Când scrieți scripturi care trebuie să decomprimați fișierele, este recomandat să utilizați întotdeauna
nume xz cu argumente adecvate (xz -d or xz -DC) în locul numelor unxz și xzcat.

DESCRIERE


xz este un instrument de comprimare a datelor de uz general, cu o sintaxă a liniei de comandă similară cu gzip(1)
și bzip2(1). Formatul de fișier nativ este .xz format, ci moștenirea .lzma format utilizat
de LZMA Utils și fluxuri comprimate brute fără antete în format container sunt, de asemenea
sprijinit.

xz comprimă sau decomprimă fiecare fişier conform modului de operare selectat. Daca nu
fișiere sunt date sau fişier is -, xz citește din intrarea standard și scrie datele procesate
la ieșirea standard. xz va refuza (afișează o eroare și omite fişier) a scrie
date comprimate la ieșire standard dacă este un terminal. În mod similar, xz va refuza să citească
date comprimate de la intrarea standard dacă este un terminal.

dacă nu --stdout este specificat, fișiere altele decât - sunt scrise într-un fișier nou al cărui nume este
derivat din sursă fişier Nume:

· La comprimare, sufixul formatului de fișier țintă (.xz or .lzma) se anexează la
numele fișierului sursă pentru a obține numele fișierului țintă.

· La decomprimare, .xz or .lzma sufixul este eliminat din numele fișierului pentru a obține fișierul
nume de fișier țintă. xz recunoaște și sufixele .txz și .tlz, și le înlocuiește cu
il .gudron sufix.

Dacă fișierul țintă există deja, este afișată o eroare și fişier este omis.

Dacă nu scrieți la ieșirea standard, xz va afișa un avertisment și va omite fişier dacă vreuna dintre
se aplică următoarele:

· Fișier nu este un fișier obișnuit. Legăturile simbolice nu sunt urmate și, prin urmare, nu sunt
considerate a fi dosare obișnuite.

· Fișier are mai mult de o legătură rigidă.

· Fișier are setuid, setgid sau sticky bit set.

· Modul de operare este setat la comprimare și fişier are deja un sufix al țintei
tipul fisierului (.xz or .txz la comprimarea la .xz format și .lzma or .tlz cand
comprimarea la .lzma Format).

· Modul de operare este setat pentru decomprimare și fişier nu are un sufix al niciunui dintre
formatele de fișiere acceptate (.xz, .txz, .lzma, Sau .tlz).

După comprimarea sau decomprimarea cu succes a fişier, xz copiază proprietarul, grupul,
permisiunile, timpul de acces și timpul de modificare de la sursă fişier la fișierul țintă.
Dacă copierea grupului eșuează, permisiunile sunt modificate astfel încât fișierul țintă să nu facă acest lucru
devin accesibile utilizatorilor care nu aveau permisiunea de a accesa sursa fişier. xz
nu acceptă copierea altor metadate, cum ar fi liste de control al accesului sau atribute extinse
încă.

Odată ce fișierul țintă a fost închis cu succes, sursa fişier este eliminat dacă nu
--a pastra a fost specificat. Sursa fişier nu este niciodată eliminat dacă rezultatul este scris în
ieșire standard.

Trimitere SIGINFO or SIGUSR1 la xz procesul îl face să imprime informații despre progres
eroare standard. Acest lucru are o utilizare limitată de când eroarea standard este un terminal, folosind
--verbos va afișa un indicator de progres de actualizare automată.

Memorie folosire
Utilizarea memoriei xz variază de la câteva sute de kilobytes până la câțiva gigabytes, în funcție
pe setările de compresie. Setările utilizate la comprimarea unui fișier determină
cerinţele de memorie ale decompresorului. De obicei, decompresorul are nevoie de 5 % până la 20 %
cantitatea de memorie de care a avut nevoie compresorul la crearea fișierului. De exemplu,
decomprimarea unui fișier creat cu xz -9 în prezent necesită 65 MiB de memorie. Totuși, este
posibil să aibă .xz fișiere care necesită câțiva gigaocteți de memorie pentru decomprimare.

În special utilizatorii de sisteme mai vechi pot găsi posibilitatea unei utilizări foarte mari a memoriei
enervant. Pentru a preveni surprizele neplăcute, xz are un limitator de utilizare a memoriei încorporat,
care este dezactivat implicit. În timp ce unele sisteme de operare oferă modalități de a limita
utilizarea memoriei proceselor, bazarea pe aceasta nu a fost considerată a fi suficient de flexibilă (de exemplu, utilizarea
limită(1) pentru a limita memoria virtuală tinde să paralizeze mmap(2)).

Limitatorul de utilizare a memoriei poate fi activat cu opțiunea din linia de comandă --memlimit=limita.
Adesea este mai convenabil să activați limitatorul în mod implicit prin setarea mediului
variabil XZ_DEFAULTS, de exemplu XZ_DEFAULTS=--memlimit=150MiB. Este posibil să setați
limitele separat pentru compresie și decompresie prin utilizarea --memlimit-compress=limita și
--memlimit-decompress=limita. Folosind aceste două opțiuni în exterior XZ_DEFAULTS este rar util
deoarece o singură rundă de xz nu poate face atât compresie cât și decompresie și
--memlimit=limita (Sau -M limita) este mai scurt de tastat pe linia de comandă.

Dacă limita de utilizare a memoriei specificată este depășită la decomprimare, xz va afișa un
eroare și decomprimarea fișierului va eșua. Dacă limita este depășită la comprimare, xz
va încerca să reducă setările astfel încât limita să nu mai fie depășită (cu excepția cazului în care
folosind --format=raw or --nu-reglare). În acest fel, operațiunea nu va eșua decât dacă limita este
foarte mic. Scalarea setărilor se face în pași care nu se potrivesc cu compresia
presetări de nivel, de exemplu dacă limita este doar puțin mai mică decât cantitatea necesară pentru xz -9,
setările vor fi reduse doar puțin, nu până la xz -8.

Concatenare și umplutură cu .xz fișiere
Este posibil să se concateneze .xz fișierele așa cum sunt. xz va decomprima astfel de fișiere ca și cum ar fi
au fost singuri .xz fișier.

Este posibil să se introducă umplutură între părțile concatenate sau după ultima parte.
Umplutura trebuie să fie compusă din octeți nuli, iar dimensiunea umpluturii trebuie să fie un multiplu de
patru octeți. Acest lucru poate fi util, de exemplu, dacă .xz fișierul este stocat pe un mediu care măsoară
dimensiunile fișierelor în blocuri de 512 octeți.

Concatenarea și umplutura nu sunt permise cu .lzma fișiere sau fluxuri brute.

OPŢIUNI


Întreg sufixe și special Valorile
În majoritatea locurilor în care este de așteptat un argument întreg, este acceptat un sufix opțional pentru
indica cu ușurință numere întregi mari. Nu trebuie să existe spațiu între întreg și
sufix.

KiB Înmulțiți numărul întreg cu 1,024 (2^10). Ki, k, kB, K, și KB sunt acceptate ca
sinonime pentru KiB.

Eb Înmulțiți numărul întreg cu 1,048,576 (2^20). Mi, m, M, și MB sunt acceptate ca
sinonime pentru Eb.

GiB Înmulțiți numărul întreg cu 1,073,741,824 (2^30). Gi, g, G, și GB sunt acceptate ca
sinonime pentru GiB.

Valoarea specială max poate fi folosit pentru a indica valoarea maximă întreagă suportată de
opțiune.

Ziua Operației mod
Dacă sunt date mai multe opțiuni de mod de funcționare, ultima are efect.

-z, --comprima
Comprima. Acesta este modul de operare implicit când nu există nicio opțiune de mod de funcționare
specificat și niciun alt mod de operare nu este implicat din numele comenzii (pentru
exemplu, unxz implică --decomprima).

-d, --decomprima, --decomprimați
Decomprimați.

-t, --Test
Testați integritatea comprimatului fișiere. Această opțiune este echivalentă cu --decomprima
--stdout cu excepția faptului că datele decomprimate sunt aruncate în loc să fie scrise în
ieșire standard. Nu sunt create sau eliminate fișiere.

-l, --listă
Tipăriți informații despre comprimat fișiere. Nu se produce o ieșire necomprimată și
nu sunt create sau eliminate fișiere. În modul listă, programul nu poate citi
date comprimate de la intrare standard sau din alte surse de necăutat.

Lista implicită arată informații de bază despre fișiere, un fișier pe linie. A obține
informații mai detaliate, utilizați și --verbos opțiune. Pentru chiar mai mult
informație, utilizare --verbos de două ori, dar rețineți că acest lucru poate fi lent, deoarece obținerea
toate informațiile suplimentare necesită multe căutări. Lățimea ieșirii detaliate depășește
80 de caractere, deci canalizarea ieșirii la de ex mai puțin -S poate fi convenabil dacă
terminalul nu este suficient de lat.

Ieșirea exactă poate varia între xz versiuni și diferite locații. Pentru mașină-
ieșire lizibilă, --robot --listă ar trebui folosit.

Ziua Operației modificatori
-k, --a pastra
Nu ștergeți fișierele de intrare.

-f, --forta
Această opțiune are mai multe efecte:

· Dacă fișierul țintă există deja, ștergeți-l înainte de comprimare sau
decomprimarea.

· Comprimați sau decomprimați chiar dacă intrarea este o legătură simbolică către un fișier obișnuit,
are mai multe legături hard sau are setuid, setgid sau sticky bit setat. The
Biții setuid, setgid și sticky nu sunt copiați în fișierul țintă.

· Când este utilizat cu --decomprima --stdout și xz nu poate recunoaște tipul de
fișier sursă, copiați fișierul sursă așa cum este în ieșirea standard. Asta permite xzcat
--forta a fi folosit ca pisică(1) pentru fișierele care nu au fost comprimate cu xz.
Rețineți că în viitor, xz ar putea accepta noi formate de fișiere comprimate, ceea ce poate
face xz decomprimați mai multe tipuri de fișiere în loc să le copiați așa cum este standard
ieșire. --format=format poate fi folosit pentru a restricționa xz pentru a decomprima doar unul singur
tipul fisierului.

-c, --stdout, --la-stdout
Scrieți datele comprimate sau decomprimate la ieșirea standard în loc de un fișier.
Asta implică --a pastra.

--un singur flux
Decomprimați doar primul .xz transmite în flux și ignoră în tăcere posibilele intrări rămase
date în urma fluxului. În mod normal, astfel de gunoi în urmă face xz afiseaza an
eroare.

xz nu decomprimă niciodată mai mult de un flux din .lzma fișiere sau fluxuri brute, dar
această opțiune încă face xz ignorați posibilele date finale după .lzma fişier
sau flux brut.

Această opțiune nu are efect dacă modul de funcționare nu este --decomprima or --Test.

--nu-rare
Dezactivați crearea de fișiere rare. În mod implicit, dacă se decomprima într-un obișnuit
fişier, xz încearcă să facă fișierul rar dacă datele decomprimate conțin lungi
secvențe de zerouri binare. Funcționează, de asemenea, atunci când scrieți la ieșirea standard cât timp
ca ieșire standard este conectată la un fișier obișnuit și anumite condiții suplimentare
sunt îndeplinite pentru a fi în siguranță. Crearea de fișiere rare poate economisi spațiu pe disc și poate accelera
decompresia prin reducerea cantității de I/O pe disc.

-S .suf, --sufix=.suf
Când comprimați, utilizați .suf ca sufix pentru fișierul țintă în loc de .xz or
.lzma. Dacă nu scrieți în ieșirea standard și fișierul sursă are deja fișierul
sufix .suf, este afișat un avertisment și fișierul este omis.

Când decomprimați, recunoașteți fișierele cu sufixul .suf pe lângă fișierele cu
il .xz, .txz, .lzma, Sau .tlz sufix. Dacă fișierul sursă are sufixul .suf,
sufixul este eliminat pentru a obține numele fișierului țintă.

La comprimarea sau decomprimarea fluxurilor brute (--format=raw), sufixul trebuie
să fie întotdeauna specificat, cu excepția cazului în care se scrie la ieșirea standard, deoarece nu există nicio valoare implicită
sufix pentru fluxuri brute.

--fișiere[=fişier]
Citiți numele fișierelor din care să procesați fişier; dacă fişier este omis, numele fișierelor sunt citite
de la intrare standard. Numele de fișiere trebuie să fie terminate cu caracterul newline. A
liniuță (-) este luat ca un nume de fișier obișnuit; nu înseamnă intrare standard. Dacă
numele de fișiere sunt date și ca argumente de linie de comandă, ele sunt procesate înainte de
nume de fișiere citite din fişier.

--fișiere0[=fişier]
Acesta este identic cu --fișiere[=fişier] cu excepția faptului că fiecare nume de fișier trebuie să fie terminat
cu caracterul nul.

pachet de bază fişier format și comprimare Opțiuni
-F format, --format=format
Specificați fișierul format a comprima sau decomprima:

Auto Aceasta este valoarea implicită. La comprimare, Auto este echivalent cu xz. Când
decomprimarea, formatul fișierului de intrare este detectat automat. Notă
acele fluxuri brute (create cu --format=raw) nu poate fi detectat automat.

xz Comprimați până la .xz format de fișier sau acceptați numai .xz fisiere cand
decomprimarea.

lzma, singur
Comprimați până la moștenire .lzma format de fișier sau acceptați numai .lzma fisiere cand
decomprimarea. Numele alternativ singur este prevăzut pentru înapoi
compatibilitate cu LZMA Utils.

crud Comprimați sau decomprimați un flux brut (fără anteturi). Aceasta este destinată
numai utilizatori avansați. Pentru a decoda fluxurile brute, trebuie să utilizați --format=raw și
specificați în mod explicit lanțul de filtre, care în mod normal ar fi fost stocat
în anteturile containerului.

-C verifica, --verifica=verifica
Specificați tipul verificării integrității. Cecul se calculează din
date necomprimate și stocate în .xz fişier. Această opțiune are efect numai atunci când
comprimarea în .xz format; cel .lzma formatul nu acceptă verificări de integritate.
Verificarea integrității (dacă există) este verificată atunci când .xz fișierul este decomprimat.

Suportat verifica tipuri:

nici unul Nu calcula deloc o verificare a integrității. Aceasta este de obicei o idee proastă.
Acest lucru poate fi util atunci când integritatea datelor este verificată prin alte mijloace
oricum.

crc32 Calculați CRC32 folosind polinomul din IEEE-802.3 (Ethernet).

crc64 Calculați CRC64 folosind polinomul din ECMA-182. Aceasta este valoarea implicită,
deoarece este puțin mai bun decât CRC32 la detectarea fișierelor deteriorate și
diferența de viteză este neglijabilă.

sha256 Calculați SHA-256. Acest lucru este oarecum mai lent decât CRC32 și CRC64.

Integritatea .xz anteturile este întotdeauna verificată cu CRC32. Nu se poate
schimbați-l sau dezactivați-l.

-0 ... -9
Selectați un nivel prestabilit de compresie. Valoarea implicită este -6. Dacă mai multe niveluri prestabilite
sunt specificate, ultima intră în vigoare. Dacă un lanț de filtre personalizat a fost deja
specificat, setarea unui nivel prestabilit de compresie șterge lanțul de filtre personalizat.

Diferențele dintre presetări sunt mai semnificative decât cu gzip(1) și
bzip2(1). Setările de compresie selectate determină cerințele de memorie ale
decompresorul, astfel încât utilizarea unui nivel prea mare prestabilit ar putea face dureros
decomprimați fișierul pe un sistem vechi cu puțină RAM. Specific, este nu a
bine idee la orbeşte utilizare -9 pentru tot cum este adesea cu gzip(1) și
bzip2(1).

-0 ... -3
Acestea sunt presetări oarecum rapide. -0 este uneori mai rapid decât gzip -9 în timp ce
comprimand mult mai bine. Cele mai înalte au adesea viteză comparabilă cu
bzip2(1) cu un raport de compresie comparabil sau mai bun, deși rezultatele
depind foarte mult de tipul de date care sunt comprimate.

-4 ... -6
Compresie bună până la foarte bună, păstrând în același timp utilizarea memoriei decompresorului
rezonabil chiar și pentru sistemele vechi. -6 este implicit, care este de obicei un bun
alegere, de exemplu, pentru distribuirea fișierelor care trebuie să fie decompresibile chiar și pe
sisteme cu doar 16 MiB RAM. (-5 ° or -6 ° poate merita luat in considerare si.
Vedea --extrem.)

-7 ... -9
Acestea sunt ca -6 dar cu memorie mai mare pentru compresor și decompresor
cerințe. Acestea sunt utile numai atunci când se comprimă fișiere mai mari decât
8 MiB, 16 MiB și, respectiv, 32 MiB.

Pe același hardware, viteza de decompresie este aproximativ un număr constant de
octeți de date comprimate pe secundă. Cu alte cuvinte, cu cât compresia este mai bună,
cu atât decompresia va fi de obicei mai rapidă. Aceasta înseamnă, de asemenea, că suma de
ieșirea necomprimată produsă pe secundă poate varia foarte mult.

Următorul tabel rezumă caracteristicile presetărilor:

Presetat DictSize 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

Descrieri coloane:

· DictSize este dimensiunea dicționarului LZMA2. Este risipă de memorie să folosești a
dicționar mai mare decât dimensiunea fișierului necomprimat. Acesta este motivul pentru care este
bine să evitați utilizarea presetărilor -7 ... -9 când nu este nevoie reală de ele.
At -6 și mai mic, cantitatea de memorie irosită este de obicei suficient de mică pentru a nu
materie.

· CompCPU este o reprezentare simplificată a setărilor LZMA2 care afectează
viteza de compresie. Dimensiunea dicționarului afectează și viteza, deci în timp ce CompCPU este
la fel pentru niveluri -6 ... -9, nivelurile mai mari tind să fie puțin mai lente.
Pentru a obține o compresie și mai lentă și, astfel, posibil mai bună, vezi --extrem.

· CompMem conține cerințele de memorie pentru compresor în modul cu un singur fir.
Poate varia ușor între xz versiuni. Cerințele de memorie ale unora dintre
viitoarele moduri multithreaded pot fi dramatic mai mari decât cea a unui singur
modul filetat.

· DecMem conține cerințele de memorie pentru decompresor. Adică compresia
setările determină cerințele de memorie ale decompresorului. Exact
Utilizarea memoriei decompresorului este puțin mai mare decât dimensiunea dicționarului LZMA2, dar
valorile din tabel au fost rotunjite la următorul MiB complet.

-e, --extrem
Utilizați o variantă mai lentă a nivelului presetat de compresie selectat (-0 ... -9) Pentru a
sper să obțineți un raport de compresie puțin mai bun, dar cu ghinion se poate
de asemenea, face mai rău. Utilizarea memoriei decompresorului nu este afectată, dar compresorul
utilizarea memoriei crește puțin la niveluri prestabilite -0 ... -3.

Deoarece există două presetări cu dimensiuni de dicționar 4 MiB și 8 MiB, presetări -3 °
și -5 ° utilizați setări puțin mai rapide (compCPU mai mic) decât -4 ° și -6 °,
respectiv. În acest fel, nu există două presetări identice.

Presetat DictSize 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

De exemplu, există un total de patru presetări care folosesc dicționar de 8 MiB, ale căror
ordine de la cel mai rapid la cel mai lent este -5, -6, -5 °, și -6 °.

--rapid
--Cel mai bun Acestea sunt pseudonime oarecum înșelătoare pentru -0 și -9, respectiv. Acestea sunt
furnizat numai pentru compatibilitatea cu LZMA Utils. Evitați utilizarea acestora
opțiuni.

--block-size=mărimea
La comprimarea la .xz format, împărțiți datele de intrare în blocuri de mărimea octeți.
Blocurile sunt comprimate independent unul de celălalt.

--memlimit-compress=limita
Setați o limită de utilizare a memoriei pentru compresie. Dacă această opțiune este specificată multiplu
ori, ultima intră în vigoare.

Dacă setările de compresie depășesc valoarea limita, xz va ajusta setările în jos
astfel încât limita să nu mai fie depășită și să afișeze un anunț care automat
ajustarea a fost făcută. Astfel de ajustări nu se fac la comprimarea cu
--format=raw sau daca --nu-reglare a fost specificat. În aceste cazuri, o eroare este
afișat și xz va ieși cu starea de ieșire 1.

limita poate fi specificat în mai multe moduri:

· limita poate fi o valoare absolută în octeți. Folosind un sufix întreg ca Eb
poate fi de folos. Exemplu: --memlimit-compress=80MiB

· limita poate fi specificat ca procent din memoria fizică totală (RAM). Acest
poate fi util mai ales la setarea XZ_DEFAULTS variabilă de mediu în a
Scriptul de inițializare shell care este partajat între diferite computere. Acea
modul în care limita este automat mai mare pe sistemele cu mai multă memorie. Exemplu:
--memlimit-compress=70%

· limita poate fi resetat la valoarea implicită setând-o la 0. Acest lucru este
în prezent echivalent cu setarea limita la max (fără limită de utilizare a memoriei). O singura data
a fost implementat suportul multithreading, poate exista o diferență între 0
și max pentru carcasa multithreaded, deci se recomanda utilizarea 0 în loc de max
până se vor decide detaliile.

Vezi și secțiunea Memorie folosire.

--memlimit-decompress=limita
Setați o limită de utilizare a memoriei pentru decompresie. Acest lucru afectează și --listă modul. Dacă
operațiunea nu este posibilă fără a depăși valoarea limita, xz va afișa o eroare
iar decomprimarea fișierului va eșua. Vedea --memlimit-compress=limita pentru posibil
modalități de a specifica limita.

-M limita, --memlimit=limita, --memorie=limita
Acest lucru este echivalent cu specificarea --memlimit-compress=limita
--memlimit-decompress=limita.

--nu-reglare
Afișați o eroare și ieșiți dacă setările de compresie depășesc utilizarea memoriei
limită. Implicit este ajustarea setărilor în jos, astfel încât utilizarea memoriei
limita nu este depășită. Ajustarea automată este întotdeauna dezactivată la crearea brută
fluxuri (--format=raw).

-T fire, --fire=fire
Specificați numărul de fire de lucru de utilizat. Numărul real de fire poate fi
mai puțin de fire dacă folosirea mai multor fire ar depăși limita de utilizare a memoriei.

Multithread comprimare și decompresie sunt nu implementat inca, so acest opțiune
are Nu. efect pentru acum.

As of scris (2010-09-27), it nu are fost hotărât if fire voi be utilizat by
lipsă on multicore sisteme dată a sustine pentru filetat are fost implementat.
Comentarii sunt Bine ati venit. Factorul de complicare este că folosirea multor fire va face
crește dramatic utilizarea memoriei. Rețineți că, dacă multithreading va fi
implicit, probabil că se va face astfel încât modurile single-threaded și multithreaded
produce aceeași ieșire, astfel încât raportul de compresie nu va fi afectat în mod semnificativ dacă
threadingul va fi activat implicit.

pachet personalizat compresor filtru lanţuri
Un lanț de filtre personalizat permite specificarea setărilor de compresie în detaliu în loc de
bazându-se pe setările asociate nivelurilor prestabilite. Când un lanț de filtre personalizat este
specificate, opțiunile nivelului presetat de compresie (-0 ... -9 și --extrem) sunt în tăcere
ignorat.

Un lanț de filtrare este comparabil cu conductele de pe linia de comandă. La comprimare,
intrarea necomprimată merge la primul filtru, a cărui ieșire merge la următorul filtru (dacă
orice). Ieșirea ultimului filtru este scrisă în fișierul comprimat. Maximul
numărul de filtre din lanț este de patru, dar de obicei un lanț de filtre are doar unul sau două
Filtre.

Multe filtre au limitări în ceea ce privește locul în care pot fi în lanțul de filtre: unele filtre pot
funcționează doar ca ultimul filtru din lanț, unele doar ca non-ultimul filtru, iar altele funcționează
în orice poziție din lanț. În funcție de filtru, această limitare este fie inerentă
la designul filtrului sau există pentru a preveni problemele de securitate.

Un lanț de filtre personalizat este specificat utilizând una sau mai multe opțiuni de filtrare în ordinea lor
sunt dorite în lanțul de filtrare. Adică, ordinea opțiunilor de filtrare este semnificativă!
La decodificarea fluxurilor brute (--format=raw), lanțul de filtrare este specificat în aceeași ordine
asa cum a fost specificat la comprimare.

Filtrele iau specifice filtrului Opțiuni ca o listă separată prin virgulă. În plus virgule Opțiuni
sunt ignorate. Fiecare opțiune are o valoare implicită, așa că trebuie să specificați numai cele dorite
să se schimbe.

--lzma1[=Opțiuni]
--lzma2[=Opțiuni]
Adăugați filtrul LZMA1 sau LZMA2 la lanțul de filtre. Aceste filtre pot fi folosite doar ca
ultimul filtru din lanț.

LZMA1 este un filtru vechi, care este acceptat aproape exclusiv datorită moștenirii .lzma
format de fișier, care acceptă numai LZMA1. LZMA2 este o versiune actualizată a LZMA1 la
remediați unele probleme practice ale LZMA1. The .xz formatul folosește LZMA2 și nu acceptă
LZMA1 la toate. Viteza de compresie și rapoartele LZMA1 și LZMA2 sunt practic
la fel.

LZMA1 și LZMA2 au același set de Opțiuni:

presetat=presetat
Resetați toate LZMA1 sau LZMA2 Opțiuni la presetat. Presetare consta dintr-un număr întreg,
care pot fi urmate de modificatori prestabiliți cu o singură literă. Numărul întreg poate fi
din 0 la 9, potrivind opțiunile liniei de comandă -0 ... -9. Singurul
modificatorul acceptat este în prezent e, care se potrivește --extrem. Implicit
presetat is 6, din care valorile implicite pentru restul LZMA1 sau
LZMA2 Opțiuni sunt luate.

dict=mărimea
Dicționar (buffer istoric) mărimea indică câți octeți de recent
datele procesate necomprimate sunt păstrate în memorie. Algoritmul încearcă să găsească
repetarea secvențelor de octeți (potriviri) în datele necomprimate și înlocuiți
ele cu referințe la datele aflate în prezent în dicționar. Cel mai mare
dicționar, cu atât mai mare este șansa de a găsi o potrivire. Astfel, crescând
dicţionar mărimea de obicei îmbunătățește raportul de compresie, dar un dicționar mai mare
decât fișierul necomprimat este risipă de memorie.

Dicționar tipic mărimea este de la 64 KiB la 64 MiB. Minimul este de 4 KiB.
Maximul pentru compresie este în prezent de 1.5 GiB (1536 MiB). The
decompresorul acceptă deja dicționare de până la un octet mai puțin de 4 GiB,
care este maximul pentru formatele de flux LZMA1 și LZMA2.

Dicționar mărimea și găsitorul de potriviri (mf) împreună determină utilizarea memoriei
codificatorul LZMA1 sau LZMA2. Același dicționar (sau mai mare). mărimea is
necesar pentru decomprimarea care a fost folosită la comprimare, deci memoria
utilizarea decodorului este determinată de dimensiunea dicționarului folosit când
comprimarea. The .xz anteturile stochează dicționarul mărimea fie ca 2^n sau 2^n
+ 2^(n-1), deci acestea dimensiuni sunt oarecum preferate pentru compresie. Alte
dimensiuni va fi rotunjit atunci când este stocat în .xz anteturi.

lc=lc Specificați numărul de biți de context literal. Minimul este 0 și
maxim 4; implicit este 3. În plus, suma de lc și lp nu trebuie să
depaseste 4.

Toți octeții care nu pot fi codificați ca potriviri sunt codificați ca literali. Acea
este, literalii sunt pur și simplu octeți de 8 biți care sunt codificați unul câte unul.

Codarea literală presupune că cea mai mare lc bucăți de
octetul anterior necomprimat se corelează cu octetul următor. De exemplu, în tipic
Text în limba engleză, o literă mare este adesea urmată de o literă mică,
iar o literă mică este de obicei urmată de o altă literă mică.
În setul de caractere US-ASCII, cei mai mari trei biți sunt 010 pentru majuscule
litere și 011 pentru litere mici. Cand lc este cel puțin 3, literalul
codificarea poate profita de această proprietate în datele necomprimate.

Valoarea implicită (3) este de obicei bună. Dacă doriți compresie maximă,
test lc=4. Uneori ajută puțin, iar uneori face compresie
mai rea. Dacă o agravează, testați de ex lc=2 prea.

lp=lp Specificați numărul de biți de poziție literală. Minimul este 0 și
maxim 4; implicit este 0.

Lp afectează ce fel de aliniere în datele necomprimate este presupus când
codificarea literalelor. Vedea pb mai jos pentru mai multe informații despre aliniere.

pb=pb Specificați numărul de biți de poziție. Minimul este 0 și maximul este 4;
implicit este 2.

Pb afectează ce fel de aliniere a datelor necomprimate este presupusă
general. Implicit înseamnă alinierea pe patru octeți (2^pb=2^2=4), care este adesea
o alegere bună atunci când nu există o presupunere mai bună.

Când aliniamentul este cunoscut, setarea pb în consecință, poate reduce dimensiunea fișierului
puțin. De exemplu, cu fișiere text cu aliniere pe un octet (US-ASCII,
ISO-8859-*, UTF-8), setare pb=0 poate îmbunătăți ușor compresia. Pentru
text UTF-16, pb=1 este o alegere bună. Dacă alinierea este un număr impar, cum ar fi
3 octeți, pb=0 ar putea fi cea mai bună alegere.

Chiar dacă alinierea presupusă poate fi ajustată cu pb și lp, LZMA1 și
LZMA2 favorizează încă puțin alinierea pe 16 octeți. Ar putea merita luat în considerare
cont atunci când proiectați formate de fișiere care pot fi adesea comprimate
cu LZMA1 sau LZMA2.

mf=mf Căutarea potrivirilor are un efect major asupra vitezei codificatorului, utilizării memoriei și
rata compresiei. De obicei, căutările de potrivire Hash Chain sunt mai rapide decât Binary
Găsește potriviri arbore. Valoarea implicită depinde de presetat: 0 utilizări hc3, 1-3 utilizare
hc4, iar restul folosesc bt4.

Sunt acceptate următoarele opțiuni de căutare de potriviri. Formulele de utilizare a memoriei de mai jos
sunt aproximări grosiere, care se apropie cel mai mult de realitate când dict este
puterea a doi.

hc3 Hash Chain cu hashing de 2 și 3 octeți
Valoarea minima pentru frumos: 3
Folosirea memoriei:
dict * 7.5 (dacă dict <= 16 MiB);
dict * 5.5 + 64 MiB (dacă dict > 16 MiB)

hc4 Hash Chain cu hashing de 2, 3 și 4 octeți
Valoarea minima pentru frumos: 4
Folosirea memoriei:
dict * 7.5 (dacă dict <= 32 MiB);
dict * 6.5 (dacă dict > 32 MiB)

bt2 Arbore binar cu hashing de 2 octeți
Valoarea minima pentru frumos: 2
Folosirea memoriei: dict * 9.5

bt3 Arbore binar cu hashing de 2 și 3 octeți
Valoarea minima pentru frumos: 3
Folosirea memoriei:
dict * 11.5 (dacă dict <= 16 MiB);
dict * 9.5 + 64 MiB (dacă dict > 16 MiB)

bt4 Arbore binar cu hashing de 2, 3 și 4 octeți
Valoarea minima pentru frumos: 4
Folosirea memoriei:
dict * 11.5 (dacă dict <= 32 MiB);
dict * 10.5 (dacă dict > 32 MiB)

mod=mod
Comprimare mod precizează metoda de analiză a datelor produse de
găsitor de potriviri. Sprijinit moduri de sunt rapid și normală.. Implicit este rapid pentru
presetări 0-3 și normală. pentru presetări 4-9.

Obișnuit rapid este utilizat cu instrumentele de căutare de potriviri Hash Chain și normală. cu Binary
Găsește potriviri arbore. Acesta este, de asemenea, ceea ce presetări face.

frumos=frumos
Specificați ceea ce este considerat a fi o lungime bună pentru un meci. Odată un meci de
cel puțin frumos octeți sunt găsiți, algoritmul nu mai caută posibil
meciuri mai bune.

Frumos poate fi de 2-273 de octeți. Valorile mai mari tind să ofere o compresie mai bună
raportul în detrimentul vitezei. Valoarea implicită depinde de presetat.

adâncime=adâncime
Specificați adâncimea maximă de căutare în găsitorul de potriviri. Valoarea implicită este
valoare specială de 0, ceea ce face ca compresorul să determine o valoare rezonabilă adâncime
din mf și frumos.

Rezonabil adâncime pentru Hash Chains este 4-100 și 16-1000 pentru arbori binari.
Folosind valori foarte mari pentru adâncime poate face codificatorul extrem de lent cu
unele fisiere. Evitați setarea adâncime peste 1000, dacă nu ești pregătit
întrerupeți compresia în cazul în care durează prea mult.

La decodificarea fluxurilor brute (--format=raw), LZMA2 are nevoie doar de dicționar mărimea.
LZMA1 are nevoie de asemenea lc, lp, și pb.

--x86[=Opțiuni]
--powerpc[=Opțiuni]
--ia64[=Opțiuni]
--braţ[=Opțiuni]
--degetul mare[=Opțiuni]
--sparc[=Opțiuni]
Adăugați un filtru de ramură/apel/salt (BCJ) la lanțul de filtre. Aceste filtre pot fi folosite
numai ca filtru non-ultim în lanțul de filtrare.

Un filtru BCJ convertește adresele relative din codul mașinii în valoarea lor absolută
omologii. Acest lucru nu schimbă dimensiunea datelor, dar crește
redundanță, care poate ajuta LZMA2 să producă cu 0-15 % mai mic .xz fişier. BCJ
filtrele sunt întotdeauna reversibile, deci folosirea unui filtru BCJ pentru tipul greșit de date nu
poate provoca pierderi de date, deși poate înrăutăți puțin raportul de compresie.

Este bine să aplicați un filtru BCJ pe un întreg executabil; nu este nevoie să-l aplici
numai pe secțiunea executabilă. Aplicarea unui filtru BCJ pe o arhivă care conține
atât fișierele executabile, cât și cele neexecutabile pot da sau nu rezultate bune, așa că
în general, nu este bine să aplicați orbește un filtru BCJ atunci când comprimați pachetele binare
pentru distribuire.

Aceste filtre BCJ sunt foarte rapide și folosesc o cantitate nesemnificativă de memorie. Dacă un BCJ
filtrul îmbunătățește raportul de compresie al unui fișier, poate îmbunătăți viteza de decompresie la
acelasi timp. Acest lucru se datorează faptului că, pe același hardware, viteza de decompresie a
LZMA2 este aproximativ un număr fix de octeți de date comprimate pe secundă.

Aceste filtre BCJ au probleme cunoscute legate de raportul de compresie:

· Unele tipuri de fișiere care conțin cod executabil (de exemplu fișiere obiect, fișiere statice
biblioteci și module de kernel Linux) au adresele din instrucțiuni
umplut cu valori de umplere. Aceste filtre BCJ vor face în continuare adresa
conversie, ceea ce va înrăutăți compresia cu aceste fișiere.

· Aplicarea unui filtru BCJ pe o arhivă care conține mai multe executabile similare poate
faceți raportul de compresie mai rău decât nu folosiți un filtru BCJ. Asta pentru ca
filtrul BCJ nu detectează limitele fișierelor executabile și
nu resetează contorul de conversie a adresei pentru fiecare executabil.

Ambele probleme de mai sus vor fi rezolvate în viitor într-un nou filtru. Bătrânii
Filtrele BCJ vor fi în continuare utile în sistemele încorporate, deoarece decodorul
noul filtru va fi mai mare și va folosi mai multă memorie.

Seturi de instrucțiuni diferite au o aliniere diferită:

Notele de aliniere a filtrului
x86 1 x32 pe 64 de biți sau 86 de biți
Numai PowerPC 4 Big Endian
ARM 4 Numai Little Endian
ARM-Thumb 2 Numai Little Endian
IA-64 16 Endian mare sau mic
SPARC 4 Endian mare sau mic

Deoarece datele filtrate BCJ sunt de obicei comprimate cu LZMA2, raportul de compresie
poate fi ușor îmbunătățită dacă opțiunile LZMA2 sunt setate pentru a se potrivi cu alinierea
filtrul BCJ selectat. De exemplu, cu filtrul IA-64, e bine de setat pb=4
cu LZMA2 (2^4=16). Filtrul x86 este o excepție; de obicei e bine să te ții de
Alinierea implicită de patru octeți a LZMA2 la comprimarea executabilelor x86.

Toate filtrele BCJ acceptă același lucru Opțiuni:

începe=compensa
Specificați începutul compensa care este folosit la conversia între relativă și
adrese absolute. The compensa trebuie să fie un multiplu al alinierii
filtru (vezi tabelul de mai sus). Valoarea implicită este zero. În practică,
implicit este bun; specificarea unui obicei compensa aproape niciodată nu este util.

--delta[=Opțiuni]
Adăugați filtrul Delta la lanțul de filtre. Filtrul Delta poate fi folosit doar ca
nu ultimul filtru din lanțul de filtrare.

În prezent, este acceptat doar calculul delta în funcție de octeți. Poate fi util
la comprimarea de ex. imagini bitmap necomprimate sau audio PCM necomprimat.
Cu toate acestea, algoritmii cu scop special pot da rezultate semnificativ mai bune decât
Delta + LZMA2. Acest lucru este valabil mai ales în cazul audio, care se comprimă mai repede și
mai bine de exemplu cu flac(1).

Suportat Opțiuni:

dist=distanţă
Se specifică distanţă a calculului delta în octeți. distanţă trebuie să fie
1-256. Valoarea implicită este 1.

De exemplu, cu dist=2 și intrare de opt octeți A1 B1 A2 B3 A3 B5 A4 B7, the
ieșirea va fi A1 B1 01 02 01 02 01 02.

Altele Opțiuni
-q, --Liniște
Suprimați avertismentele și notificările. Specificați acest lucru de două ori pentru a suprima și erorile. Acest
opțiunea nu are niciun efect asupra stării de ieșire. Adică, chiar dacă a fost un avertisment
suprimată, starea de ieșire pentru a indica o avertizare este încă utilizată.

-v, --verbos
Fii verbis. Dacă eroarea standard este conectată la un terminal, xz va afișa un
indicator de progres. Precizând --verbos de două ori va da rezultate și mai detaliate.

Indicatorul de progres arată următoarele informații:

· Procentul de finalizare este afișat dacă se cunoaște dimensiunea fișierului de intrare. Acesta este,
procentul nu poate fi indicat în conducte.

· Cantitatea de date comprimate produsă (comprimare) sau consumată (decomprimare).

· Cantitatea de date necomprimate consumată (comprimare) sau produsă (decomprimare).

· Raportul de compresie, care se calculează prin împărțirea cantității de date comprimate
procesate până acum cu cantitatea de date necomprimate procesate până acum.

· Viteza de compresie sau decompresie. Aceasta este măsurată ca cantitate de
date necomprimate consumate (compresie) sau produse (decompresie) pe secundă.
Este afișat după ce au trecut câteva secunde de atunci xz a început procesarea
fișier.

· Timp scurs în formatul M:SS sau H:MM:SS.

· Timpul rămas estimat este afișat numai atunci când dimensiunea fișierului de intrare este cunoscută
și deja au trecut câteva secunde de atunci xz a început procesarea
fişier. Ora este afișată într-un format mai puțin precis, care nu are niciodată două puncte,
de exemplu 2 min 30 s.

Când eroarea standard nu este un terminal, --verbos va face xz tipăriți numele fișierului,
dimensiunea comprimată, dimensiunea necomprimată, raportul de compresie și, eventual, de asemenea viteza
și timpul scurs pe o singură linie la eroare standard după comprimare sau
decomprimarea fișierului. Viteza și timpul scurs sunt incluse numai atunci când
operațiunea a durat cel puțin câteva secunde. Dacă operațiunea nu s-a încheiat, de exemplu din cauza
întreruperea utilizatorului, de asemenea, procentul de finalizare este tipărit dacă dimensiunea
fișierul de intrare este cunoscut.

-Q, --nu-avertizam
Nu setați starea de ieșire la 2 chiar dacă a fost detectată o condiție care merită avertizare.
Această opțiune nu afectează nivelul de verbozitate, deci ambele --Liniște și --nu-avertizam
trebuie utilizate pentru a nu afișa avertismente și pentru a nu modifica starea de ieșire.

--robot
Imprimați mesajele într-un format analizabil de mașină. Acest lucru are scopul de a ușura scrierea
frontend-uri care doresc să le folosească xz în loc de liblzma, ceea ce poate fi cazul cu
diverse scenarii. Ieșirea cu această opțiune activată este menită să fie stabilă
xz eliberează. Vezi secțiunea ROBOT MODE pentru detalii.

--info-memorie
Afișează, în format care poate fi citit de om, câtă memorie fizică (RAM) xz crede că
sistemul are și limitele de utilizare a memoriei pentru compresie și decompresie și ieșire
cu succes.

-h, --Ajutor
Afișați un mesaj de ajutor care descrie opțiunile cele mai frecvent utilizate și ieșiți
cu succes.

-H, --lung-ajutor
Afișează un mesaj de ajutor care descrie toate caracteristicile xz, și ieșiți cu succes

-V, --versiune
Afișează numărul versiunii de xz și liblzma în format care poate fi citit de om. A obține
ieșire analizabilă de mașină, specificați --robot înainte --versiune.

ROBOT MODE


Modul robot este activat cu --robot opțiune. Face ieșirea din xz mai ușor să
analiza prin alte programe. În prezent --robot este suportat numai împreună cu --versiune,
--info-memorie, și --listă. Va fi suportat pentru compresie și decompresie normale
în viitor.

Versiune
xz --robot --versiune va tipări numărul versiunii de xz si liblzma in cele ce urmeaza
format:

XZ_VERSION=XYYYZZZS
LIBLZMA_VERSION=XYYYZZZS

X Versiune majoră.

AAAA Versiune minoră. Cifrele pare sunt stabile. Numerele impare sunt versiuni alfa sau beta.

ZZZ Nivel de patch pentru versiuni stabile sau doar un contor pentru versiunile de dezvoltare.

S Stabilitate. 0 este alfa, 1 este beta și 2 este stabil. S ar trebui să fie întotdeauna 2 când AAAA
este chiar.

XYYYZZZS sunt aceleași pe ambele linii dacă xz și liblzma sunt din aceeași versiune XZ Utils.

Exemple: 4.999.9beta este 49990091 iar 5.0.0 este 50000002.

Memorie limita informații
xz --robot --info-memorie tipărește o singură linie cu trei coloane separate prin file:

1. Cantitatea totală de memorie fizică (RAM) în octeți

2. Limita de utilizare a memoriei pentru compresie în octeți. O valoare specială de zero indică
setarea implicită, care pentru modul cu un singur fir este aceeași cu fără limită.

3. Limita de utilizare a memoriei pentru decompresie în octeți. O valoare specială de zero indică
setarea implicită, care pentru modul cu un singur fir este aceeași cu fără limită.

În viitor, producția de xz --robot --info-memorie poate avea mai multe coloane, dar niciodată
mai mult de o singură linie.

Listă mod
xz --robot --listă folosește ieșire separată de tabulatori. Prima coloană a fiecărei linii are un șir
care indică tipul de informații găsite pe acea linie:

nume Aceasta este întotdeauna prima linie când începeți listarea unui fișier. A doua coloană pe
linia este numele fișierului.

fişier Această linie conține informații generale despre .xz fişier. Această linie este întotdeauna
tipărit după nume linia.

curent Acest tip de linie este utilizat numai când --verbos a fost specificat. Sunt tot atâtea curent
linii deoarece există fluxuri în .xz fișier.

bloca Acest tip de linie este utilizat numai când --verbos a fost specificat. Sunt tot atâtea bloca
linii deoarece există blocuri în .xz fişier. bloca liniile sunt afișate după toate
curent linii; diferite tipuri de linii nu sunt intercalate.

rezumat
Acest tip de linie este utilizat numai când --verbos a fost specificat de două ori. Această linie este
tipărit până la urmă bloca linii. Ca fişier linie, rezumat linia contine
informații generale despre .xz fișier.

totaluri Această linie este întotdeauna ultima linie din rezultatul listei. Arată totalul
numere si dimensiuni.

Coloanele din fişier linii:
2. Numărul de fluxuri din fișier
3. Numărul total de blocuri din flux(e)
4. Dimensiunea comprimată a fișierului
5. Dimensiunea necomprimată a fișierului
6. Raportul de compresie, de exemplu 0.123. Dacă raportul este peste 9.999, trei liniuțe
(---) sunt afișate în locul raportului.
7. Lista de nume de verificare a integrității, separate prin virgulă. Sunt folosite următoarele șiruri
pentru tipurile de cecuri cunoscute: Nici unul, CRC32, CRC64, și SHA-256. Pentru verificare necunoscută
tipuri, Necunoscut-N este folosit, unde N este ID-ul de verificare ca număr zecimal (unu sau
două cifre).
8. Dimensiunea totală a umpluturii fluxului în fișier

Coloanele din curent linii:
2. Numărul fluxului (primul flux este 1)
3. Numărul de blocuri din flux
4. Decalaj de pornire comprimat
5. Offset de pornire necomprimat
6. Dimensiune comprimată (nu include umplutura fluxului)
7. Dimensiune necomprimată
8. Raport de compresie
9. Numele verificării integrității
10. Dimensiunea căptușelii fluxului

Coloanele din bloca linii:
2. Numărul fluxului care conține acest bloc
3. Numărul blocului relativ la începutul fluxului (primul bloc este 1)
4. Număr de bloc relativ la începutul fișierului
5. Decalaj de pornire comprimat relativ la începutul fișierului
6. Decalaj de pornire necomprimat relativ la începutul fișierului
7. Dimensiunea totală comprimată a blocului (include anteturi)
8. Dimensiune necomprimată
9. Raport de compresie
10. Numele verificării integrității

If --verbos a fost specificat de două ori, coloane suplimentare sunt incluse pe bloca linii.
Acestea nu sunt afișate cu un singur --verbos, deoarece obținerea acestor informații necesită
multe caută și astfel pot fi lenți:
11. Valoarea verificării integrității în hexazecimal
12. Dimensiunea antetului blocului
13. Semnale de blocare: c indică faptul că este prezentă dimensiunea comprimată și u indică faptul că
dimensiunea necomprimată este prezentă. Dacă steagul nu este setat, o liniuță (-) este arătat
în schimb pentru a menține lungimea șirului fixă. Pot fi adăugate noi steaguri la sfârșitul
sfoara in viitor.
14. Dimensiunea datelor comprimate reale din bloc (acest lucru exclude blocul
antet, blocare și câmpuri de verificare)
15. Cantitatea de memorie (în octeți) necesară pentru a decomprima acest bloc cu aceasta xz
versiune
16. Lanț de filtrare. Rețineți că majoritatea opțiunilor utilizate în timpul compresiei nu pot fi
cunoscut, deoarece sunt stocate doar opțiunile necesare pentru decompresie
il .xz anteturi.

Coloanele din rezumat linii:
2. Cantitatea de memorie (în octeți) necesară pentru a decomprima acest fișier cu acesta xz
versiune
3. da or Nu. indicând dacă toate anteturile blocurilor au atât dimensiune comprimată, cât și
dimensiunea necomprimată stocată în ele
Întrucât xz 5.1.2alpha:
4. Minimum xz versiunea necesară pentru a decomprima fișierul

Coloanele din totaluri linia:
2. Numărul de fluxuri
3. Numărul de blocuri
4. Dimensiune comprimată
5. Dimensiune necomprimată
6. Raportul mediu de compresie
7. Lista de nume de verificare a integrității, separate prin virgulă, care au fost prezente în fișiere
8. Dimensiunea căptușelii fluxului
9. Numărul de dosare. Acesta este aici pentru a păstra ordinea coloanelor anterioare
la fel ca pe fişier linii.

If --verbos a fost specificat de două ori, coloane suplimentare sunt incluse pe totaluri linia:
10. Cantitatea maximă de memorie (în octeți) necesară pentru a decomprima fișierele cu aceasta
xz versiune
11. da or Nu. indicând dacă toate anteturile blocurilor au atât dimensiune comprimată, cât și
dimensiunea necomprimată stocată în ele
Întrucât xz 5.1.2alpha:
12. Minimum xz versiunea necesară pentru a decomprima fișierul

Versiunile viitoare pot adăuga noi tipuri de linii și pot fi adăugate coloane noi la linia existentă
tipuri, dar coloanele existente nu vor fi modificate.

EXIT STAREA


0 Totul e bine.

1 A aparut o eroare.

2 A apărut ceva care merită avertizat, dar nu au apărut erori reale.

Notificările (nu avertismentele sau erorile) tipărite pe eroare standard nu afectează starea de ieșire.

MEDIUL


xz analizează liste de opțiuni separate prin spațiu din variabilele de mediu XZ_DEFAULTS și
XZ_OPT, în această ordine, înainte de a analiza opțiunile din linia de comandă. Rețineți doar că
opțiunile sunt analizate din variabilele de mediu; toate non-opțiunile sunt ignorate în tăcere.
Analiza se face cu getopt_long(3) care este folosit și pentru argumentele liniei de comandă.

XZ_DEFAULTS
Opțiuni implicite specifice utilizatorului sau la nivelul întregului sistem. De obicei, acesta este setat într-un shell
script de inițializare pentru activare xzlimitatorul de utilizare a memoriei lui în mod implicit. Excluzând
Scripturi de inițializare shell și cazuri speciale similare, scripturile nu trebuie să seteze niciodată sau
dezactivat XZ_DEFAULTS.

XZ_OPT Aceasta este pentru a trece opțiuni către xz când nu este posibilă setarea opțiunilor
direct pe xz Linie de comanda. Acesta este cazul, de exemplu, când xz este rulat de un script
sau instrument, de exemplu GNU gudron(1):

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

Scripturile pot folosi XZ_OPT de ex. pentru a seta opțiunile implicite de compresie specifice scriptului. Aceasta
este încă recomandat pentru a permite utilizatorilor să suprascrie XZ_OPT dacă acest lucru este rezonabil, de ex
in sh(1) scripturi se pot folosi ceva de genul acesta:

XZ_OPT=${XZ_OPT-"-7e"}
exportați XZ_OPT

LZMA UTILE COMPATIBILITATE


Sintaxa liniei de comandă a xz este practic un superset de lzma, unlzma, și lzcat as
găsit din LZMA Utils 4.32.x. În cele mai multe cazuri, este posibil să înlocuiți LZMA Utils cu XZ
Utilizări fără a întrerupe scripturile existente. Există totuși unele incompatibilități, care
poate provoca uneori probleme.

Comprimare presetat nivelurile de
Numerotarea presetărilor nivelului de compresie nu este identică în xz și LZMA Utils. The
cea mai importantă diferență este modul în care dimensiunile dicționarului sunt mapate la diferite presetări.
Dimensiunea dicționarului este aproximativ egală cu utilizarea memoriei decompresorului.

Nivel xz LZMA Utils
-0 256 KiB N/A
-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

Diferențele de dimensiune a dicționarului afectează și utilizarea memoriei compresorului, dar există unele
alte diferențe între LZMA Utils și XZ Utils, care fac diferența și mai mare:

Nivel xz LZMA Utils 4.32.x
-0 3 MiB N/A
-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

Nivelul prestabilit implicit în LZMA Utils este -7 în timp ce în XZ Utils este -6, deci ambele folosesc un 8
Dicționar MiB implicit.

transmise în flux Raport netransmis în flux .lzma fișiere
Dimensiunea necomprimată a fișierului poate fi stocată în fișierul .lzma antet. LZMA Utils face asta
la comprimarea fișierelor obișnuite. Alternativa este să marchezi că dimensiunea necomprimată este
necunoscut și utilizați marcatorul de sfârșit de sarcină utilă pentru a indica unde ar trebui să se oprească decompresorul.
LZMA Utils folosește această metodă atunci când dimensiunea necomprimată nu este cunoscută, ceea ce este cazul
exemplu în conducte.

xz suportă decomprimarea .lzma fișiere cu sau fără marcator de sfârșit de sarcină utilă, dar toate .lzma
fișiere create de xz va folosi marcatorul de sfârșit de sarcină utilă și va avea dimensiunea necomprimată marcată ca
necunoscut în .lzma antet. Aceasta poate fi o problemă în unele situații mai puțin frecvente. Pentru
exemplu, a .lzma decompresorul dintr-un dispozitiv încorporat poate funcționa numai cu fișiere care au
dimensiunea necomprimată cunoscută. Dacă întâmpinați această problemă, trebuie să utilizați LZMA Utils sau LZMA SDK
pentru a crea .lzma fișiere cu dimensiunea necomprimată cunoscută.

neacceptată .lzma fișiere
.lzma formatul permite lc valori de până la 8 și lp valori de până la 4. LZMA Utils poate
decomprimați fișierele cu orice lc și lp, dar creează întotdeauna fișiere cu lc=3 și lp=0.
Crearea de fișiere cu altele lc și lp este posibil cu xz și cu LZMA SDK.

Implementarea filtrului LZMA1 în liblzma necesită ca suma de lc și lp trebuie sa
nu depășește 4. Astfel, .lzma fișierele care depășesc această limitare nu pot fi decomprimate
cu xz.

LZMA Utils creează numai .lzma fișiere care au o dimensiune de dicționar de 2^n (o putere de 2) dar
acceptă fișiere cu orice dimensiune de dicționar. liblzma acceptă numai .lzma fișiere care au un
dimensiunea dicționarului de 2^n sau 2^n + 2^(n-1). Acest lucru este pentru a reduce fals pozitive atunci când
detectare .lzma fișiere.

Aceste limitări nu ar trebui să fie o problemă în practică, deoarece practic toate .lzma fișiere
au fost comprimate cu setări pe care liblzma le va accepta.

Adulmecare gunoi
La decomprimare, LZMA Utils ignoră în tăcere totul după primul .lzma curs de apa.
În majoritatea situațiilor, aceasta este o eroare. Aceasta înseamnă, de asemenea, că LZMA Utils nu acceptă
decomprimarea concatenată .lzma fișiere.

Dacă au rămas date după prima .lzma curent, xz consideră că fișierul este corupt
dacă nu --un singur flux a fost folosit. Acest lucru poate sparge scripturile obscure care au presupus asta
gunoiul din urmă este ignorat.

NOTE


comprimat producție Mai varia
Ieșirea exactă comprimată produsă din același fișier de intrare necomprimat poate varia
între versiunile XZ Utils chiar dacă opțiunile de compresie sunt identice. Acest lucru se datorează faptului că
codificatorul poate fi îmbunătățit (compresie mai rapidă sau mai bună) fără a afecta formatul fișierului.
Ieșirea poate varia chiar și între diferite versiuni ale aceleiași versiuni XZ Utils, dacă
sunt utilizate diferite opțiuni de construcție.

Cele de mai sus înseamnă că implementarea --rsincronic pentru a crea rsyncable .xz fișierele nu merg
să se întâmple fără a îngheța o parte a implementării codificatorului, care poate fi apoi utilizată
cu --rsincronic.

Embedded .xz decompresoare
Embedded .xz Implementările decompresoare precum XZ Embedded nu acceptă neapărat fișiere
creat cu integritate verifica alte tipuri decât nici unul și crc32. Deoarece implicit este
--check=crc64, trebuie să utilizați --check=niciunul or --check=crc32 la crearea fișierelor pentru încorporat
sisteme.

În afara sistemelor încorporate, toate .xz decompresoarele de format acceptă toate verifica tipuri, sau la
cel puțin sunt capabili să decomprimați fișierul fără a verifica verificarea integrității dacă
special verifica nu e suportat.

XZ Embedded acceptă filtre BCJ, dar numai cu offset de pornire implicit.

EXEMPLE


Noțiuni de bază
Comprimați fișierul foo în prost.xz folosind nivelul de compresie implicit (-6), și eliminați foo
dacă compresia are succes:

xz foo

decomprima bar.xz în bar și nu îndepărtați bar.xz chiar dacă decompresia are succes:

xz -dk bar.xz

Crea baz.tar.xz cu presetarea -4 ° (-4 --extrem), care este mai lent decât de exemplu
lipsă -6, dar are nevoie de mai puțină memorie pentru compresie și decompresie (48 MiB și 5 MiB,
respectiv):

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

Un amestec de fișiere comprimate și necomprimate poate fi decomprimat la ieșire standard cu a
o singură comandă:

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

Paralel comprimare of multe fișiere
Pe GNU și *BSD, găsi(1) și xargs(1) poate fi folosit pentru a paraleliza compresia multor
fișiere:

găsi . -tip f \! -nume „*.xz” -print0 \
| xargs -0r -P4 -n16 xz -T1

-P opțiunea pentru xargs(1) stabilește numărul de paralele xz proceselor. Cea mai bună valoare pentru
il -n opțiunea depinde de câte fișiere trebuie să fie comprimate. Dacă există doar un
câteva fișiere, valoarea ar trebui să fie probabil 1; cu zeci de mii de dosare, 100 sau
chiar mai mult poate fi potrivit pentru a reduce numărul de xz procese care xargs(1) va
creează în cele din urmă.

Optiunea -T1 pentru xz este acolo pentru a-l forța în modul single-threaded, deoarece xargs(1) este
folosit pentru a controla cantitatea de paralelizare.

Robotul mod
Calculați câți octeți au fost salvați în total după comprimarea mai multor fișiere:

xz --robot --list *.xz | awk '/^totaluri/{printează $5-$4}'

Un script poate dori să știe că folosește suficient de nou xz. Următoarele sh(1) scenariu
verifică dacă numărul versiunii xz instrumentul este cel puțin 5.0.0. Această metodă este
compatibil cu versiunile beta vechi, care nu suportau --robot opţiune:

dacă ! eval „$(xz --robot --versiune 2> /dev/null)” ||
[ "$XZ_VERSION" -lt 50000002 ]; atunci
echo „Xz-ul tău este prea vechi”.
fi
dezactivați XZ_VERSION LIBLZMA_VERSION

Setați o limită de utilizare a memoriei pentru utilizarea decompresiei XZ_OPT, dar dacă o limită a fost deja
setați, nu măriți:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --info-memory | cut -f3)
if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; atunci
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
exportați XZ_OPT
fi

pachet personalizat compresor filtru lanţuri
Cea mai simplă utilizare a lanțurilor de filtre personalizate este personalizarea unei presetări LZMA2. Acesta poate fi
util, deoarece presetările acoperă doar un subset al combinațiilor potențial utile ale
setări de compresie.

Coloanele CompCPU ale tabelelor din descrierile opțiunilor -0 ... -9 și
--extrem sunt utile la personalizarea presetărilor LZMA2. Iată părțile relevante
colectate din cele două tabele:

CompCPU presetat
-0 0
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-5e 7
-6e 8

Dacă știți că un fișier necesită dicționar oarecum mare (de ex. 32 MiB) pentru a se comprima bine,
dar vrei să-l comprimi mai repede decât xz -8 ar face, o presetare cu o valoare scăzută a CompCPU
(de ex. 1) poate fi modificat pentru a utiliza un dicționar mai mare:

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

Cu anumite fișiere, comanda de mai sus poate fi mai rapidă decât xz -6 în timp ce comprimă
semnificativ mai bine. Cu toate acestea, trebuie subliniat că doar unele fișiere beneficiază de a
dicționar mare, păstrând în același timp valoarea CompCPU scăzută. Cea mai evidentă situație, în care a
marele dicționar poate ajuta foarte mult, este o arhivă care conține fișiere foarte asemănătoare de cel puțin a
câțiva megaocteți fiecare. Dimensiunea dicționarului trebuie să fie semnificativ mai mare decât oricare
fișier individual pentru a permite LZMA2 să profite din plin de asemănările dintre
fișiere consecutive.

Dacă utilizarea memoriei compresorului și decompresorului este foarte mare este în regulă, iar fișierul fiind
comprimat este de cel puțin câteva sute de megaocteți, poate fi util să folosiți un și mai mare
dicţionar decât cei 64 MiB care xz -9 ar folosi:

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

Utilizarea -vv (--verbos --verbos) ca în exemplul de mai sus poate fi util pentru a vedea memoria
cerinţele compresorului şi decompresorului. Amintiți-vă că folosind un dicționar mai mare
decât dimensiunea fișierului necomprimat este risipă de memorie, deci comanda de mai sus nu este
util pentru fișiere mici.

Uneori, timpul de compresie nu contează, dar utilizarea memoriei decompresorului trebuie să fie
menținut scăzut, de exemplu, pentru a face posibilă decomprimarea fișierului pe un sistem încorporat. The
următoarele utilizări ale comenzii -6 ° (-6 --extrem) ca bază și setează dicționarul la numai
64 KiB. Fișierul rezultat poate fi decomprimat cu XZ Embedded (de aceea există
--check=crc32) folosind aproximativ 100 KiB de memorie.

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

Dacă doriți să stoarceți cât mai mulți octeți posibil, ajustând numărul de literal
biți de context (lc) și numărul de biți de poziție (pb) poate ajuta uneori. Reglarea
numărul de biți de poziție literală (lp) ar putea ajuta și el, dar de obicei lc și pb sunt mai multe
important. De exemplu, o arhivă de cod sursă conține în mare parte text US-ASCII, deci ceva de genul
Următoarele ar putea da fișier ușor (cum ar fi 0.1 %) mai mic decât xz -6 ° (încercați și fără
lc=4):

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

Utilizarea unui alt filtru împreună cu LZMA2 poate îmbunătăți compresia cu anumite tipuri de fișiere.
De exemplu, pentru a comprima o bibliotecă partajată x86-32 sau x86-64 folosind filtrul BCJ x86:

xz --x86 --lzma2 libfoo.so

Rețineți că ordinea opțiunilor de filtrare este semnificativă. Dacă --x86 este specificat după
--lzma2, xz va da o eroare, deoarece nu poate exista niciun filtru după LZMA2 și, de asemenea
deoarece filtrul x86 BCJ nu poate fi folosit ca ultim filtru din lanț.

Filtrul Delta împreună cu LZMA2 pot da rezultate bune cu imagini bitmap. Ar trebui
de obicei depășește PNG, care are câteva filtre mai avansate decât delta simplă, dar folosește Deflate
pentru compresia propriu-zisă.

Imaginea trebuie salvată în format necomprimat, de exemplu ca TIFF necomprimat. Distanta
parametrul filtrului Delta este setat să se potrivească cu numărul de octeți per pixel din imagine.
De exemplu, este nevoie de bitmap RGB pe 24 de biți dist=3, și este, de asemenea, bine să treci pb=0 la LZMA2 la
găzduiește alinierea pe trei octeți:

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

Dacă mai multe imagini au fost introduse într-o singură arhivă (de ex .gudron), filtrul Delta va
lucrează și la asta atâta timp cât toate imaginile au același număr de octeți per pixel.

Utilizați xzcat online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

  • 1
    aarch64-linux-gnu-gnatbind
    aarch64-linux-gnu-gnatbind
    gnat, gnatbind, gnatbl, gnatchop,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - cutie de instrumente GNAT
    DESCRIERE: Th...
    Rulați aarch64-linux-gnu-gnatbind
  • 2
    aarch64-linux-gnu-gnatchop-5
    aarch64-linux-gnu-gnatchop-5
    gnat, gnatbind, gnatbl, gnatchop,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - cutie de instrumente GNAT
    DESCRIERE: Th...
    Rulați aarch64-linux-gnu-gnatchop-5
  • 3
    cpupower-idle-info
    cpupower-idle-info
    cpupower idle-info - Utilitar pentru
    Preluați informațiile despre kernelul inactiv CPU
    SINTAXĂ: cpupower [ -c cpulist ]
    idle-info [opțiuni] DESCRIERE: Un instrument
    care tipărește p...
    Rulați cpupower-idle-info
  • 4
    cpupower-idle-set
    cpupower-idle-set
    cpupower idle-set - Utilitar pentru setarea procesorului
    opțiunile nucleului specifice stării inactiv
    SINTAXĂ: cpupower [ -c cpulist ]
    idle-info [opțiuni] DESCRIERE: The
    cpupower idle-se...
    Rulați cpupower-idle-set
  • 5
    g.mapsetsgrass
    g.mapsetsgrass
    g.mapsets - Modifică/tipărește cele ale utilizatorului
    calea de căutare a setului de hărți curent. Afectează
    accesul utilizatorului la datele existente sub
    alte seturi de hărți în locația curentă. ...
    Rulați g.mapsetsgrass
  • 6
    g.messagegrass
    g.messagegrass
    g.message - Imprimă un mesaj, avertisment,
    informații despre progres sau eroare fatală în
    Modul GRASS. Acest modul ar trebui utilizat în
    scripturi pentru mesajele transmise utilizatorului.
    KEYWO...
    Rulați g.messagegrass
  • Mai mult »

Ad