EngelsFransSpaans

Ad


OnWorks-favicon

xzcat - Online in de cloud

Voer xzcat uit in OnWorks gratis hostingprovider via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht xzcat die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


xz, unxz, xzcat, lzma, unlzma, lzcat - Comprimeer of decomprimeer .xz- en .lzma-bestanden

KORTE INHOUD


xz [optie]... [filet] ...

unxz is gelijk aan xz --decomprimeren.
xzkat is gelijk aan xz --decomprimeren --stdout.
lzma is gelijk aan xz --format=lzma.
unlzma is gelijk aan xz --format=lzma --decomprimeren.
lzkat is gelijk aan xz --format=lzma --decomprimeren --stdout.

Bij het schrijven van scripts die bestanden moeten decomprimeren, wordt aanbevolen om altijd de
naam xz met passende argumenten (xz -d or xz -gelijkstroom) in plaats van de namen unxz en xzkat.

PRODUCTBESCHRIJVING


xz is een hulpmiddel voor gegevenscompressie voor algemene doeleinden met een syntaxis van de opdrachtregel die lijkt op: gzip(1)
en bzip2(1). Het oorspronkelijke bestandsformaat is de .xz formaat, maar de erfenis .lzma formaat gebruikt
door LZMA Utils en onbewerkte gecomprimeerde streams zonder headers in containerformaat zijn ook:
ondersteund.

xz comprimeert of decomprimeert elk filet volgens de geselecteerde bedrijfsmodus. Als Nee
bestanden worden gegeven of filet is -, xz leest van standaard invoer en schrijft de verwerkte gegevens
naar standaarduitvoer. xz zal weigeren (geef een fout weer en sla de . over filet) schrijven
gecomprimeerde gegevens naar standaarduitvoer als het een terminal is. evenzo, xz zal weigeren te lezen
gecomprimeerde gegevens van standaardinvoer als het een terminal is.

Tenzij --stdout is gespecificeerd, bestanden dan - worden geschreven naar een nieuw bestand waarvan de naam is
afgeleid van de bron filet naam:

· Bij het comprimeren wordt het achtervoegsel van het doelbestandsformaat (.xz or .lzma) wordt toegevoegd aan
de bronbestandsnaam om de doelbestandsnaam te krijgen.

· Bij het decomprimeren, de .xz or .lzma achtervoegsel is verwijderd uit de bestandsnaam om de . te krijgen
doel bestandsnaam. xz herkent ook de achtervoegsels .txz en .tlz, en vervangt ze door
de .teer achtervoegsel.

Als het doelbestand al bestaat, wordt een fout weergegeven en de filet wordt overgeslagen.

Tenzij schrijven naar standaarduitvoer, xz geeft een waarschuwing weer en slaat de . over filet als een van
het volgende is van toepassing:

· Dien in is geen normaal bestand. Symbolische links worden niet gevolgd, en dus ook niet
beschouwd als gewone bestanden.

· Dien in heeft meer dan één harde link.

· Dien in heeft setuid, setgid of sticky bit set.

· De bedieningsmodus is ingesteld op comprimeren en de filet heeft al een achtervoegsel van het doel
bestandsformaat (.xz or .txz bij het comprimeren naar de .xz formaat, en .lzma or .tlz wanneer
comprimeren naar de .lzma formaat).

· De bedrijfsmodus is ingesteld op decomprimeren en de filet heeft geen achtervoegsel van een van
de ondersteunde bestandsindelingen (.xz, .txz, .lzmaof .tlz).

Na het succesvol comprimeren of decomprimeren van de filet, xz kopieert de eigenaar, groep,
machtigingen, toegangstijd en wijzigingstijd van de bron filet naar het doelbestand.
Als het kopiëren van de groep mislukt, worden de machtigingen gewijzigd zodat het doelbestand dat niet doet
toegankelijk worden voor gebruikers die geen toestemming hadden om de bron te openen filet. xz
ondersteunt het kopiëren van andere metadata zoals toegangscontrolelijsten of uitgebreide attributen niet
nog niet.

Zodra het doelbestand met succes is gesloten, wordt de source filet wordt verwijderd tenzij
--houden werd opgegeven. De bron filet wordt nooit verwijderd als de uitvoer wordt geschreven naar
standaard uitvoer.

Verzending SIGINFO or SIGUSR1 aan de xz proces maakt het afdrukken van voortgangsinformatie naar:
standaardfout. Dit heeft slechts een beperkt gebruik, aangezien wanneer standaardfout een terminal is, met behulp van
--uitgebreid zal een automatisch bijgewerkte voortgangsindicator weergeven.

Geheugen gebruik
Het geheugengebruik van xz varieert van een paar honderd kilobytes tot enkele gigabytes, afhankelijk van
op de compressie-instellingen. De instellingen die worden gebruikt bij het comprimeren van een bestand bepalen de
geheugenvereisten van de decompressor. Meestal heeft de decompressor 5 % tot 20 % van nodig
de hoeveelheid geheugen die de compressor nodig had bij het maken van het bestand. Bijvoorbeeld,
decomprimeren van een bestand gemaakt met xz -9 vereist momenteel 65 MiB geheugen. Toch is het
mogelijk om te hebben .xz bestanden die meerdere gigabytes geheugen nodig hebben om te decomprimeren.

Vooral gebruikers van oudere systemen kunnen de mogelijkheid van zeer groot geheugengebruik tegenkomen
vervelend. Om onaangename verrassingen te voorkomen, xz heeft een ingebouwde geheugengebruiksbegrenzer,
die standaard is uitgeschakeld. Hoewel sommige besturingssystemen manieren bieden om de
geheugengebruik van processen, erop vertrouwen werd niet flexibel genoeg geacht (bijv
ulimit(1) om virtueel geheugen te beperken heeft de neiging om te verlammen mmap(2)).

De geheugengebruiksbegrenzer kan worden ingeschakeld met de opdrachtregeloptie --memlimiet=begrenzing.
Vaak is het handiger om de limiter standaard in te schakelen door de omgeving in te stellen
variabele XZ_DEFAULTS, bijv XZ_DEFAULTS=--memlimit=150MiB. Het is mogelijk om de
limieten afzonderlijk voor compressie en decompressie door gebruik te maken van --memlimit-compress=begrenzing en
--memlimit-decompress=begrenzing. Deze twee opties buiten gebruiken XZ_DEFAULTS is zelden nuttig
omdat een enkele run van xz kan niet zowel compressie als decompressie doen en
--memlimiet=begrenzing (of -M begrenzing) is korter om op de opdrachtregel te typen.

Als de opgegeven limiet voor geheugengebruik wordt overschreden tijdens het decomprimeren, xz zal een weergeven
fout en het decomprimeren van het bestand zal mislukken. Als de limiet wordt overschreden bij het comprimeren, xz
zal proberen de instellingen te verkleinen zodat de limiet niet langer wordt overschreden (behalve wanneer
gebruik --format=ruwe or --niet-aanpassen). Op deze manier zal de operatie niet mislukken tenzij de limiet is
heel klein. Het schalen van de instellingen gebeurt in stappen die niet overeenkomen met de compressie
niveau-presets, bijv. als de limiet maar iets minder is dan de hoeveelheid die nodig is voor xz -9,
de instellingen worden slechts een klein beetje verkleind, niet helemaal naar xz -8.

Aaneenschakeling en vulling Met .xz bestanden
Het is mogelijk om samen te voegen .xz bestanden zoals ze zijn. xz zullen dergelijke bestanden decomprimeren alsof ze
waren vrijgezel .xz bestand.

Het is mogelijk om opvulling tussen de aaneengeschakelde delen of na het laatste deel in te voegen.
De opvulling moet bestaan ​​uit null-bytes en de grootte van de opvulling moet een veelvoud zijn van
vier bytes. Dit kan bijvoorbeeld handig zijn als de .xz bestand wordt opgeslagen op een medium dat meet
bestandsgroottes in blokken van 512 bytes.

Aaneenschakeling en opvulling zijn niet toegestaan ​​met .lzma bestanden of onbewerkte streams.

OPTIES


Geheel getal achtervoegsels en special waarden
Op de meeste plaatsen waar een integer-argument wordt verwacht, wordt een optioneel achtervoegsel ondersteund om
gemakkelijk grote gehele getallen aangeven. Er mag geen spatie staan ​​tussen het gehele getal en de
achtervoegsel.

KiB Vermenigvuldig het gehele getal met 1,024 (2^10). Ki, k, kB, K en KB worden geaccepteerd als
synoniemen voor KiB.

Eb Vermenigvuldig het gehele getal met 1,048,576 (2^20). Mi, m, M en MB worden geaccepteerd als
synoniemen voor Eb.

GiB Vermenigvuldig het gehele getal met 1,073,741,824 (2^30). Gi, g, G en GB worden geaccepteerd als
synoniemen voor GiB.

De speciale waarde max kan worden gebruikt om de maximale integerwaarde aan te geven die wordt ondersteund door de
optie.

Werking mode
Als er meerdere opties voor de werkingsmodus worden gegeven, wordt de laatste van kracht.

-z, --samenpersen
Samenpersen. Dit is de standaard bedieningsmodus als er geen optie voor de bedieningsmodus is
opgegeven en er wordt geen andere werkingsmodus geïmpliceerd uit de opdrachtnaam (voor
voorbeeld, unxz impliceert --decomprimeren).

-d, --decomprimeren, --decomprimeren
Decomprimeren.

-t, --toets
Test de integriteit van gecomprimeerde bestanden. Deze optie is gelijk aan: --decomprimeren
--stdout behalve dat de gedecomprimeerde gegevens worden weggegooid in plaats van dat er naar wordt geschreven
standaard uitvoer. Er worden geen bestanden gemaakt of verwijderd.

-l, --lijst
Informatie over gecomprimeerd afdrukken bestanden. Er wordt geen ongecomprimeerde uitvoer geproduceerd, en
er worden geen bestanden gemaakt of verwijderd. In de lijstmodus kan het programma de
gecomprimeerde gegevens van standaardinvoer of van andere onzoekbare bronnen.

De standaardlijst toont basisinformatie over: bestanden, één bestand per regel. Te krijgen
meer gedetailleerde informatie, gebruik ook de --uitgebreid optie. Voor nog meer
informatie, gebruik --uitgebreid twee keer, maar houd er rekening mee dat dit traag kan zijn, omdat het verkrijgen van
alle extra informatie vereist veel zoekt. De breedte van de uitgebreide uitvoer is groter dan
80 tekens, dus de uitvoer naar bijv. minder -S kan handig zijn als de
terminal is niet breed genoeg.

De exacte output kan variëren tussen: xz versies en verschillende landinstellingen. Voor machine-
leesbare uitgang, --robot --lijst zou gebruikt moeten worden.

Werking modifiers
-k, --houden
Verwijder de invoerbestanden niet.

-f, --kracht
Deze optie heeft verschillende effecten:

· Als het doelbestand al bestaat, verwijder het dan voordat u het comprimeert of
decomprimeren.

· Comprimeer of decomprimeer zelfs als de invoer een symbolische link is naar een normaal bestand,
heeft meer dan één harde link, of heeft de setuid, setgid of sticky bit set. De
setuid, setgid en sticky bits worden niet naar het doelbestand gekopieerd.

· Bij gebruik met --decomprimeren --stdout en xz kan het type niet herkennen
bronbestand, kopieer het bronbestand zoals het is naar de standaarduitvoer. Dit maakt het mogelijk xzkat
--kracht te gebruiken als hoe(1) voor bestanden die niet zijn gecomprimeerd met xz.
Houd er rekening mee dat in de toekomst xz ondersteunt mogelijk nieuwe gecomprimeerde bestandsindelingen, die mogelijk
maken xz decomprimeer meer soorten bestanden in plaats van ze te kopiëren zoals het is naar de standaard
uitgang. --formaat=formaat kan worden gebruikt om te beperken xz om slechts één enkele te decomprimeren
bestandsformaat.

-c, --stdout, --naar-stdout
Schrijf de gecomprimeerde of gedecomprimeerde gegevens naar standaarduitvoer in plaats van naar een bestand.
Dit houdt in --houden.

--enkele stroom
Decomprimeer alleen de eerste .xz stream en negeer stilletjes mogelijke resterende invoer
gegevens die de stroom volgen. Normaal gesproken maakt zo'n achterblijvend afval xz toon een
fout.

xz decomprimeert nooit meer dan één stream van .lzma bestanden of onbewerkte streams, maar
deze optie maakt nog steeds xz negeer de mogelijke volggegevens na de .lzma filet
of ruwe stroom.

Deze optie heeft geen effect als de bedieningsmodus niet is --decomprimeren or --toets.

--niet schaars
Schakel het maken van schaarse bestanden uit. Standaard, bij het decomprimeren naar een normale
bestand xz probeert het bestand schaars te maken als de gedecomprimeerde gegevens lang zijn
reeksen van binaire nullen. Het werkt ook bij het schrijven naar standaarduitvoer, zolang
omdat de standaarduitvoer is gekoppeld aan een regulier bestand en aan bepaalde aanvullende voorwaarden
worden voldaan om het veilig te maken. Het maken van schaarse bestanden kan schijfruimte besparen en versnellen
de decompressie door de hoeveelheid schijf-I/O te verminderen.

-S .voldoende, --achtervoegsel=.voldoende
Gebruik bij het comprimeren .voldoende als achtervoegsel voor het doelbestand in plaats van .xz or
.lzma. Als er niet naar standaarduitvoer wordt geschreven en het bronbestand al de
achtervoegsel .voldoende, wordt een waarschuwing weergegeven en wordt het bestand overgeslagen.

Herken bij het uitpakken bestanden met het achtervoegsel .voldoende naast bestanden met
de .xz, .txz, .lzmaof .tlz achtervoegsel. Als het bronbestand het achtervoegsel heeft .voldoende
achtervoegsel is verwijderd om de doelbestandsnaam te krijgen.

Bij het comprimeren of decomprimeren van onbewerkte streams (--format=ruwe), het achtervoegsel moet
altijd worden opgegeven, tenzij schrijven naar standaarduitvoer, omdat er geen standaard is
achtervoegsel voor onbewerkte streams.

--bestanden[=filet]
Lees de bestandsnamen om te verwerken van filet; als filet wordt weggelaten, bestandsnamen worden gelezen
van standaard invoer. Bestandsnamen moeten worden afgesloten met het newline-teken. EEN
streepje (-) wordt genomen als een normale bestandsnaam; het betekent niet standaard invoer. Indien
bestandsnamen worden ook gegeven als opdrachtregelargumenten, ze worden verwerkt vóór de
bestandsnamen gelezen van filet.

--bestanden0[=filet]
Dit is identiek aan --bestanden[=filet] behalve dat elke bestandsnaam moet worden beëindigd
met het nulteken.

Basic filet formaat en samendrukking opties
-F formaat, --formaat=formaat
Specificeer het bestand formaat comprimeren of decomprimeren:

auto Dit is de standaardinstelling. Bij het comprimeren, auto is gelijk aan xz. Wanneer
decomprimeren, wordt het formaat van het invoerbestand automatisch gedetecteerd. Opmerking
die onbewerkte streams (gemaakt met --format=ruwe) kan niet automatisch worden gedetecteerd.

xz Comprimeren naar de .xz bestandsformaat, of accepteer alleen .xz bestanden wanneer
decomprimeren.

lzma, alleen
Comprimeren naar de legacy .lzma bestandsformaat, of accepteer alleen .lzma bestanden wanneer
decomprimeren. De alternatieve naam alleen is voorzien voor achteruit
compatibiliteit met LZMA Utils.

rauw Comprimeer of decomprimeer een onbewerkte stream (geen headers). Dit is bedoeld voor
alleen geavanceerde gebruikers. Om onbewerkte streams te decoderen, heb je use . nodig --format=ruwe en
specificeer expliciet de filterketen, die normaal zou zijn opgeslagen
in de containerheaders.

-C controle, --controleer=controle
Geef het type integriteitscontrole op. De cheque wordt berekend vanaf de
ongecomprimeerde gegevens en opgeslagen in de .xz het dossier. Deze optie heeft alleen effect als:
comprimeren in de .xz formaat; de .lzma formaat ondersteunt geen integriteitscontroles.
De integriteitscontrole (indien aanwezig) wordt geverifieerd wanneer de .xz bestand is gedecomprimeerd.

ondersteunde controle soorten:

geen Bereken helemaal geen integriteitscontrole. Dit is meestal een slecht idee.
Dit kan handig zijn wanneer de integriteit van de gegevens op een andere manier wordt geverifieerd
toch.

crc32 Bereken CRC32 met behulp van de polynoom van IEEE-802.3 (Ethernet).

crc64 Bereken CRC64 met behulp van de polynoom van ECMA-182. Dit is de standaard,
omdat het iets beter is dan CRC32 in het detecteren van beschadigde bestanden en de
snelheidsverschil is te verwaarlozen.

sha256 Bereken SHA-256. Dit is iets langzamer dan CRC32 en CRC64.

Integriteit van de .xz headers wordt altijd geverifieerd met CRC32. Het is niet mogelijk om
wijzigen of uitschakelen.

-0 ... -9
Selecteer een vooraf ingesteld compressieniveau. De standaard is -6. Als meerdere vooraf ingestelde niveaus
zijn opgegeven, treedt de laatste in werking. Als er al een aangepaste filterketen was
opgegeven, wist het instellen van een vooraf ingesteld compressieniveau de aangepaste filterketen.

De verschillen tussen de presets zijn groter dan bij gzip(1) en
bzip2(1). De geselecteerde compressie-instellingen bepalen de geheugenvereisten van:
decompressor, waardoor het gebruik van een te hoog vooraf ingesteld niveau het pijnlijk kan maken om
decomprimeer het bestand op een oud systeem met weinig RAM. specifiek, haar niet a
goed idee naar blindelings . -9 For alles zoals het vaak is met gzip(1) en
bzip2(1).

-0 ... -3
Dit zijn wat snelle presets. -0 is soms sneller dan gzip -9 en
veel beter comprimeren. De hogere hebben vaak een snelheid die vergelijkbaar is met:
bzip2(1) met vergelijkbare of betere compressieverhouding, hoewel de resultaten
hangt sterk af van het type gegevens dat wordt gecomprimeerd.

-4 ... -6
Goede tot zeer goede compressie terwijl het geheugengebruik van de decompressor behouden blijft
redelijk, zelfs voor oude systemen. -6 is de standaard, wat meestal een goede is
keuze bijv. voor het distribueren van bestanden die decomprimeerbaar moeten zijn, zelfs op
systemen met slechts 16 MiB RAM. (-5e or -6e misschien ook het overwegen waard.
Bekijk --extreem.)

-7 ... -9
Deze zijn als -6 maar met een hoger compressor- en decompressorgeheugen
vereisten. Deze zijn alleen nuttig bij het comprimeren van bestanden die groter zijn dan
8 MiB, 16 MiB en 32 MiB, respectievelijk.

Op dezelfde hardware is de decompressiesnelheid ongeveer een constant aantal
bytes aan gecomprimeerde gegevens per seconde. Met andere woorden, hoe beter de compressie,
hoe sneller de decompressie gewoonlijk zal zijn. Dit betekent ook dat het bedrag van
ongecomprimeerde output die per seconde wordt geproduceerd, kan sterk variëren.

De volgende tabel geeft een overzicht van de kenmerken van de voorinstellingen:

Vooraf ingesteld 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

Kolombeschrijvingen:

· DictSize is de LZMA2-woordenboekgrootte. Het is verspilling van geheugen om een
woordenboek groter is dan de grootte van het niet-gecomprimeerde bestand. Dit is waarom het is
goed om het gebruik van de voorinstellingen te vermijden -7 ... -9 wanneer ze niet echt nodig zijn.
At -6 en lager, is de hoeveelheid verspild geheugen meestal laag genoeg om niet
er toe doen.

· CompCPU is een vereenvoudigde weergave van de LZMA2-instellingen die van invloed zijn op
compressie snelheid. De grootte van het woordenboek is ook van invloed op de snelheid, dus terwijl CompCPU is
hetzelfde voor niveaus -6 ... -9, zijn hogere niveaus nog steeds iets langzamer.
Om nog langzamere en dus mogelijk betere compressie te krijgen, zie --extreem.

· CompMem bevat de geheugenvereisten van de compressor in de single-threaded modus.
Het kan enigszins variëren tussen xz versies. Geheugenvereisten van sommige van de
toekomstige multithreaded-modi kunnen aanzienlijk hoger zijn dan die van de single-
schroefdraad modus.

· DecMem bevat de geheugenvereisten van de decompressor. Dat wil zeggen, de compressie
instellingen bepalen de geheugenvereisten van de decompressor. De exacte
het geheugengebruik van de decompressor is iets meer dan de grootte van het LZMA2-woordenboek, maar
de waarden in de tabel zijn naar boven afgerond op de eerstvolgende volledige MiB.

-e, --extreem
Gebruik een langzamere variant van het geselecteerde compressiepresetniveau (-0 ... -9) Om
hopelijk een beetje betere compressieverhouding krijgen, maar met pech kan dit
ook erger maken. Het geheugengebruik van de decompressor wordt niet beïnvloed, maar compressor
geheugengebruik neemt een beetje toe op vooraf ingestelde niveaus -0 ... -3.

Aangezien er twee presets zijn met woordenboekformaten 4 MiB en 8 MiB, zijn de presets -3e
en -5e gebruik iets snellere instellingen (lagere CompCPU) dan -4e en -6e,
respectievelijk. Op die manier zijn geen twee presets identiek.

Vooraf ingesteld 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

Er zijn bijvoorbeeld in totaal vier voorinstellingen die gebruikmaken van het 8 MiB-woordenboek, waarvan:
volgorde van de snelste naar de langzaamste is -5, -6, -5e en -6e.

--snel
--het beste Dit zijn enigszins misleidende aliassen voor: -0 en -9, respectievelijk. Dit zijn
alleen beschikbaar voor achterwaartse compatibiliteit met LZMA Utils. Vermijd het gebruik van deze
opties.

--blokgrootte=grootte
Bij het comprimeren naar de .xz formaat, splits de invoergegevens in blokken van grootte bytes.
De blokken worden onafhankelijk van elkaar gecomprimeerd.

--memlimit-compress=begrenzing
Stel een geheugengebruikslimiet in voor compressie. Als deze optie meervoudig is opgegeven,
keer treedt de laatste in werking.

Als de compressie-instellingen de begrenzing, xz zal de instellingen naar beneden aanpassen
zodat de limiet niet langer wordt overschreden en een melding wordt weergegeven dat automatisch
aanpassing gedaan. Dergelijke aanpassingen worden niet gemaakt bij het comprimeren met
--format=ruwe of als --niet-aanpassen is opgegeven. In die gevallen is een fout
weergegeven en xz zal afsluiten met uitgangsstatus 1.

De begrenzing kan op meerdere manieren worden opgegeven:

· De begrenzing kan een absolute waarde in bytes zijn. Een integer achtervoegsel gebruiken zoals Eb
kan handig zijn. Voorbeeld: --memlimit-compress=80MiB

· De begrenzing kan worden opgegeven als een percentage van het totale fysieke geheugen (RAM). Dit
kan vooral handig zijn bij het instellen van de XZ_DEFAULTS omgevingsvariabele in a
shell-initialisatiescript dat wordt gedeeld tussen verschillende computers. Dat
manier waarop de limiet automatisch groter is op systemen met meer geheugen. Voorbeeld:
--memlimit-comprimeren=70%

· De begrenzing kan worden teruggezet naar de standaardwaarde door deze in te stellen op 0. Dit is
momenteel gelijk aan het instellen van de begrenzing naar max (geen limiet voor geheugengebruik). Een keer
multithreading-ondersteuning is geïmplementeerd, kan er een verschil zijn tussen: 0
en max voor de multithreaded case, dus het wordt aanbevolen om te gebruiken 0 in plaats van max
totdat de details bekend zijn.

Zie ook de sectie Geheugen gebruik.

--memlimit-decompress=begrenzing
Stel een geheugengebruikslimiet in voor decompressie. Dit heeft ook invloed op de --lijst modus. Indien
de operatie is niet mogelijk zonder de . te overschrijden begrenzing, xz geeft een fout weer
en het decomprimeren van het bestand zal mislukken. Zien --memlimit-compress=begrenzing mogelijke
manieren om de . te specificeren begrenzing.

-M begrenzing, --memlimiet=begrenzing, --geheugen=begrenzing
Dit is gelijk aan specificeren --memlimit-compress=begrenzing
--memlimit-decompress=begrenzing.

--niet-aanpassen
Geef een fout weer en sluit af als de compressie-instellingen het geheugengebruik overschrijden
begrenzing. De standaardinstelling is om de instellingen naar beneden bij te stellen, zodat het geheugengebruik
limiet niet wordt overschreden. Automatisch aanpassen is altijd uitgeschakeld bij het maken van raw
stromen (--format=ruwe).

-T schroefdraad, --draden=schroefdraad
Geef het aantal werkthreads op dat moet worden gebruikt. Het werkelijke aantal threads kan zijn:
minder dan schroefdraad als het gebruik van meer threads de limiet voor geheugengebruik zou overschrijden.

Meerdradig samendrukking en decompressie zijn niet geïmplementeerd nog, so dit optie
heeft geen effect For .

As of het schrijven van (2010-09-27) it heeft niet geweest beslist if schroefdraad wil be gebruikt by
verzuim on multicore systemen eens ondersteuning For threading heeft geweest geïmplementeerd.
Heb je vragen? Stel ze hier. zijn Welkom. De complicerende factor is dat het gebruik van veel threads zal
het geheugengebruik drastisch verhogen. Merk op dat als multithreading de
standaard, zal het waarschijnlijk zo worden gedaan dat single-threaded en multithreaded modes
dezelfde uitvoer produceren, zodat de compressieverhouding niet significant wordt beïnvloed als:
threading wordt standaard ingeschakeld.

Eigen compressor filter ketens
Een aangepaste filterketen maakt het mogelijk om de compressie-instellingen in detail te specificeren in plaats van
op basis van de instellingen die zijn gekoppeld aan de vooraf ingestelde niveaus. Wanneer een aangepaste filterketen is
opgegeven, de opties voor het vooraf ingestelde compressieniveau (-0 ... -9 en --extreem) zijn stil
buiten beschouwing gelaten.

Een filterketen is vergelijkbaar met piping op de opdrachtregel. Bij het comprimeren,
ongecomprimeerde invoer gaat naar het eerste filter, waarvan de uitvoer naar het volgende filter gaat (als
ieder). De uitvoer van het laatste filter wordt naar het gecomprimeerde bestand geschreven. Het maximum
aantal filters in de keten is vier, maar typisch heeft een filterketen er maar één of twee
filters.

Veel filters hebben beperkingen op waar ze zich in de filterketen kunnen bevinden: sommige filters kunnen
werken alleen als het laatste filter in de keten, sommige alleen als niet-laatste filter en sommige werken
in elke positie in de keten. Afhankelijk van het filter is deze beperking ofwel inherent
aan het filterontwerp of bestaat om beveiligingsproblemen te voorkomen.

Een aangepaste filterketen wordt gespecificeerd door een of meer filteropties te gebruiken in de volgorde waarin ze
zijn gewenst in de filterketen. Dat wil zeggen, de volgorde van filteropties is aanzienlijk!
Bij het decoderen van onbewerkte streams (--format=ruwe), wordt de filterketen in dezelfde volgorde gespecificeerd
zoals aangegeven bij het comprimeren.

Filters zijn filterspecifiek opties als een door komma's gescheiden lijst. Extra komma's in opties
worden genegeerd. Elke optie heeft een standaardwaarde, dus u hoeft alleen die te specificeren die u wilt
veranderen.

--lzma1[=opties]
--lzma2[=opties]
Voeg LZMA1- of LZMA2-filter toe aan de filterketen. Deze filters kunnen alleen worden gebruikt als:
het laatste filter in de keten.

LZMA1 is een legacy-filter, dat bijna uitsluitend wordt ondersteund vanwege de legacy .lzma
bestandsindeling, die alleen LZMA1 ondersteunt. LZMA2 is een bijgewerkte versie van LZMA1 om
enkele praktische problemen van LZMA1 oplossen. De .xz formaat gebruikt LZMA2 en ondersteunt niet
LZMA1 helemaal niet. Compressiesnelheid en verhoudingen van LZMA1 en LZMA2 zijn praktisch de
hetzelfde.

LZMA1 en LZMA2 delen dezelfde set van opties:

voorinstelling=vooraf ingestelde
Alle LZMA1 of LZMA2 resetten opties naar vooraf ingestelde. Voorkeursinstelling bestaan ​​uit een geheel getal,
die kan worden gevolgd door vooraf ingestelde modifiers van één letter. Het gehele getal kan zijn
oppompen van 0 naar 9, overeenkomend met de opdrachtregelopties -0 ... -9. De enige
ondersteunde modifier is momenteel e, die overeenkomt --extreem. De standaard
vooraf ingestelde is 6, waarvan de standaardwaarden voor de rest van de LZMA1 of
LZMA2 opties zijn genomen.

dictaat=grootte
Woordenboek (geschiedenisbuffer) grootte geeft aan hoeveel bytes van de recent
verwerkte ongecomprimeerde gegevens worden in het geheugen bewaard. Het algoritme probeert te vinden
herhalende bytereeksen (overeenkomsten) in de niet-gecomprimeerde gegevens, en vervangen
ze met verwijzingen naar de gegevens die momenteel in het woordenboek staan. Hoe groter
het woordenboek, hoe groter de kans om een ​​match te vinden. Dus, toenemende
woordenboek grootte verbetert meestal de compressieverhouding, maar een woordenboek groter
dan is het niet-gecomprimeerde bestand geheugenverspilling.

Typisch woordenboek grootte is van 64 KiB tot 64 MiB. Het minimum is 4 KiB.
Het maximum voor compressie is momenteel 1.5 GiB (1536 MiB). De
decompressor ondersteunt al woordenboeken tot één byte minder dan 4 GiB,
wat het maximum is voor de LZMA1- en LZMA2-streamformaten.

Woordenboek grootte en matchzoeker (mf) bepalen samen het geheugengebruik van
de LZMA1- of LZMA2-encoder. Hetzelfde (of grotere) woordenboek grootte is
vereist voor het decomprimeren dat werd gebruikt bij het comprimeren, dus het geheugen
gebruik van de decoder wordt bepaald door de woordenboekgrootte die wordt gebruikt wanneer:
comprimeren. De .xz headers slaan het woordenboek op grootte ofwel als 2^n of 2^n
+ 2^(n-1), dus deze maten hebben enigszins de voorkeur voor compressie. Ander
maten wordt afgerond wanneer opgeslagen in de .xz koppen.

lc=lc Geef het aantal letterlijke contextbits op. Het minimum is 0 en de
maximaal is 4; de standaard is 3. Bovendien is de som van lc en lp niet mogen
hoger zijn dan 4.

Alle bytes die niet als overeenkomsten kunnen worden gecodeerd, worden gecodeerd als letterlijke waarden. Dat
dat wil zeggen, letterlijke waarden zijn gewoon 8-bits bytes die één voor één worden gecodeerd.

De letterlijke codering gaat ervan uit dat de hoogste lc stukjes van de
vorige ongecomprimeerde byte correleren met de volgende byte. bijv. in typisch
Engelse tekst, een hoofdletter wordt vaak gevolgd door een kleine letter,
en een kleine letter wordt meestal gevolgd door een andere kleine letter.
In de US-ASCII-tekenset zijn de hoogste drie bits 010 voor hoofdletters
letters en 011 voor kleine letters. Wanneer lc is minstens 3, de letterlijke
codering kan profiteren van deze eigenschap in de niet-gecomprimeerde gegevens.

De standaardwaarde (3) is meestal goed. Als u maximale compressie wilt,
proef lc=4. Soms helpt het een beetje, en soms zorgt het voor compressie
slechter. Als het erger wordt, test dan bijv lc=2 ook.

lp=lp Specificeer het aantal letterlijke positiebits. Het minimum is 0 en de
maximaal is 4; de standaardwaarde is 0.

Lp beïnvloedt wat voor soort uitlijning in de niet-gecomprimeerde gegevens wordt aangenomen wanneer:
letterlijke coderen. Zien pb hieronder voor meer informatie over uitlijning.

pb=pb Specificeer het aantal positiebits. Het minimum is 0 en het maximum is 4;
de standaardwaarde is 2.

Pb beïnvloedt wat voor soort uitlijning in de niet-gecomprimeerde gegevens wordt aangenomen in
algemeen. De standaardwaarde betekent uitlijning van vier bytes (2^pb=2^2=4), wat vaak is
een goede keuze als er geen betere gok is.

Wanneer de uitlijning bekend is, instelling pb dienovereenkomstig kan de bestandsgrootte verkleinen
een beetje. Bijv. met tekstbestanden met uitlijning van één byte (US-ASCII,
ISO-8859-*, UTF-8), instelling pb=0 kan de compressie enigszins verbeteren. Voor
UTF-16-tekst, pb=1 een goede keuze is. Als de uitlijning een oneven getal is, zoals
3 bytes, pb=0 misschien wel de beste keuze.

Hoewel de veronderstelde uitlijning kan worden aangepast met pb en lp, LZMA1 en
LZMA2 geeft nog steeds enigszins de voorkeur aan 16-byte-uitlijning. Het is misschien de moeite waard om er rekening mee te houden
account bij het ontwerpen van bestandsindelingen die waarschijnlijk vaak worden gecomprimeerd
met LZMA1 of LZMA2.

mv=mf Match finder heeft een groot effect op de snelheid van de encoder, het geheugengebruik en
compressieverhouding. Meestal zijn Hash Chain match finders sneller dan Binary
Boom match vinders. De standaard is afhankelijk van de vooraf ingestelde: 0 gebruik hc3, 1-3 gebruik
hc4, en de rest gebruik bt4.

De volgende match finders worden ondersteund. De onderstaande formules voor geheugengebruik:
zijn ruwe benaderingen, die de werkelijkheid het dichtst benaderen wanneer dict is een
macht van twee.

hc3 Hash Chain met 2- en 3-byte hashing
Minimale waarde voor mooi: 3
Geheugengebruik:
dict * 7.5 (als dict <= 16 MiB);
dict * 5.5 + 64 MiB (indien dict > 16 MiB)

hc4 Hash Chain met 2-, 3- en 4-byte hashing
Minimale waarde voor mooi: 4
Geheugengebruik:
dict * 7.5 (als dict <= 32 MiB);
dict * 6.5 (als dict > 32 MiB)

bt2 Binaire boom met 2-byte hashing
Minimale waarde voor mooi: 2
Geheugengebruik: dict * 9.5

bt3 Binaire boom met 2- en 3-byte hashing
Minimale waarde voor mooi: 3
Geheugengebruik:
dict * 11.5 (als dict <= 16 MiB);
dict * 9.5 + 64 MiB (indien dict > 16 MiB)

bt4 Binaire boom met 2-, 3- en 4-byte hashing
Minimale waarde voor mooi: 4
Geheugengebruik:
dict * 11.5 (als dict <= 32 MiB);
dict * 10.5 (als dict > 32 MiB)

modus=mode
Samendrukking mode specificeert de methode voor het analyseren van de gegevens geproduceerd door de
matchzoeker. Ondersteund modi zijn snel en een. De standaardwaarde is snel For
presets 0-3 en een For presets 4-9.

Gewoonlijk snel wordt gebruikt met Hash Chain match finders en een met binair
Boom match vinders. Dit is ook wat de presets doen.

leuk=mooi
Geef aan wat als een mooie lengte voor een wedstrijd wordt beschouwd. Eenmaal een wedstrijd van
minstens mooi bytes is gevonden, stopt het algoritme met zoeken naar mogelijk
betere wedstrijden.

Nice kan 2-273 bytes zijn. Hogere waarden geven meestal een betere compressie
verhouding ten koste van snelheid. De standaard is afhankelijk van de vooraf ingestelde.

diepte=diepte
Geef de maximale zoekdiepte op in de matchfinder. De standaard is de
speciale waarde van 0, waardoor de compressor een redelijke . bepaalt diepte
oppompen van mf en mooi.

Redelijk diepte voor hashketens is 4-100 en 16-1000 voor binaire bomen.
Zeer hoge waarden gebruiken voor diepte kan de encoder extreem traag maken met
enkele bestanden. Vermijd het instellen van de diepte meer dan 1000 tenzij u bereid bent om
onderbreek de compressie als het veel te lang duurt.

Bij het decoderen van onbewerkte streams (--format=ruwe), heeft LZMA2 alleen het woordenboek nodig grootte.
LZMA1 heeft ook nodig lc, lp en pb.

--x86[=opties]
--powerpc[=opties]
--ia64[=opties]
--arm[=opties]
--armduim[=opties]
--spaat[=opties]
Voeg een branch/call/jump (BCJ)-filter toe aan de filterketen. Deze filters kunnen worden gebruikt
alleen als niet-laatste filter in de filterketen.

Een BCJ-filter converteert relatieve adressen in de machinecode naar hun absolute
tegenhangers. Dit verandert de grootte van de gegevens niet, maar neemt wel toe
redundantie, waardoor LZMA2 0-15% kleiner kan produceren .xz het dossier. de BCJ
filters zijn altijd omkeerbaar, dus het gebruik van een BCJ-filter voor het verkeerde type gegevens niet
gegevensverlies veroorzaken, hoewel het de compressieverhouding iets slechter kan maken.

Het is prima om een ​​BCJ-filter op een heel uitvoerbaar bestand toe te passen; het is niet nodig om het toe te passen
alleen op het uitvoerbare gedeelte. Een BCJ-filter toepassen op een archief dat:
zowel uitvoerbare als niet-uitvoerbare bestanden kunnen al dan niet goede resultaten opleveren, dus het is
is over het algemeen niet goed om blindelings een BCJ-filter toe te passen bij het comprimeren van binaire pakketten
voor distributie.

Deze BCJ-filters zijn erg snel en gebruiken een onbeduidende hoeveelheid geheugen. Als een BCJ
filter verbetert de compressieverhouding van een bestand, het kan de decompressiesnelheid verbeteren bij
dezelfde tijd. Dit komt omdat, op dezelfde hardware, de decompressiesnelheid van
LZMA2 is ruwweg een vast aantal bytes aan gecomprimeerde gegevens per seconde.

Deze BCJ-filters hebben bekende problemen met betrekking tot de compressieverhouding:

· Sommige typen bestanden die uitvoerbare code bevatten (bijv. objectbestanden, statische
bibliotheken en Linux-kernelmodules) hebben de adressen in de instructies
gevuld met vulwaarden. Deze BCJ-filters doen nog steeds het adres
conversie, waardoor de compressie bij deze bestanden erger wordt.

· Het toepassen van een BCJ-filter op een archief dat meerdere vergelijkbare uitvoerbare bestanden bevat, kan
de compressieverhouding slechter maken dan het niet gebruiken van een BCJ-filter. Dit is zo omdat
het BCJ-filter detecteert de grenzen van de uitvoerbare bestanden niet, en
reset de adresconversieteller niet voor elk uitvoerbaar bestand.

Beide bovenstaande problemen zullen in de toekomst worden opgelost in een nieuw filter. De oude
BCJ-filters zullen nog steeds nuttig zijn in embedded systemen, omdat de decoder van de
nieuwe filter zal groter zijn en meer geheugen gebruiken.

Verschillende instructiesets hebben verschillende uitlijning:

Opmerkingen over filteruitlijning
x86 1 32-bits of 64-bits x86
Alleen PowerPC 4 Big endian
ARM 4 Alleen Little endian
ARM-Thumb 2 Alleen Little endian
IA-64 16 Grote of kleine endian
SPARC 4 Grote of kleine endian

Aangezien de door BCJ gefilterde gegevens gewoonlijk worden gecomprimeerd met LZMA2, is de compressieverhouding
kan enigszins worden verbeterd als de LZMA2-opties zijn ingesteld om overeen te komen met de uitlijning van de
geselecteerde BCJ-filter. Met het IA-64-filter is het bijvoorbeeld goed om in te stellen: pb=4
met LZMA2 (2^4=16). Het x86-filter is een uitzondering; het is meestal goed om je eraan te houden
LZMA2's standaard uitlijning van vier bytes bij het comprimeren van x86-uitvoerbare bestanden.

Alle BCJ-filters ondersteunen hetzelfde opties:

begin=compenseren
Specificeer de start compenseren dat wordt gebruikt bij het converteren tussen relatief en
absolute adressen. De compenseren moet een veelvoud zijn van de uitlijning van de
filter (zie bovenstaande tabel). De standaardwaarde is nul. In de praktijk is de
standaard is goed; een gewoonte specificeren compenseren is bijna nooit nuttig.

--delta[=opties]
Voeg het Delta-filter toe aan de filterketen. Het Delta-filter kan alleen worden gebruikt als een
niet-laatste filter in de filterketen.

Momenteel wordt alleen eenvoudige bytegewijze deltaberekening ondersteund. Het kan nuttig zijn
bij het comprimeren van bijvoorbeeld ongecomprimeerde bitmapafbeeldingen of ongecomprimeerde PCM-audio.
Algoritmen voor speciale doeleinden kunnen echter aanzienlijk betere resultaten geven dan
Delta + LZMA2. Dit geldt vooral voor audio, die sneller comprimeert en
beter bv met flac(1).

ondersteunde opties:

afstand=afstand
Geef het afstand van de deltaberekening in bytes. afstand moet
1-256. De standaardwaarde is 1.

Bijvoorbeeld met afstand = 2 en acht-byte ingang A1 B1 A2 B3 A3 B5 A4 B7, de
uitvoer is A1 B1 01 02 01 02 01 02.

Overige opties
-q, --stil
Waarschuwingen en mededelingen onderdrukken. Geef dit twee keer op om ook fouten te onderdrukken. Dit
optie heeft geen effect op de exit-status. Dat wil zeggen, zelfs als een waarschuwing was
onderdrukt, wordt de uitgangsstatus om een ​​waarschuwing aan te geven nog steeds gebruikt.

-v, --uitgebreid
Wees breedsprakig. Als standaardfout is aangesloten op een terminal, xz zal a weergeven
voortgangsindicator. Specificeren --uitgebreid twee keer zal nog meer uitgebreide output geven.

De voortgangsindicator toont de volgende informatie:

· Het voltooiingspercentage wordt weergegeven als de grootte van het invoerbestand bekend is. Dat is,
het percentage kan niet in buizen worden weergegeven.

· Hoeveelheid gecomprimeerde data geproduceerd (comprimeren) of verbruikt (decomprimeren).

· Hoeveelheid niet-gecomprimeerde data die is verbruikt (comprimeren) of geproduceerd (decomprimeren).

· Compressieverhouding, die wordt berekend door de hoeveelheid gecomprimeerde gegevens te delen
tot dusver verwerkt met de hoeveelheid niet-gecomprimeerde gegevens die tot nu toe zijn verwerkt.

· Compressie- of decompressiesnelheid. Dit wordt gemeten als de hoeveelheid
niet-gecomprimeerde gegevens die per seconde worden verbruikt (compressie) of geproduceerd (decompressie).
Het wordt weergegeven nadat een paar seconden zijn verstreken sinds xz begonnen met het verwerken van de
bestand.

· Verstreken tijd in het formaat M:SS of H:MM:SS.

· Geschatte resterende tijd wordt alleen weergegeven als de grootte van het invoerbestand bekend is
en er zijn al een paar seconden verstreken sinds xz begonnen met het verwerken van de
het dossier. De tijd wordt weergegeven in een minder nauwkeurig formaat dat nooit dubbele punten heeft,
bijv. 2 min 30 s.

Als de standaardfout geen terminal is, --uitgebreid zal maken xz druk de bestandsnaam af,
gecomprimeerde grootte, ongecomprimeerde grootte, compressieverhouding en mogelijk ook de snelheid
en verstreken tijd op een enkele regel tot standaardfout na comprimeren of
het decomprimeren van het bestand. De snelheid en verstreken tijd worden alleen meegenomen als de
operatie duurde minstens een paar seconden. Als de bewerking niet is voltooid, bijv. vanwege:
gebruikersonderbreking, wordt ook het voltooiingspercentage afgedrukt als de grootte van de
invoerbestand bekend is.

-Q, --geen-waarschuwen
Stel de uitgangsstatus niet in op 2, zelfs niet als er een voorwaarde is gedetecteerd die een waarschuwing waard is.
Deze optie heeft geen invloed op het breedsprakigheidsniveau, dus beide --stil en --geen-waarschuwen
moeten worden gebruikt om geen waarschuwingen weer te geven en om de uitgangsstatus niet te wijzigen.

--robot
Druk berichten af ​​in een machine-parseerbaar formaat. Dit is bedoeld om het schrijven te vergemakkelijken
frontends die willen gebruiken xz in plaats van liblzma, wat het geval kan zijn met
verschillende schriften. De uitvoer met deze optie ingeschakeld is bedoeld om stabiel te zijn over
xz releases. Zie de sectie ROBOT MODE voor meer info.

--info-geheugen
Geef in door mensen leesbare indeling weer hoeveel fysiek geheugen (RAM) xz denkt het
systeem heeft en de geheugengebruikslimieten voor compressie en decompressie, en exit
succes.

-h, --help
Geef een helpbericht weer waarin de meest gebruikte opties worden beschreven en sluit af
succes.

-H, --lang-help
Geef een helpbericht weer waarin alle functies van . worden beschreven xzen sluit met succes af

-V, --versie
Geef het versienummer weer van xz en liblzma in voor mensen leesbaar formaat. Te krijgen
machine-parseerbare uitvoer, specificeer --robot vaardigheden --versie.

ROBOT MODE


De robotmodus wordt geactiveerd met de --robot optie. Het maakt de output van xz gemakkelijker om
ontleden door andere programma's. Momenteel --robot wordt alleen ondersteund in combinatie met --versie,
--info-geheugen en --lijst. Het wordt ondersteund voor normale compressie en decompressie
te verwijzen in de toekomst.

Versie
xz --robot --versie zal het versienummer van afdrukken xz en liblzma in het volgende:
formaat:

XZ_VERSION=XYYYZZZS
LIBLZMA_VERSION=XYYYZZZS

X Grote versie.

JJJ Kleine versie. Even getallen zijn stabiel. Oneven nummers zijn alfa- of bètaversies.

ZZZ Patchniveau voor stabiele releases of gewoon een teller voor ontwikkelingsreleases.

S Stabiliteit. 0 is alfa, 1 is bèta en 2 is stabiel. S moet altijd 2 zijn wanneer JJJ
is gelijk.

XYYYZZZS zijn op beide regels hetzelfde als xz en liblzma zijn van dezelfde XZ Utils-release.

Voorbeelden: 4.999.9beta is 49990091 en 5.0.0 is 50000002.

Geheugen begrenzing informatie
xz --robot --info-geheugen drukt een enkele regel af met drie door tabs gescheiden kolommen:

1. Totale hoeveelheid fysiek geheugen (RAM) in bytes

2. Geheugengebruikslimiet voor compressie in bytes. Een speciale waarde van nul geeft de . aan
standaardinstelling, die voor single-threaded-modus hetzelfde is als geen limiet.

3. Geheugengebruikslimiet voor decompressie in bytes. Een speciale waarde van nul geeft de . aan
standaardinstelling, die voor single-threaded-modus hetzelfde is als geen limiet.

In de toekomst zal de output van xz --robot --info-geheugen heeft misschien meer kolommen, maar nooit
meer dan een enkele regel.

Lijst mode
xz --robot --lijst maakt gebruik van door tabs gescheiden uitvoer. De eerste kolom van elke regel heeft een string
die het type informatie op die regel aangeeft:

naam Dit is altijd de eerste regel wanneer u begint met het weergeven van een bestand. De tweede kolom op
de regel is de bestandsnaam.

filet Deze regel bevat algemene informatie over de .xz het dossier. Deze regel is altijd
afgedrukt na de naam lijn.

stream Dit lijntype wordt alleen gebruikt wanneer: --uitgebreid werd opgegeven. Er zijn er zoveel stream
lijnen omdat er stromen in de . zijn .xz bestand.

blok Dit lijntype wordt alleen gebruikt wanneer: --uitgebreid werd opgegeven. Er zijn er zoveel blok
lijnen omdat er blokken in de .xz het dossier. De blok lijnen worden getoond na alle de
stream lijnen; verschillende lijntypes worden niet doorschoten.

beknopte versie
Dit lijntype wordt alleen gebruikt wanneer: --uitgebreid twee keer opgegeven. Deze lijn is
toch gedrukt blok lijnen. Zoals de filet lijn, de beknopte versie regel bevat
algemene informatie over de .xz bestand.

totalen Deze regel is altijd de allerlaatste regel van de lijstuitvoer. Het toont het totaal
tellingen en maten.

De kolommen van de filet lijnen:
2. Aantal streams in het bestand
3. Totaal aantal blokken in de stream(s)
4. Gecomprimeerde grootte van het bestand
5. Niet-gecomprimeerde grootte van het bestand
6. Compressieverhouding, bijvoorbeeld 0.123. Als de verhouding hoger is dan 9.999, drie streepjes
(---) worden weergegeven in plaats van de verhouding.
7. Door komma's gescheiden lijst met namen van integriteitscontroles. De volgende strings worden gebruikt:
voor de bekende chequetypes: Geen, CRC32, CRC64 en SHA-256. Voor onbekende controle
types, Onbekend-N wordt gebruikt, waar N is de Check ID als een decimaal getal (één of
twee cijfers).
8. Totale grootte van streampadding in het bestand

De kolommen van de stream lijnen:
2. Streamnummer (de eerste stream is 1)
3. Aantal blokken in de stream
4. Gecomprimeerde startoffset
5. Niet-gecomprimeerde startoffset
6. Gecomprimeerde grootte (exclusief stream-padding)
7. Ongecomprimeerde grootte
8. Compressieverhouding:
9. Naam van de integriteitscontrole
10. Grootte van streampadding

De kolommen van de blok lijnen:
2. Nummer van de stream die dit blok bevat
3. Bloknummer ten opzichte van het begin van de stream (het eerste blok is 1)
4. Bloknummer relatief aan het begin van het bestand
5. Gecomprimeerde start-offset ten opzichte van het begin van het bestand
6. Niet-gecomprimeerde startoffset ten opzichte van het begin van het bestand
7. Totale gecomprimeerde grootte van het blok (inclusief headers)
8. Ongecomprimeerde grootte
9. Compressieverhouding:
10. Naam van de integriteitscontrole

If --uitgebreid twee keer is opgegeven, zijn extra kolommen opgenomen op de blok lijnen.
Deze worden niet weergegeven met een enkele --uitgebreid, omdat het verkrijgen van deze informatie vereist:
veel zoekt en kan dus traag zijn:
11. Waarde van de integriteitscontrole in hexadecimaal
12. Blokkopgrootte
13. Blokkeer vlaggen: c geeft aan dat gecomprimeerde grootte aanwezig is, en u geeft aan dat
ongecomprimeerde grootte is aanwezig. Als de vlag niet is ingesteld, wordt een streepje (-) wordt getoond
in plaats daarvan om de snaarlengte vast te houden. Nieuwe vlaggen kunnen worden toegevoegd aan het einde van
de snaar in de toekomst.
14. Grootte van de daadwerkelijke gecomprimeerde gegevens in het blok (dit is exclusief het blok)
koptekst, blokopvulling en selectievakjes)
15. Hoeveelheid geheugen (in bytes) nodig om dit blok hiermee te decomprimeren xz
versie
16. Filterketting. Houd er rekening mee dat de meeste opties die bij compressie worden gebruikt niet kunnen worden
bekend, omdat alleen de opties die nodig zijn voor decompressie worden opgeslagen in
de .xz koppen.

De kolommen van de beknopte versie lijnen:
2. Hoeveelheid geheugen (in bytes) nodig om dit bestand hiermee te decomprimeren xz
versie
3. ja or geen geeft aan of alle blokkoppen zowel een gecomprimeerde grootte hebben als
ongecomprimeerde grootte opgeslagen in hen
Sinds xz 5.1.2alfa:
4.Minimum xz versie die nodig is om het bestand te decomprimeren

De kolommen van de totalen lijn:
2. Aantal stromen
3. Aantal blokken
4. Gecomprimeerde maat:
5. Ongecomprimeerde grootte
6. Gemiddelde compressieverhouding
7. Door komma's gescheiden lijst met namen van integriteitscontroles die aanwezig waren in de bestanden
8. Stroomopvullingsgrootte
9. Aantal bestanden. Dit is hier om de volgorde van de eerdere kolommen te behouden, de
hetzelfde als op filet lijnen.

If --uitgebreid twee keer is opgegeven, zijn extra kolommen opgenomen op de totalen lijn:
10. Maximale hoeveelheid geheugen (in bytes) die nodig is om de bestanden hiermee te decomprimeren
xz versie
11. ja or geen geeft aan of alle blokkoppen zowel een gecomprimeerde grootte hebben als
ongecomprimeerde grootte opgeslagen in hen
Sinds xz 5.1.2alfa:
12.Minimum xz versie die nodig is om het bestand te decomprimeren

Toekomstige versies kunnen nieuwe lijntypen toevoegen en nieuwe kolommen kunnen aan de bestaande lijn worden toegevoegd
typen, maar de bestaande kolommen worden niet gewijzigd.

EXIT STATUS


0 Alles is goed.

1 Er is een fout opgetreden.

2 Er is iets gebeurd dat een waarschuwing waard is, maar er zijn geen echte fouten opgetreden.

Mededelingen (geen waarschuwingen of fouten) die op standaardfout worden afgedrukt, hebben geen invloed op de afsluitstatus.

MILIEU


xz ontleedt door spaties gescheiden lijsten met opties uit de omgevingsvariabelen XZ_DEFAULTS en
XZ_OPT, in deze volgorde, voordat u de opties van de opdrachtregel ontleden. Merk op dat alleen
opties worden ontleed uit de omgevingsvariabelen; alle niet-opties worden stilzwijgend genegeerd.
Parseren doe je met getopt_lang(3) die ook wordt gebruikt voor de opdrachtregelargumenten.

XZ_DEFAULTS
Gebruikersspecifieke of systeembrede standaardopties. Meestal is dit ingesteld in een shell
initialisatiescript om in te schakelen xz's standaard geheugengebruiksbegrenzer. exclusief
shell-initialisatiescripts en soortgelijke speciale gevallen, scripts mogen nooit worden ingesteld of
uitgeschakeld XZ_DEFAULTS.

XZ_OPT Dit is om opties door te geven aan xz wanneer het niet mogelijk is om de opties in te stellen
direct aan de xz opdrachtregel. Dit is bijvoorbeeld het geval wanneer xz wordt uitgevoerd door een script
of gereedschap, bijv. GNU teer(1):

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

Scripts kunnen gebruiken XZ_OPT bijv. om scriptspecifieke standaardcompressie-opties in te stellen. Het
wordt nog steeds aanbevolen om gebruikers toe te staan ​​dit te overschrijven XZ_OPT als dat redelijk is, bijv
in sh(1) scripts kan men zoiets als dit gebruiken:

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

LZMA BRUIKBAAR COMPATIBILITEIT


De syntaxis van de opdrachtregel van xz is praktisch een superset van lzma, unlzma en lzkat as
gevonden van LZMA Utils 4.32.x. In de meeste gevallen is het mogelijk om LZMA Utils te vervangen door XZ
Gebruikt zonder bestaande scripts te breken. Er zijn echter enkele onverenigbaarheden, die:
kan soms voor problemen zorgen.

Samendrukking vooraf ingestelde niveaus
De nummering van de voorinstellingen voor het compressieniveau is niet identiek in xz en LZMA-utils. De
Het belangrijkste verschil is hoe woordenboekformaten worden toegewezen aan verschillende voorinstellingen.
De grootte van het woordenboek is ongeveer gelijk aan het geheugengebruik van de decompressor.

Niveau xz LZMA-hulpprogramma's
-0 256 KiB n.v.t.
-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

De verschillen in woordenboekgrootte zijn ook van invloed op het geheugengebruik van de compressor, maar er zijn er enkele:
andere verschillen tussen LZMA Utils en XZ Utils, die het verschil nog groter maken:

Niveau xz LZMA Utils 4.32.x
-0 3 MiB n.v.t.
-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

Het standaard vooraf ingestelde niveau in LZMA Utils is: -7 terwijl het in XZ Utils is -6, dus beide gebruiken een 8
MiB-woordenboek standaard.

gestreamd vs niet-gestreamd .lzma bestanden
De niet-gecomprimeerde grootte van het bestand kan worden opgeslagen in de .lzma kop. LZMA Utils doet dat
bij het comprimeren van gewone bestanden. Het alternatief is om te markeren dat de niet-gecomprimeerde grootte is
onbekend en gebruik de markering voor het einde van de lading om aan te geven waar de decompressor moet stoppen.
LZMA Utils gebruikt deze methode wanneer de niet-gecomprimeerde grootte niet bekend is, wat het geval is voor
bijvoorbeeld in pijpen.

xz ondersteunt decompressie .lzma bestanden met of zonder einde-van-payload-markering, maar alle .lzma
bestanden gemaakt door xz gebruikt een markering voor het einde van de lading en heeft een niet-gecomprimeerde grootte gemarkeerd als
onbekend in de .lzma kop. Dit kan in sommige ongewone situaties een probleem zijn. Voor
voorbeeld, een .lzma decompressor in een embedded apparaat werkt mogelijk alleen met bestanden die:
bekende ongecomprimeerde grootte. Als je dit probleem tegenkomt, moet je LZMA Utils of LZMA SDK gebruiken
creëren .lzma bestanden met bekende ongecomprimeerde grootte.

niet gesteund .lzma bestanden
De .lzma formaat staat toe lc waarden tot 8, en lp waarden tot 4. LZMA Utils kan
decomprimeer bestanden met any lc en lp, maar maakt altijd bestanden met lc=3 en lp=0.
Bestanden maken met andere lc en lp is mogelijk met xz en met LZMA SDK.

De implementatie van het LZMA1-filter in liblzma vereist dat de som van lc en lp Dan moet je
niet groter zijn dan 4. Dus, .lzma bestanden die deze limiet overschrijden, kunnen niet worden gedecomprimeerd
Met xz.

LZMA Utils maakt alleen .lzma bestanden met een woordenboekgrootte van 2^n (een macht van 2) maar
accepteert bestanden met elke woordenboekgrootte. liblzma accepteert alleen .lzma bestanden met een
woordenboekgrootte van 2^n of 2^n + 2^(n-1) Dit is om valse positieven te verminderen wanneer:
detecteren .lzma bestanden.

Deze beperkingen zouden in de praktijk geen probleem moeten zijn, aangezien praktisch alle .lzma bestanden
zijn gecomprimeerd met instellingen die liblzma accepteert.

Trailing vuilnis
Bij het decomprimeren negeert LZMA Utils alles stil na de eerste .lzma stream.
In de meeste situaties is dit een bug. Dit betekent ook dat LZMA Utils geen ondersteuning biedt voor
aaneengeschakeld decomprimeren .lzma bestanden.

Als er gegevens over zijn na de eerste .lzma stroom, xz beschouwt het bestand als corrupt
tenzij --enkele stroom was gebruikt. Dit kan obscure scripts doorbreken die ervan uitgingen dat:
achterblijvend afval wordt genegeerd.

OPMERKINGEN


Gecomprimeerde uitgang mogen variëren
De exacte gecomprimeerde uitvoer geproduceerd uit hetzelfde ongecomprimeerde invoerbestand kan variëren
tussen XZ Utils-versies, zelfs als de compressie-opties identiek zijn. Dit komt omdat de
encoder kan worden verbeterd (snellere of betere compressie) zonder het bestandsformaat te beïnvloeden.
De uitvoer kan zelfs variëren tussen verschillende builds van dezelfde XZ Utils-versie, als
verschillende bouwopties worden gebruikt.

Het bovenstaande betekent dat het implementeren van --rsyncable rsyncable maken .xz bestanden gaat niet
gebeuren zonder een deel van de encoderimplementatie te bevriezen, die vervolgens kan worden gebruikt
Met --rsyncable.

Embedded .xz decompressoren
Embedded .xz decompressor-implementaties zoals XZ Embedded ondersteunen niet noodzakelijk bestanden
gemaakt met integriteit controle andere soorten dan geen en crc32. Aangezien de standaard is
--check=crc64, je moet gebruiken --check=geen or --check=crc32 bij het maken van bestanden voor embedded
systemen.

Buiten embedded systemen, alle .xz formaat decompressoren ondersteunen alle controle soorten, of op
tenminste in staat zijn om het bestand te decomprimeren zonder de integriteitscontrole te verifiëren als de
bijzonder controle wordt niet ondersteund.

XZ Embedded ondersteunt BCJ-filters, maar alleen met de standaard startoffset.

Voorbeelden


De Basis
Comprimeer het bestand foo in foo.xz met het standaard compressieniveau (-6), en verwijder foo
als compressie succesvol is:

xz fo

Decomprimeer bar.xz in bars en niet verwijderen bar.xz zelfs als de decompressie succesvol is:

xz -dk bar.xz

creëren baz.tar.xz met de voorinstelling -4e (-4 --extreem), wat langzamer is dan bijv. de
verzuim -6, maar heeft minder geheugen nodig voor compressie en decompressie (48 MiB en 5 MiB,
respectievelijk):

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

Een mix van gecomprimeerde en niet-gecomprimeerde bestanden kan worden gedecomprimeerd naar standaarduitvoer met een
enkele opdracht:

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

Parallel samendrukking of veel bestanden
Op GNU en *BSD, vinden(1) en xargs(1) kan worden gebruikt om compressie van veel te parallelliseren
bestanden:

vind . -type f \! -naam '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

De -P optie om xargs(1) stelt het aantal parallel in xz processen. De beste waarde voor
de -n optie hangt af van het aantal bestanden dat moet worden gecomprimeerd. Als er maar een
paar bestanden, zou de waarde waarschijnlijk 1 moeten zijn; met tienduizenden bestanden, 100 of
zelfs meer kan passend zijn om het aantal xz processen die xargs(1) zal
uiteindelijk creëren.

De optie -T1 For xz is er om het naar de single-threaded-modus te dwingen, omdat: xargs(1) zijn
gebruikt om de hoeveelheid parallellisatie te regelen.

Robot mode
Bereken hoeveel bytes er in totaal zijn opgeslagen na het comprimeren van meerdere bestanden:

xz --robot --lijst *.xz | awk '/^totalen/{print $5-$4}'

Een script wil misschien weten dat het nieuw genoeg gebruikt xz. Het volgende sh(1) schrift
controleert of het versienummer van de xz tool is minimaal 5.0.0. Deze methode is
compatibel met oude bètaversies, die de --robot optie:

indien ! eval "$(xz --robot --versie 2> /dev/null)" ||
[ "$XZ_VERSION" -lt 50000002]; dan
echo "Je xz is te oud."
fi
uitgeschakeld XZ_VERSION LIBLZMA_VERSION

Stel een geheugengebruikslimiet in voor decompressie met behulp van XZ_OPT, maar als er al een limiet is geweest
ingesteld, niet verhogen:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --info-geheugen | cut -f3)
if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; dan
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
XZ_OPT exporteren
fi

Eigen compressor filter ketens
Het eenvoudigste gebruik voor aangepaste filterketens is het aanpassen van een LZMA2-voorinstelling. Dit kan zijn
nuttig, omdat de voorinstellingen slechts een deelverzameling van de potentieel bruikbare combinaties van
compressie instellingen.

De CompCPU-kolommen van de tabellen uit de beschrijvingen van de opties -0 ... -9 en
--extreem zijn handig bij het aanpassen van LZMA2-presets. Hier zijn de relevante onderdelen
verzameld uit die twee tabellen:

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

Als je weet dat een bestand een nogal groot woordenboek nodig heeft (bijv. 32 MiB) om goed te comprimeren,
maar je wilt het sneller comprimeren dan xz -8 zou doen, een preset met een lage CompCPU-waarde
(bijv. 1) kan worden aangepast om een ​​groter woordenboek te gebruiken:

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

Bij bepaalde bestanden kan het bovenstaande commando sneller zijn dan: xz -6 tijdens het comprimeren
aanzienlijk beter. Er moet echter worden benadrukt dat slechts enkele bestanden profiteren van a
groot woordenboek terwijl de CompCPU-waarde laag blijft. De meest voor de hand liggende situatie, waarbij a
groot woordenboek kan veel helpen, is een archief met zeer vergelijkbare bestanden van minstens a
elk een paar megabyte. De grootte van het woordenboek moet aanzienlijk groter zijn dan welke dan ook
individueel bestand om LZMA2 in staat te stellen ten volle te profiteren van de overeenkomsten tussen:
opeenvolgende bestanden.

Als een zeer hoog geheugengebruik van de compressor en decompressor in orde is, en het bestand dat
gecomprimeerd minstens enkele honderden megabytes is, kan het handig zijn om een ​​nog grotere
woordenboek dan de 64 MiB die xz -9 zou gebruiken:

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

gebruik -vv (--uitgebreid --uitgebreid) zoals in het bovenstaande voorbeeld kan handig zijn om het geheugen te zien
eisen van de compressor en decompressor. Onthoud dat een groter woordenboek gebruiken
dan is de grootte van het niet-gecomprimeerde bestand geheugenverspilling, dus het bovenstaande commando niet
handig voor kleine bestanden.

Soms maakt de compressietijd niet uit, maar het geheugengebruik van de decompressor moet zijn
laag gehouden, bijvoorbeeld om het bestand op een embedded systeem te kunnen decomprimeren. De
volgende commando gebruikt -6e (-6 --extreem) als basis en stelt het woordenboek in op alleen
64 KiB. Het resulterende bestand kan worden gedecomprimeerd met XZ Embedded (daarom is er
--check=crc32) met ongeveer 100 KiB geheugen.

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

Als je zoveel mogelijk bytes eruit wilt persen, pas dan het aantal letterlijke aan
contextbits (lc) en aantal positiebits (pb) kan soms helpen. De aanpassen
aantal letterlijke positiebits (lp) kan ook helpen, maar meestal lc en pb zijn meer
belangrijk. Een broncodearchief bevat bijvoorbeeld voornamelijk US-ASCII-tekst, dus zoiets als:
het volgende kan een iets (zoals 0.1 %) kleiner bestand opleveren dan xz -6e (probeer ook zonder
lc=4):

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

Het gebruik van een ander filter samen met LZMA2 kan de compressie van bepaalde bestandstypen verbeteren.
Om bijvoorbeeld een x86-32 of x86-64 gedeelde bibliotheek te comprimeren met behulp van het x86 BCJ-filter:

xz --x86 --lzma2 libfoo.so

Merk op dat de volgorde van de filteropties aanzienlijk is. Indien --x86 wordt gespecificeerd na
--lzma2, xz geeft een foutmelding, omdat er geen filter kan zijn na LZMA2, en ook
omdat het x86 BCJ-filter niet als laatste filter in de keten kan worden gebruikt.

Het Delta-filter kan samen met LZMA2 goede resultaten geven met bitmapafbeeldingen. Het zou moeten
verslaan meestal PNG, dat een paar geavanceerdere filters heeft dan eenvoudige delta, maar Deflate gebruikt
voor de daadwerkelijke compressie.

De afbeelding moet in ongecomprimeerd formaat worden opgeslagen, bijvoorbeeld als ongecomprimeerde TIFF. De afstand
parameter van het Delta-filter is ingesteld om overeen te komen met het aantal bytes per pixel in de afbeelding.
Bijv. 24-bits RGB-bitmapbehoeften afstand = 3, en het is ook goed om te slagen pb=0 naar LZMA2 naar
geschikt voor de uitlijning van drie bytes:

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

Als er meerdere afbeeldingen in één archief zijn geplaatst (bijv .teer), zal het Delta-filter
werk daar ook aan zolang alle afbeeldingen hetzelfde aantal bytes per pixel hebben.

Gebruik xzcat online met onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad