Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

xzcat - Online w chmurze

Uruchom xzcat w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

Jest to polecenie xzcat, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


xz, unxz, xzcat, lzma, unlzma, lzcat - Kompresuj lub dekompresuj pliki .xz i .lzma

STRESZCZENIE


xz [opcja]... [filet] ...

unxz odpowiada xz --rozprężać.
xzcat odpowiada xz --rozprężać -- stdout.
Izma odpowiada xz --format=lzma.
unlzma odpowiada xz --format=lzma --rozprężać.
Izcat odpowiada xz --format=lzma --rozprężać -- stdout.

Podczas pisania skryptów, które wymagają dekompresowania plików, zaleca się zawsze używać
Nazwa xz z odpowiednimi argumentami (xz -d or xz -dc) zamiast imion unxz i xzcat.

OPIS


xz to narzędzie do kompresji danych ogólnego przeznaczenia, którego składnia wiersza poleceń jest podobna do gzip(1)
i bzip2(1). Natywnym formatem pliku jest .xz format, ale dziedzictwo .lzma używany format
autorstwa LZMA Utils i surowe, skompresowane strumienie bez nagłówków w formacie kontenera
utrzymany.

xz kompresuje lub dekompresuje każdy z nich filet zgodnie z wybranym trybem pracy. Jeśli nie
pliki są podane lub filet is -, xz czyta ze standardowego wejścia i zapisuje przetworzone dane
na standardowe wyjście. xz odmówi (wyświetli błąd i pominie filet) pisać
skompresowane dane na standardowe wyjście, jeśli jest to terminal. Podobnie, xz odmówi czytania
skompresowane dane ze standardowego wejścia, jeśli jest to terminal.

Chyba że -- stdout jest specyficzne, pliki inne niż - są zapisywane w nowym pliku o nazwie
pochodzi ze źródła filet Nazwa:

· Podczas kompresji przyrostek docelowego formatu pliku (.xz or .lzma) jest dołączony do
nazwę pliku źródłowego, aby uzyskać docelową nazwę pliku.

· Podczas dekompresji plik .xz or .lzma sufiks jest usuwany z nazwy pliku, aby uzyskać
docelowa nazwa pliku. xz rozpoznaje również przyrostki .txt i .tlzi zastępuje je
dotychczasowy .smoła przyrostek.

Jeśli plik docelowy już istnieje, zostanie wyświetlony komunikat o błędzie i filet jest pomijany.

Chyba że zapiszesz na standardowe wyjście, xz wyświetli ostrzeżenie i pominie filet jeśli którykolwiek z
obowiązuje, co następuje:

· filet nie jest zwykłym plikiem. Dowiązania symboliczne nie są przestrzegane i dlatego tak nie jest
uważane za zwykłe pliki.

· filet ma więcej niż jedno twarde łącze.

· filet ma ustawiony bit setuid, setgid lub sticky.

· Tryb pracy jest ustawiony na kompresję i filet ma już przyrostek celu
format pliku (.xz or .txt podczas kompresji do .xz format i .lzma or .tlz jeśli chodzi o komunikację i motywację
kompresja do .lzma format).

· Tryb pracy jest ustawiony na dekompresję i filet nie ma przyrostka żadnego z
obsługiwane formaty plików (.xz, .txt, .lzmalub .tlz).

Po pomyślnym skompresowaniu lub dekompresji pliku filet, xz kopiuje właściciela, grupę,
uprawnienia, czas dostępu i czas modyfikacji ze źródła filet do pliku docelowego.
Jeśli kopiowanie grupy nie powiedzie się, uprawnienia zostaną zmodyfikowane w taki sposób, aby nie dotyczyło to pliku docelowego
stać się dostępnymi dla użytkowników, którzy nie mieli uprawnień dostępu do źródła filet. xz
nie obsługuje kopiowania innych metadanych, takich jak listy kontroli dostępu lub atrybuty rozszerzone
jeszcze.

Po pomyślnym zamknięciu pliku docelowego plik source filet zostanie usunięty, chyba że
--trzymać zostało określone. Źródło filet nigdy nie jest usuwany, jeśli zapisywane jest wyjście
standardowe wyjście.

Wysyłanie PODPIS or SIGUSR1 do xz proces powoduje wydrukowanie informacji o postępie
Standardowy błąd. Ma to ograniczone zastosowanie, ponieważ standardowym błędem jest terminal
--gadatliwy wyświetli automatycznie aktualizowany wskaźnik postępu.

Pamięć zwyczaj
Wykorzystanie pamięci xz waha się od kilkuset kilobajtów do kilku gigabajtów, w zależności
na ustawieniach kompresji. Ustawienia używane podczas kompresji pliku określają
wymagania dotyczące pamięci dekompresora. Zazwyczaj dekompresor potrzebuje 5% do 20%.
ilość pamięci potrzebna kompresorowi podczas tworzenia pliku. Na przykład,
dekompresowanie pliku utworzonego za pomocą xz -9 obecnie wymaga 65 MB pamięci. Mimo wszystko tak jest
możliwe do posiadania .xz pliki wymagające kilku gigabajtów pamięci do dekompresji.

Szczególnie użytkownicy starszych systemów mogą spotkać się z możliwością bardzo dużego wykorzystania pamięci
irytujący. Aby uniknąć przykrych niespodzianek, xz posiada wbudowany ogranicznik wykorzystania pamięci,
która jest domyślnie wyłączona. Chociaż niektóre systemy operacyjne umożliwiają ograniczenie
wykorzystanie pamięci przez procesy, poleganie na niej nie zostało uznane za wystarczająco elastyczne (np. using
ulimit(1) ograniczenie pamięci wirtualnej ma tendencję do paraliżu mmap(2)).

Ogranicznik zużycia pamięci można włączyć za pomocą opcji wiersza poleceń --memlimit=ograniczenie.
Często wygodniej jest domyślnie włączyć ogranicznik, ustawiając środowisko
zmienna XZ_DEFAULTSnp XZ_DEFAULTS=--memlimit=150MiB. Istnieje możliwość ustawienia
limity oddzielnie dla kompresji i dekompresji za pomocą --memlimit-compress=ograniczenie i
--memlimit-dekompresja=ograniczenie. Korzystanie z tych dwóch opcji na zewnątrz XZ_DEFAULTS jest rzadko przydatny
ponieważ pojedynczy bieg xz nie może wykonywać jednocześnie kompresji i dekompresji oraz
--memlimit=ograniczenie (lub -M ograniczenie) jest krótszy i można go wpisać w wierszu poleceń.

Jeśli podczas dekompresji zostanie przekroczony określony limit wykorzystania pamięci, xz wyświetli
błąd i dekompresja pliku zakończy się niepowodzeniem. Jeśli limit zostanie przekroczony podczas kompresji, xz
spróbuje zmniejszyć ustawienia, aby limit nie był już przekraczany (z wyjątkiem sytuacji, gdy
za pomocą --format=surowy or --bez-regulacji). W ten sposób operacja nie zakończy się niepowodzeniem, chyba że limit zostanie osiągnięty
bardzo mały. Skalowanie ustawień odbywa się w krokach, które nie odpowiadają kompresji
ustawienia wstępne poziomu, np. jeśli limit jest tylko nieznacznie mniejszy niż kwota wymagana xz -9,
ustawienia zostaną zmniejszone tylko nieznacznie, a nie całkowicie xz -8.

Powiązanie i wyściółka w .xz pliki
Możliwe jest łączenie .xz pliki takie, jakie są. xz zdekompresuje takie pliki tak, jakby one
były singlem .xz plik.

Istnieje możliwość wstawienia dopełnienia pomiędzy łączonymi częściami lub po ostatniej części.
Dopełnienie musi składać się z bajtów zerowych, a rozmiar dopełnienia musi być wielokrotnością
cztery bajty. Może to być przydatne, np. jeśli .xz plik jest przechowywany na nośniku, który mierzy
rozmiary plików w blokach 512-bajtowych.

Łączenie i dopełnianie nie są dozwolone .lzma pliki lub surowe strumienie.

OPCJE


Liczba całkowita sufiksy i specjalny wartości
W większości miejsc, w których oczekiwany jest argument będący liczbą całkowitą, obsługiwany jest opcjonalny przyrostek
łatwo wskazać duże liczby całkowite. Pomiędzy liczbą całkowitą a liczbą nie może być spacji
przyrostek.

KB Pomnóż liczbę całkowitą przez 1,024 (2^10). Ki, k, kB, K, KB są akceptowane jako
synonimy dla KB.

Eb Pomnóż liczbę całkowitą przez 1,048,576 (2^20). Mi, m, M, MB są akceptowane jako
synonimy dla Eb.

Zawłoka Pomnóż liczbę całkowitą przez 1,073,741,824 (2^30). Gi, g, G, GB są akceptowane jako
synonimy dla Zawłoka.

Specjalna wartość max może być użyty do wskazania maksymalnej wartości całkowitej obsługiwanej przez
opcja.

Działanie tryb
Jeżeli podanych jest wiele opcji trybu pracy, obowiązuje ostatnia.

-z, --Kompresja
Kompresja. Jest to domyślny tryb pracy, gdy żadna opcja trybu pracy nie jest
określony i z nazwy polecenia nie wynika żaden inny tryb działania (np
przykład, unxz sugeruje --rozprężać).

-d, --rozprężać, --rozpakuj
Rozprężać.

-t, --test
Sprawdź integralność skompresowanego pliki. Ta opcja jest równoważna --rozprężać
-- stdout z tą różnicą, że zdekompresowane dane są odrzucane zamiast zapisywane
standardowe wyjście. Żadne pliki nie są tworzone ani usuwane.

-l, --lista
Wydrukuj informacje o skompresowanym pliku pliki. Nie są generowane żadne nieskompresowane dane wyjściowe
żadne pliki nie są tworzone ani usuwane. W trybie listy program nie może odczytać pliku
skompresowane dane ze standardowego wejścia lub z innych, niewyszukiwanych źródeł.

Domyślna lista zawiera podstawowe informacje o pliki, jeden plik w linii. Aby dostać
bardziej szczegółowe informacje, skorzystaj także z --gadatliwy opcja. Jeszcze więcej
informacja, wykorzystanie --gadatliwy dwa razy, ale pamiętaj, że może to być powolne, ponieważ pobieranie
wszystkie dodatkowe informacje wymagają wielu poszukiwań. Szerokość pełnych danych wyjściowych przekracza
80 znaków, więc przesyłanie danych wyjściowych do np mniej -S może być wygodne, jeśli
terminal nie jest wystarczająco szeroki.

Dokładny wynik może się różnić w zależności od xz wersje i różne lokalizacje. Dla maszyny-
czytelny wynik, --robot --lista należy użyć.

Działanie modyfikatory
-k, --trzymać
Nie usuwaj plików wejściowych.

-f, --siła
Ta opcja ma kilka efektów:

· Jeśli plik docelowy już istnieje, usuń go przed kompresją lub
dekompresja.

· Kompresuj lub dekompresuj nawet jeśli danymi wejściowymi jest dowiązanie symboliczne do zwykłego pliku,
ma więcej niż jedno łącze stałe lub ma ustawiony bit setuid, setgid lub sticky. The
bity setuid, setgid i sticky nie są kopiowane do pliku docelowego.

· W przypadku stosowania z --rozprężać -- stdout i xz nie można rozpoznać typu
plik źródłowy, skopiuj plik źródłowy w niezmienionej postaci na standardowe wyjście. To pozwala xzcat
--siła do użycia jak jak(1) dla plików, które nie zostały skompresowane za pomocą xz.
Należy pamiętać, że w przyszłości xz może obsługiwać nowe formaty skompresowanych plików, które mogą
robić xz dekompresuj więcej typów plików zamiast je kopiować w standardowy sposób
wyjście. --format=format może służyć do ograniczania xz zdekompresować tylko jeden
format pliku.

-c, -- stdout, --do wyjścia
Zapisz skompresowane lub zdekompresowane dane na standardowe wyjście zamiast do pliku.
Oznacza to --trzymać.

--pojedynczy strumień
Rozpakuj tylko pierwszy .xz strumienia i po cichu ignoruje możliwe pozostałe dane wejściowe
dane podążające za strumieniem. Zwykle takie końcowe śmieci powodują xz wyświetlić
Błąd.

xz nigdy nie dekompresuje więcej niż jednego strumienia .lzma pliki lub surowe strumienie, ale
ta opcja nadal sprawia xz zignoruj ​​możliwe dane końcowe po .lzma filet
lub surowy strumień.

Ta opcja nie ma żadnego efektu, jeśli tryb pracy nie jest taki --rozprężać or --test.

--nie-rzadkie
Wyłącz tworzenie plików rozrzedzonych. Domyślnie w przypadku dekompresji do zwykłego pliku
file, xz próbuje uczynić plik rozrzedzonym, jeśli zdekompresowane dane zawierają długie
ciągi zer binarnych. Działa również przy zapisie na standardowe wyjście tak długo
jako standardowe wyjście jest podłączone do zwykłego pliku i pod pewnymi dodatkowymi warunkami
są spełnione, aby zapewnić bezpieczeństwo. Tworzenie rzadkich plików może zaoszczędzić miejsce na dysku i przyspieszyć
dekompresję poprzez zmniejszenie ilości operacji we/wy dysku.

-S suf, --sufiks=suf
Podczas kompresji użyj suf jako przyrostek pliku docelowego zamiast .xz or
.lzma. Jeśli nie zapisuje się na standardowe wyjście, a plik źródłowy już zawiera
przyrostek suf, zostanie wyświetlone ostrzeżenie i plik zostanie pominięty.

Podczas dekompresji rozpoznaj pliki z przyrostkiem suf oprócz plików z
dotychczasowy .xz, .txt, .lzmalub .tlz przyrostek. Jeśli plik źródłowy ma przyrostek sufThe
sufiks jest usuwany, aby uzyskać docelową nazwę pliku.

Podczas kompresji lub dekompresji surowych strumieni (--format=surowy), przyrostek musi
zawsze być określony, chyba że zostanie zapisany na standardowe wyjście, ponieważ nie ma wartości domyślnej
przyrostek dla surowych strumieni.

--pliki[=filet]
Przeczytaj nazwy plików, z których chcesz przetworzyć filet; Jeśli filet zostanie pominięty, odczytywane są nazwy plików
ze standardowego wejścia. Nazwy plików muszą być zakończone znakiem nowej linii. A
kropla (-) jest traktowane jako zwykła nazwa pliku; nie oznacza to standardowego wejścia. Jeśli
nazwy plików podawane są także jako argumenty wiersza poleceń, są one przetwarzane przed
nazwy plików odczytywane z filet.

--pliki0[=filet]
To jest identyczne z --pliki[=filet] z tą różnicą, że każda nazwa pliku musi zostać zakończona
ze znakiem zerowym.

Basic filet format i kompresja Opcje
-F format, --format=format
Określ plik format kompresować lub dekompresować:

samochód To jest ustawienie domyślne. Podczas kompresji samochód odpowiada xz. Kiedy
dekompresji, format pliku wejściowego jest wykrywany automatycznie. Notatka
że surowe strumienie (utworzone za pomocą --format=surowy) nie mogą zostać automatycznie wykryte.

xz Kompresuj do .xz format pliku lub tylko zaakceptuj .xz pliki kiedy
dekompresja.

Izma, sam
Kompresuj do dziedzictwa .lzma format pliku lub tylko zaakceptuj .lzma pliki kiedy
dekompresja. Alternatywna nazwa sam jest przewidziany do tyłu
kompatybilność z narzędziami LZMA.

surowy Kompresuj lub dekompresuj surowy strumień (bez nagłówków). To jest przeznaczone
tylko dla zaawansowanych użytkowników. Aby zdekodować surowe strumienie, potrzebujesz użycia --format=surowy i
jawnie określ łańcuch filtrów, który normalnie byłby przechowywany
w nagłówkach kontenerów.

-C ZOBACZ, --sprawdź=ZOBACZ
Określ typ kontroli integralności. Czek jest obliczany na podstawie
nieskompresowane dane i przechowywane w formacie .xz plik. Ta opcja ma wpływ tylko wtedy, gdy
kompresja w .xz format; ten .lzma format nie obsługuje sprawdzania integralności.
Kontrola integralności (jeśli istnieje) jest weryfikowana, gdy .xz plik jest zdekompresowany.

Utrzymany ZOBACZ typy:

Żaden W ogóle nie obliczaj kontroli integralności. Zwykle jest to zły pomysł.
Może to być przydatne, gdy integralność danych jest weryfikowana innymi sposobami
anyway.

Crc32 Oblicz CRC32, korzystając z wielomianu z IEEE-802.3 (Ethernet).

Crc64 Oblicz CRC64, korzystając z wielomianu z ECMA-182. To jest ustawienie domyślne,
ponieważ jest nieco lepszy niż CRC32 w wykrywaniu uszkodzonych plików i
różnica prędkości jest znikoma.

sha256 Oblicz SHA-256. Jest to nieco wolniejsze niż CRC32 i CRC64.

Integralność .xz nagłówki są zawsze weryfikowane za pomocą CRC32. Nie jest możliwe
zmienić lub wyłączyć.

-0 ... -9
Wybierz wstępnie ustawiony poziom kompresji. Wartość domyślna to -6. Jeśli jest wiele zaprogramowanych poziomów
zostaną określone, ostatnia z nich zacznie obowiązywać. Jeśli niestandardowy łańcuch filtrów już był
określony, ustawienie wstępnie ustawionego poziomu kompresji czyści łańcuch filtrów niestandardowych.

Różnice między ustawieniami wstępnymi są bardziej znaczące niż w przypadku gzip(1) i
bzip2(1). Wybrane ustawienia kompresji określają wymagania dotyczące pamięci
dekompresora, dlatego użycie zbyt wysokiego poziomu może być bolesne
rozpakuj plik na starym systemie z małą ilością pamięci RAM. Konkretnie, to nie a
dobry pomysł do na oślep posługiwać się -9 dla wszystko jak to często bywa gzip(1) i
bzip2(1).

-0 ... -3
Są to dość szybkie ustawienia wstępne. -0 czasami jest szybszy niż gzip -9 Podczas
kompresja jest dużo lepsza. Te wyższe często mają prędkość porównywalną do
bzip2(1) przy porównywalnym lub lepszym stopniu sprężania, chociaż wyniki
zależy w dużej mierze od rodzaju kompresowanych danych.

-4 ... -6
Dobra lub bardzo dobra kompresja przy jednoczesnym zachowaniu wykorzystania pamięci dekompresora
rozsądne nawet w przypadku starych systemów. -6 jest ustawieniem domyślnym, co zwykle jest dobre
wybór np. do dystrybucji plików, które wymagają nawet dekompresji
systemy z zaledwie 16 MB pamięci RAM. (-5e or -6e może też warto to rozważyć.
See --skrajny.)

-7 ... -9
To są jak -6 ale z większą pamięcią kompresora i dekompresora
wymagania. Są one przydatne tylko przy kompresowaniu plików większych niż
Odpowiednio 8 MiB, 16 MiB i 32 MiB.

Na tym samym sprzęcie prędkość dekompresji jest w przybliżeniu stałą liczbą
bajtów skompresowanych danych na sekundę. Innymi słowy, im lepsza kompresja,
tym szybsza będzie zwykle dekompresja. Oznacza to również, że ilość
nieskompresowany wynik generowany na sekundę może się znacznie różnić.

Poniższa tabela podsumowuje funkcje ustawień wstępnych:

Wstępnie ustawione 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

Opisy kolumn:

· DictSize to rozmiar słownika LZMA2. Używanie a. to strata pamięci
słownik większy niż rozmiar nieskompresowanego pliku. Dlatego tak jest
dobrze jest unikać używania gotowych ustawień -7 ... -9 kiedy tak naprawdę nie są one potrzebne.
At -6 i niższe, ilość marnowanej pamięci jest zwykle wystarczająco niska, aby tego nie robić
materia.

· CompCPU to uproszczona reprezentacja ustawień LZMA2, które mają wpływ
prędkość kompresji. Rozmiar słownika również wpływa na szybkość, więc podczas gdy CompCPU tak
to samo z poziomami -6 ... -9, wyższe poziomy nadal są nieco wolniejsze.
Aby uzyskać jeszcze wolniejszą, a tym samym prawdopodobnie lepszą kompresję, zobacz --skrajny.

· CompMem zawiera wymagania dotyczące pamięci kompresora w trybie jednowątkowym.
Może się nieznacznie różnić pomiędzy xz wersje. Wymagania dotyczące pamięci niektórych z
przyszłe tryby wielowątkowe mogą być znacznie wyższe niż tryby jednowątkowe
tryb gwintowany.

· DecMem zawiera wymagania dotyczące pamięci dekompresora. Czyli kompresja
ustawienia określają wymagania dotyczące pamięci dekompresora. Dokładny
zużycie pamięci dekompresora jest nieco większe niż rozmiar słownika LZMA2, ale
wartości w tabeli zostały zaokrąglone w górę do następnego pełnego MiB.

-e, --skrajny
Użyj wolniejszego wariantu wybranego wstępnie ustawionego poziomu kompresji (-0 ... -9) Do
mam nadzieję, że uzyskam trochę lepszy współczynnik kompresji, ale przy pechu może to być możliwe
także pogorszyć sytuację. Nie ma to wpływu na wykorzystanie pamięci dekompresora, ale kompresor
zużycie pamięci nieznacznie wzrasta na wstępnie ustawionym poziomie -0 ... -3.

Ponieważ istnieją dwa ustawienia wstępne o rozmiarach słownika 4 MiB i 8 MiB, ustawienia wstępne -3e
i -5e użyj nieco szybszych ustawień (niższy CompCPU) niż -4e i -6e,
odpowiednio. Dzięki temu nie ma dwóch identycznych ustawień wstępnych.

Wstępnie ustawione 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

Na przykład istnieją w sumie cztery ustawienia wstępne korzystające ze słownika 8 MiB, którego
kolejność od najszybszego do najwolniejszego -5, -6, -5e, -6e.

--szybki
--Najlepsza Są to nieco mylące aliasy dla -0 i -9odpowiednio. To są
udostępniane wyłącznie w celu zapewnienia kompatybilności wstecznej z oprogramowaniem LZMA Utils. Unikaj ich używania
opcje.

--rozmiar-bloku=rozmiar
Podczas kompresji do .xz format, podziel dane wejściowe na bloki rozmiar bajty.
Bloki są kompresowane niezależnie od siebie.

--memlimit-compress=ograniczenie
Ustaw limit użycia pamięci dla kompresji. Jeśli ta opcja jest określona jako wielokrotna
razy, ostatni wchodzi w życie.

Jeśli ustawienia kompresji przekraczają ograniczenie, xz spowoduje dostosowanie ustawień w dół
tak, aby limit nie był już przekroczony i wyświetlił się komunikat, który następuje automatycznie
dokonano regulacji. Takie regulacje nie są dokonywane podczas kompresji za pomocą
--format=surowy albo jeśli --bez-regulacji zostało określone. W takich przypadkach występuje błąd
wyświetlane i xz wyjdzie ze statusem wyjścia 1.

Połączenia ograniczenie można określić na wiele sposobów:

· ograniczenie może być wartością bezwzględną w bajtach. Używanie przyrostka liczby całkowitej, np Eb
może się przydać. Przykład: --memlimit-compress=80MB

· ograniczenie można określić jako procent całkowitej pamięci fizycznej (RAM). Ten
może być przydatny szczególnie przy ustawianiu XZ_DEFAULTS zmienna środowiskowa w a
skrypt inicjujący powłokę, który jest współdzielony między różnymi komputerami. To
sposób, w jaki limit jest automatycznie większy w systemach z większą ilością pamięci. Przykład:
--memlimit-compress=70%

· ograniczenie można zresetować do wartości domyślnej, ustawiając ją na 0. Jest
obecnie równoważne z ustawieniem ograniczenie do max (brak limitu wykorzystania pamięci). Raz
zaimplementowano obsługę wielowątkowości, mogą występować różnice pomiędzy 0
i max dla przypadku wielowątkowego, dlatego zaleca się użycie 0 zamiast max
do czasu ustalenia szczegółów.

Zobacz także sekcję Pamięć zwyczaj.

--memlimit-dekompresja=ograniczenie
Ustaw limit użycia pamięci dla dekompresji. Wpływa to również na --lista tryb. Jeśli
operacja nie jest możliwa bez przekroczenia ograniczenie, xz wyświetli błąd
i dekompresja pliku zakończy się niepowodzeniem. Widzieć --memlimit-compress=ograniczenie za możliwe
sposoby określania ograniczenie.

-M ograniczenie, --memlimit=ograniczenie, --pamięć=ograniczenie
Jest to równoznaczne z określeniem --memlimit-compress=ograniczenie
--memlimit-dekompresja=ograniczenie.

--bez-regulacji
Wyświetl błąd i wyjdź, jeśli ustawienia kompresji przekraczają zużycie pamięci
limit. Domyślnie ustawienia są zmniejszane, tak aby zużycie pamięci było mniejsze
limit nie zostanie przekroczony. Automatyczne dopasowanie jest zawsze wyłączone podczas tworzenia pliku raw
strumienie (--format=surowy).

-T threads, --wątki=threads
Określ liczbę wątków roboczych do użycia. Rzeczywista liczba wątków może wynosić
mniej niż threads użycie większej liczby wątków spowodowałoby przekroczenie limitu wykorzystania pamięci.

Wielowątkowy kompresja i dekompresja jest nie realizowane jeszcze, so to opcja
ma Nie efekt dla teraz.

As of pisanie (2010–09–27) it nie ma być postanowiła if threads będzie be używany by
domyślnym on wielordzeniowy systemy pewnego razu wsparcie dla gwintowanie ma być zaimplementowano.
Komentarze jest Witamy. Czynnikiem komplikującym jest to, że użycie wielu wątków będzie
znacznie zwiększyć zużycie pamięci. Zauważ, że jeśli wielowątkowość będzie
domyślnie, prawdopodobnie zostanie to zrobione tak, że tryby jednowątkowe i wielowątkowe
wytwarzają tę samą moc wyjściową, więc współczynnik kompresji nie będzie znacząco zmieniony, jeśli
wątki będą domyślnie włączone.

Zamówienia Indywidualne kompresor filtrować więzy
Niestandardowy łańcuch filtrów umożliwia szczegółowe określenie ustawień kompresji zamiast
w oparciu o ustawienia powiązane z ustawionymi poziomami. Kiedy niestandardowy łańcuch filtrów jest
określone opcje wstępnie ustawionego poziomu kompresji (-0 ... -9 i --skrajny) milczą
ignorowane.

Łańcuch filtrów jest porównywalny z potokami w wierszu poleceń. Podczas kompresji plik
nieskompresowane wejście trafia do pierwszego filtra, którego wyjście trafia do następnego filtra (jeśli
każdy). Dane wyjściowe ostatniego filtru zostaną zapisane w skompresowanym pliku. Maksymalny
liczba filtrów w łańcuchu wynosi cztery, ale zazwyczaj łańcuch filtrów składa się tylko z jednego lub dwóch
filtry.

Wiele filtrów ma ograniczenia co do miejsca, w którym mogą się znajdować w łańcuchu filtrów: niektóre filtry mogą
działają tylko jako ostatni filtr w łańcuchu, niektóre tylko jako filtr nieostatni, a niektóre działają
w dowolnej pozycji w łańcuchu. W zależności od filtra to ograniczenie jest albo nieodłączne
do projektu filtra lub istnieje, aby zapobiec problemom z bezpieczeństwem.

Niestandardowy łańcuch filtrów jest określany przy użyciu jednej lub większej liczby opcji filtrów w odpowiedniej kolejności
są poszukiwani w łańcuchu filtrów. Oznacza to, że kolejność opcji filtrów jest znacząca!
Podczas dekodowania surowych strumieni (--format=surowy), łańcuch filtrów jest określony w tej samej kolejności
jak określono podczas kompresji.

Filtry są specyficzne dla filtra Opcje jako lista oddzielona przecinkami. Dodatkowe przecinki w Opcje
są ignorowane. Każda opcja ma wartość domyślną, więc musisz określić tylko te, które chcesz
zmienić.

--lzma1[=Opcje]
--lzma2[=Opcje]
Dodaj filtr LZMA1 lub LZMA2 do łańcucha filtrów. Filtrów tych można używać wyłącznie jako
ostatni filtr w łańcuchu.

LZMA1 to starszy filtr, który jest obsługiwany prawie wyłącznie ze względu na starszą wersję .lzma
format pliku, który obsługuje tylko LZMA1. LZMA2 to zaktualizowana wersja LZMA1 do
napraw kilka praktycznych problemów LZMA1. The .xz format wykorzystuje LZMA2 i nie obsługuje
LZMA1 w ogóle. Szybkość kompresji i współczynniki LZMA1 i LZMA2 są praktycznie takie same
podobnie.

LZMA1 i LZMA2 korzystają z tego samego zestawu Opcje:

ustawienie wstępne=presetu
Zresetuj wszystkie LZMA1 lub LZMA2 Opcje do presetu. Preset składać się z liczby całkowitej,
po których mogą następować jednoliterowe predefiniowane modyfikatory. Liczba całkowita może być
od 0 do 9, dopasowując opcje wiersza poleceń -0 ... -9. Jedyny
obsługiwany modyfikator jest obecnie e, który pasuje --skrajny. Domyślny
presetu is 6, z którego pochodzą wartości domyślne dla reszty LZMA1 lub
LZMA2 Opcje są zajęte.

dykt=rozmiar
Słownik (bufor historii) rozmiar wskazuje, ile bajtów ostatnio
przetworzone, nieskompresowane dane są przechowywane w pamięci. Algorytm próbuje znaleźć
powtarzające się sekwencje bajtów (dopasowania) w nieskompresowanych danych i zamień
je z odniesieniami do danych znajdujących się aktualnie w słowniku. Większy
słownika, tym większa szansa na znalezienie dopasowania. W ten sposób wzrasta
słownik rozmiar zwykle poprawia współczynnik kompresji, ale słownik jest większy
niż nieskompresowany plik jest stratą pamięci.

Typowy słownik rozmiar wynosi od 64 KiB do 64 MiB. Minimalna wielkość to 4 KiB.
Maksymalna kompresja wynosi obecnie 1.5 GiB (1536 MiB). The
dekompresor obsługuje już słowniki do jednego bajtu mniejszego niż 4 GiB,
co jest wartością maksymalną dla formatów strumieni LZMA1 i LZMA2.

Słownik rozmiar i wyszukiwarka dopasowań (mf) wspólnie określają wykorzystanie pamięci
enkoder LZMA1 lub LZMA2. Ten sam (lub większy) słownik rozmiar is
wymagany do dekompresji, który został użyty podczas kompresji, a więc i pamięć
użycie dekodera zależy od rozmiaru używanego słownika
ściskanie. The .xz nagłówki przechowują słownik rozmiar albo jako 2^n lub 2^n
+ 2^(n-1), więc te rozmiary są nieco preferowane w przypadku kompresji. Inny
rozmiary zostaną zaokrąglone w górę, gdy zostaną zapisane w .xz nagłówki.

lc=lc Określ liczbę bitów kontekstu literału. Minimum to 0 i
maksymalna to 4; wartość domyślna to 3. Ponadto suma lc i lp nie możesz
przekroczyć 4.

Wszystkie bajty, których nie można zakodować jako dopasowania, są kodowane jako literały. To
oznacza to, że literały to po prostu 8-bitowe bajty kodowane pojedynczo.

Dosłowne kodowanie zakłada, że ​​najwyższy lc kawałki
poprzedni nieskompresowany bajt koreluje z następnym bajtem. Np. w typowym
W tekście angielskim po dużej literze często następuje mała litera,
po małej literze zwykle następuje kolejna mała litera.
W zestawie znaków US-ASCII trzy najwyższe bity to 010, czyli wielkie litery
litery i 011 dla małych liter. Gdy lc wynosi co najmniej 3, dosłowne
kodowanie może wykorzystać tę właściwość w nieskompresowanych danych.

Wartość domyślna (3) jest zwykle dobra. Jeśli zależy Ci na maksymalnej kompresji,
test lc=4. Czasami trochę pomaga, a czasami powoduje kompresję
gorzej. Jeśli to pogorszy, przetestuj np lc=2 też.

lp=lp Określ liczbę bitów pozycji literału. Minimum to 0 i
maksymalna to 4; wartość domyślna to 0.

Lp wpływa na to, kiedy zakładany jest rodzaj wyrównania nieskompresowanych danych
kodowanie literałów. Widzieć pb poniżej, aby uzyskać więcej informacji na temat wyrównania.

pb=pb Określ liczbę bitów pozycji. Minimum to 0, a maksimum to 4;
wartość domyślna to 2.

Pb wpływa na rodzaj wyrównania nieskompresowanych danych
ogólny. Wartość domyślna oznacza wyrównanie czterobajtowe (2^pb=2^2=4), co często się zdarza
dobry wybór, gdy nie ma lepszego przypuszczenia.

Gdy znane jest wyrównanie, ustawienie pb odpowiednio może zmniejszyć rozmiar pliku
trochę. Np. w przypadku plików tekstowych z wyrównaniem jednobajtowym (US-ASCII,
ISO-8859-*, UTF-8), ustawienie pb=0 może nieznacznie poprawić kompresję. Dla
tekst w formacie UTF-16, pb=1 to dobry wybór. Jeśli wyrównanie jest liczbą nieparzystą, np
3 bajtów, pb=0 może być najlepszym wyborem.

Chociaż zakładane wyrównanie można dostosować za pomocą pb i lp, LZMA1 i
LZMA2 nadal nieznacznie faworyzuje wyrównanie 16-bajtowe. Może warto to wziąć pod uwagę
uwzględnić przy projektowaniu formatów plików, które mogą być często kompresowane
z LZMA1 lub LZMA2.

mf=mf Wyszukiwarka dopasowań ma duży wpływ na szybkość kodera, zużycie pamięci i
Stopień sprężania. Zwykle wyszukiwarki dopasowań Hash Chain są szybsze niż Binary
Wyszukiwarki dopasowań drzew. Wartość domyślna zależy od presetu: 0 zastosowań Hc3, 1-3 użycia
Hc4, a reszta korzysta bt4.

Obsługiwane są następujące wyszukiwarki dopasowań. Poniżej znajdują się wzory wykorzystania pamięci
są przybliżeniami, które są najbliższe rzeczywistości, gdy DICT jest
potęga dwójki.

Hc3 Łańcuch mieszający z haszowaniem 2- i 3-bajtowym
Minimalna wartość dla miło: 3
Zużycie pamięci:
DICT * 7.5 (jeśli DICT <= 16 MiB);
DICT * 5.5 + 64 MiB (jeśli DICT > 16 MB)

Hc4 Łańcuch mieszający z haszowaniem 2-, 3- i 4-bajtowym
Minimalna wartość dla miło: 4
Zużycie pamięci:
DICT * 7.5 (jeśli DICT <= 32 MiB);
DICT * 6.5 (jeśli DICT > 32 MB)

bt2 Drzewo binarne z 2-bajtowym hashowaniem
Minimalna wartość dla miło: 2
Zużycie pamięci: DICT * 9.5

bt3 Drzewo binarne z haszowaniem 2- i 3-bajtowym
Minimalna wartość dla miło: 3
Zużycie pamięci:
DICT * 11.5 (jeśli DICT <= 16 MiB);
DICT * 9.5 + 64 MiB (jeśli DICT > 16 MB)

bt4 Drzewo binarne z haszowaniem 2-, 3- i 4-bajtowym
Minimalna wartość dla miło: 4
Zużycie pamięci:
DICT * 11.5 (jeśli DICT <= 32 MiB);
DICT * 10.5 (jeśli DICT > 32 MB)

tryb=tryb
Kompresja tryb określa metodę analizy danych generowanych przez
wyszukiwarka dopasowań. Utrzymany Tryby jest szybki i normalna, Wartość domyślna to szybki dla
presetów 0-3 i normalna dla presetów 4-9.

Zazwyczaj szybki jest używany z wyszukiwarkami dopasowań Hash Chain i normalna z Binarem
Wyszukiwarki dopasowań drzew. To jest również to, co presetów zrobić.

miło=miło
Określ, jaka długość jest uważana za odpowiednią dla dopasowania. Raz na mecz
przynajmniej miło bajtów, algorytm przestaje szukać ewentualnie
lepsze mecze.

Miły może wynosić od 2 do 273 bajtów. Wyższe wartości zwykle zapewniają lepszą kompresję
stosunek kosztem prędkości. Wartość domyślna zależy od presetu.

głębokość=głębokość
Określ maksymalną głębokość wyszukiwania w wyszukiwarce dopasowań. Wartość domyślna to
specjalna wartość 0, która sprawia, że ​​kompresor określa rozsądnie głębokość
od mf i miło.

Rozsądny głębokość dla łańcuchów mieszających wynosi 4-100 i 16-1000 dla drzew binarnych.
Używanie bardzo wysokich wartości dla głębokość może sprawić, że koder będzie bardzo wolny
niektóre pliki. Unikaj ustawiania głębokość ponad 1000, chyba że jesteś na to przygotowany
przerwać kompresję, jeśli trwa ona zbyt długo.

Podczas dekodowania surowych strumieni (--format=surowy), LZMA2 potrzebuje jedynie słownika rozmiar.
LZMA1 też potrzebuje lc, lp, pb.

--x86[=Opcje]
--zasilacz[=Opcje]
--ia64[=Opcje]
--ramię[=Opcje]
--kciuk[=Opcje]
--sparc[=Opcje]
Dodaj filtr rozgałęzienia/połączenia/skoku (BCJ) do łańcucha filtrów. Można zastosować te filtry
tylko jako filtr nieostatni w łańcuchu filtrów.

Filtr BCJ konwertuje adresy względne w kodzie maszynowym na ich adresy bezwzględne
odpowiedniki. Nie zmienia to rozmiaru danych, ale je zwiększa
redundancję, dzięki której LZMA2 może produkować o 0–15% mniej .xz plik. BCJ
filtry są zawsze odwracalne, więc użycie filtru BCJ dla niewłaściwego typu danych nie
spowodować utratę danych, chociaż może nieznacznie pogorszyć współczynnik kompresji.

Można zastosować filtr BCJ do całego pliku wykonywalnego; nie ma potrzeby go stosować
tylko w sekcji wykonywalnej. Stosowanie filtru BCJ w archiwum zawierającym
zarówno pliki wykonywalne, jak i niewykonywalne mogą, ale nie muszą, dawać dobre wyniki, więc tak jest
ogólnie nie jest dobrze ślepo stosować filtr BCJ podczas kompresji pakietów binarnych
do dystrybucji.

Te filtry BCJ są bardzo szybkie i zużywają niewielką ilość pamięci. Jeśli BCJ
filtr poprawia współczynnik kompresji pliku, może zwiększyć prędkość dekompresji
o tym samym czasie. Dzieje się tak, ponieważ na tym samym sprzęcie prędkość dekompresji
LZMA2 to mniej więcej stała liczba bajtów skompresowanych danych na sekundę.

Te filtry BCJ mają znane problemy związane ze stopniem kompresji:

· Niektóre typy plików zawierających kod wykonywalny (np. pliki obiektowe, pliki statyczne
biblioteki i moduły jądra Linuksa) mają adresy w instrukcjach
wypełnione wartościami wypełniającymi. Te filtry BCJ nadal będą obsługiwać adres
konwersji, co pogorszy kompresję tych plików.

· Zastosowanie filtra BCJ do archiwum zawierającego wiele podobnych plików wykonywalnych
pogorszyć stopień kompresji niż w przypadku braku filtra BCJ. To dlatego, że
filtr BCJ nie wykrywa granic plików wykonywalnych i
nie resetuje licznika konwersji adresów dla każdego pliku wykonywalnego.

Obydwa powyższe problemy zostaną w przyszłości rozwiązane w nowym filtrze. Stary
Filtry BCJ nadal będą przydatne w systemach wbudowanych, ponieważ dekoder
nowy filtr będzie większy i będzie zużywał więcej pamięci.

Różne zestawy instrukcji mają różne wyrównanie:

Filtruj uwagi dotyczące wyrównania
x86 1 32-bitowy lub 64-bitowy x86
Tylko PowerPC 4 Big Endian
ARM 4 Tylko mały endian
ARM-Thumb 2 Tylko mały endian
IA-64 16 Endian duży lub mały
SPARC 4 Duży lub mały endian

Ponieważ dane filtrowane za pomocą BCJ są zwykle kompresowane przy użyciu LZMA2, współczynnika kompresji
można nieco poprawić, jeśli opcje LZMA2 są ustawione tak, aby odpowiadały wyrównaniu
wybrany filtr BCJ. Np. z filtrem IA-64 dobrze jest ustawić pb=4
z LZMA2 (2^4=16). Filtr x86 jest wyjątkiem; zazwyczaj warto się tego trzymać
Domyślne czterobajtowe wyrównanie LZMA2 podczas kompresji plików wykonywalnych x86.

Wszystkie filtry BCJ obsługują to samo Opcje:

początek=offset
Określ początek offset który jest używany podczas konwersji między względnymi i
adresy bezwzględne. The offset musi być wielokrotnością wyrównania
filtr (patrz tabela powyżej). Wartość domyślna to zero. W praktyce
wartość domyślna jest dobra; określenie zwyczaju offset prawie nigdy nie jest przydatny.

--delta[=Opcje]
Dodaj filtr Delta do łańcucha filtrów. Filtr Delta może być używany wyłącznie jako:
nieostatni filtr w łańcuchu filtrów.

Obecnie obsługiwane jest tylko proste obliczanie delty w oparciu o bajty. Może się przydać
podczas kompresji np. nieskompresowanych obrazów bitmapowych lub nieskompresowanego dźwięku PCM.
Jednak algorytmy specjalnego przeznaczenia mogą dawać znacznie lepsze wyniki niż
Delta + LZMA2. Dotyczy to zwłaszcza dźwięku, który kompresuje się szybciej i
lepiej np. z flac(1).

Utrzymany Opcje:

odległość=dystans
Określ dystans obliczenia delta w bajtach. dystans musi być
1-256. Wartość domyślna to 1.

Na przykład za pomocą odległość=2 i ośmiobajtowe wejście A1 B1 A2 B3 A3 B5 A4 B7, the
wyjściem będzie A1 B1 01 02 01 02 01 02.

Inne Opcje
-q, --cichy
Pomiń ostrzeżenia i powiadomienia. Określ tę opcję dwukrotnie, aby również wyeliminować błędy. Ten
opcja nie ma wpływu na status wyjścia. To znaczy, nawet jeśli było ostrzeżenie
wyłączone, nadal używany jest status wyjścia wskazujący ostrzeżenie.

-v, --gadatliwy
Bądź gadatliwy. Jeśli błąd standardowy jest podłączony do terminala, xz wyświetli a
wskaźnik postępu. Określanie --gadatliwy dwukrotnie da jeszcze bardziej szczegółowe wyniki.

Wskaźnik postępu pokazuje następujące informacje:

· Procent ukończenia jest pokazywany, jeśli znany jest rozmiar pliku wejściowego. To jest,
procentu nie można wyświetlić w rurkach.

· Ilość wyprodukowanych skompresowanych danych (kompresja) lub zużytych (dekompresja).

· Ilość nieskompresowanych danych wykorzystanych (kompresja) lub wyprodukowanych (dekompresja).

· Współczynnik kompresji obliczany poprzez podzielenie ilości skompresowanych danych
przetworzone do tej pory przez ilość nieskompresowanych danych przetworzonych do tej pory.

· Szybkość kompresji lub dekompresji. Jest to mierzone jako ilość
nieskompresowanych danych zużywanych (kompresja) lub wytwarzanych (dekompresja) na sekundę.
Pojawia się po kilku sekundach od tego momentu xz rozpoczął przetwarzanie
plik.

· Czas, który upłynął w formacie M:SS lub H:MM:SS.

· Szacowany pozostały czas jest wyświetlany tylko wtedy, gdy znany jest rozmiar pliku wejściowego
i od tego czasu minęło już kilka sekund xz rozpoczął przetwarzanie
plik. Czas jest pokazywany w mniej precyzyjnym formacie, który nie zawiera dwukropków,
np. 2 minuty 30 s.

Gdy błąd standardowy nie jest punktem końcowym, --gadatliwy będzie xz wydrukuj nazwę pliku,
rozmiar skompresowany, rozmiar nieskompresowany, stopień kompresji i ewentualnie także prędkość
i czas, który upłynął w pojedynczej linii do błędu standardowego po kompresji lub
dekompresowanie pliku. Prędkość i czas, który upłynął, są uwzględniane tylko wtedy, gdy
operacja trwała co najmniej kilka sekund. Jeśli operacja nie została zakończona, np. z powodu
przerwania przez użytkownika, drukowany jest także procent ukończenia, jeżeli rozmiar pliku jest duży
plik wejściowy jest znany.

-Q, --nie-ostrzegaj
Nie ustawiaj statusu wyjścia na 2, nawet jeśli wykryto warunek warty ostrzeżenia.
Ta opcja nie wpływa na poziom szczegółowości, a zatem na oba --cichy i --nie-ostrzegaj
muszą być używane, aby nie wyświetlać ostrzeżeń i nie zmieniać statusu wyjścia.

--robot
Drukuj wiadomości w formacie możliwym do analizy maszynowej. Ma to na celu ułatwienie pisania
frontendy, z których chcesz korzystać xz zamiast liblzma, co może mieć miejsce w przypadku
różne skrypty. Wyjście z włączoną tą opcją ma być stabilne w poprzek
xz wydania. Zobacz sekcję ROBOT TRYB dla szczegółów.

--informacje-pamięć
Wyświetla w formacie czytelnym dla człowieka ilość pamięci fizycznej (RAM) xz myśli
system i limity użycia pamięci dla kompresji i dekompresji, a następnie zakończ
powodzeniem.

-h, --help
Wyświetl komunikat pomocy opisujący najczęściej używane opcje i wyjdź
powodzeniem.

-H, --długa pomoc
Wyświetl komunikat pomocy opisujący wszystkie funkcje programu xzi pomyślnie wyjdź

-V, --wersja
Wyświetl numer wersji xz i liblzma w formacie czytelnym dla człowieka. Aby dostać
dane wyjściowe analizowalne maszynowo, określ --robot zanim --wersja.

ROBOT TRYB


Tryb robota aktywowany jest za pomocą przycisku --robot opcja. Tworzy dane wyjściowe xz łatwiej
analizować za pomocą innych programów. Obecnie --robot jest obsługiwany tylko razem z --wersja,
--informacje-pamięć, --lista. Będzie obsługiwany przy normalnej kompresji i dekompresji
w przyszłości.

Wersja
xz --robot --wersja wydrukuje numer wersji xz i liblzma poniżej
format:

XZ_VERSION=XYYYZZZS
LIBLZMA_VERSION=XYYYZZZS

X Wersja główna.

YYY Wersja mniejsza. Liczby parzyste są stabilne. Liczby nieparzyste to wersje alfa lub beta.

ZZZ Poziom poprawek dla wydań stabilnych lub po prostu licznik dla wydań rozwojowych.

S Stabilność. 0 to alfa, 1 to beta, a 2 jest stabilne. S powinno być zawsze 2 kiedy YYY
jest parzysty.

XYYYZZZS są takie same w obu liniach if xz i liblzma pochodzą z tego samego wydania XZ Utils.

Przykłady: 4.999.9beta to 49990091 a 5.0.0 to 50000002.

Pamięć ograniczenie Informacja
xz --robot --informacje-pamięć drukuje pojedynczą linię z trzema kolumnami oddzielonymi tabulatorami:

1. Całkowita ilość pamięci fizycznej (RAM) w bajtach

2. Limit wykorzystania pamięci przy kompresji w bajtach. Specjalna wartość zero wskazuje
ustawienie domyślne, które dla trybu jednowątkowego jest takie samo, jak brak limitu.

3. Limit wykorzystania pamięci do dekompresji w bajtach. Specjalna wartość zero wskazuje
ustawienie domyślne, które dla trybu jednowątkowego jest takie samo, jak brak limitu.

W przyszłości produkcja xz --robot --informacje-pamięć może mieć więcej kolumn, ale nigdy
więcej niż jedną linię.

Lista tryb
xz --robot --lista wykorzystuje dane wyjściowe oddzielone tabulatorami. Pierwsza kolumna każdej linii zawiera ciąg znaków
który wskazuje typ informacji znalezionych w tej linii:

Nazwa Jest to zawsze pierwsza linia rozpoczynająca wyświetlanie pliku. Druga kolumna włączona
linia to nazwa pliku.

filet Ta linia zawiera ogólne informacje na temat .xz plik. Ta linia jest zawsze
wydrukowano po Nazwa Linia.

strumień Ten typ linii jest używany tylko wtedy, gdy --gadatliwy zostało określone. Jest ich tyle strumień
linie, ponieważ w .xz plik.

blok Ten typ linii jest używany tylko wtedy, gdy --gadatliwy zostało określone. Jest ich tyle blok
linie, ponieważ w .xz plik. The blok linie są wyświetlane po wszystkich
strumień linie; różne typy linii nie są przeplatane.

streszczenie
Ten typ linii jest używany tylko wtedy, gdy --gadatliwy został określony dwukrotnie. Ta linia jest
w końcu wydrukowane blok linie. Jak filet linia streszczenie linia zawiera
ogólne informacje na temat .xz plik.

sumy Ta linia jest zawsze ostatnią linią wyniku listy. Pokazuje sumę
liczy i rozmiarów.

Kolumny filet kwestia:
2. Liczba strumieni w pliku
3. Całkowita liczba bloków w strumieniu(ach)
4. Skompresowany rozmiar pliku
5. Nieskompresowany rozmiar pliku
6. Na przykład stopień sprężania 0.123. Jeśli współczynnik przekracza 9.999, trzy kreski
(---) są wyświetlane zamiast współczynnika.
7. Rozdzielana przecinkami lista nazw kontroli integralności. Stosowane są następujące ciągi
dla znanych typów czeków: żaden, CRC32, CRC64, SHA-256. Dla nieznanego czeku
typy, Nieznany-N jest używany, gdzie N to identyfikator czeku w postaci liczby dziesiętnej (jeden lub
dwie cyfry).
8. Całkowity rozmiar dopełnienia strumienia w pliku

Kolumny strumień kwestia:
2. Numer strumienia (pierwszy strumień to 1)
3. Liczba bloków w strumieniu
4. Skompresowane przesunięcie początkowe
5. Nieskompresowany offset początkowy
6. Rozmiar skompresowany (nie obejmuje dopełnienia strumienia)
7. Rozmiar nieskompresowany
8. Stopień kompresji
9. Nazwa kontroli integralności
10. Rozmiar wypełnienia strumienia

Kolumny blok kwestia:
2. Numer strumienia zawierającego ten blok
3. Numer bloku względem początku strumienia (pierwszy blok to 1)
4. Numer bloku względem początku pliku
5. Skompresowane przesunięcie początkowe względem początku pliku
6. Nieskompresowane przesunięcie początkowe względem początku pliku
7. Całkowity skompresowany rozmiar bloku (w tym nagłówki)
8. Rozmiar nieskompresowany
9. Stopień kompresji
10. Nazwa kontroli integralności

If --gadatliwy został określony dwukrotnie, w pliku uwzględniono dodatkowe kolumny blok kwestia.
Nie są one wyświetlane z pojedynczą wartością --gadatliwy, ponieważ uzyskanie tych informacji wymaga
wiele poszukiwań i dlatego może być powolny:
11. Wartość kontroli integralności w formacie szesnastkowym
12. Rozmiar nagłówka bloku
13. Flagi blokowe: c wskazuje, że występuje skompresowany rozmiar, oraz u wskazuje to
występuje nieskompresowany rozmiar. Jeśli flaga nie jest ustawiona, myślnik (-) jest pokazane
zamiast tego zachować stałą długość łańcucha. Na końcu mogą zostać dodane nowe flagi
ciąg w przyszłości.
14. Rozmiar rzeczywistych skompresowanych danych w bloku (nie obejmuje to bloku
nagłówek, dopełnienie bloku i pola wyboru)
15. Ilość pamięci (w bajtach) potrzebna do dekompresji tego bloku xz
wersja
16. Łańcuch filtrów. Należy pamiętać, że większość opcji używanych w czasie kompresji nie może być
znane, ponieważ przechowywane są tylko te opcje, które są potrzebne do dekompresji
dotychczasowy .xz nagłówki.

Kolumny streszczenie kwestia:
2. Ilość pamięci (w bajtach) wymagana do dekompresji tego pliku xz
wersja
3. tak or Nie wskazując, czy wszystkie nagłówki bloków mają zarówno skompresowany rozmiar, jak i
przechowywany w nich nieskompresowany rozmiar
Ponieważ xz 5.1.2alfa:
4. Minimum xz wersja wymagana do dekompresji pliku

Kolumny sumy line:
2. Liczba strumieni
3. Liczba bloków
4. Skompresowany rozmiar
5. Rozmiar nieskompresowany
6. Średni stopień sprężania
7. Rozdzielana przecinkami lista nazw kontroli integralności występujących w plikach
8. Rozmiar dopełnienia strumienia
9. Liczba plików. Ma to na celu zachowanie kolejności wcześniejszych kolumn
tak samo jak dalej filet kwestia.

If --gadatliwy został określony dwukrotnie, w pliku uwzględniono dodatkowe kolumny sumy line:
10. Maksymalna ilość pamięci (w bajtach) wymagana do dekompresji plików
xz wersja
11. tak or Nie wskazując, czy wszystkie nagłówki bloków mają zarówno skompresowany rozmiar, jak i
przechowywany w nich nieskompresowany rozmiar
Ponieważ xz 5.1.2alfa:
12. Minimum xz wersja wymagana do dekompresji pliku

Przyszłe wersje mogą dodawać nowe typy linii, a do istniejącej linii można dodawać nowe kolumny
typy, ale istniejące kolumny nie zostaną zmienione.

EXIT STATUS


0 Wszystko jest dobrze.

1 Wystąpił błąd.

2 Wystąpiło coś wartego ostrzeżenia, ale nie wystąpiły żadne rzeczywiste błędy.

Powiadomienia (nie ostrzeżenia ani błędy) drukowane w przypadku błędu standardowego nie mają wpływu na status wyjścia.

ŚRODOWISKO


xz analizuje rozdzielone spacjami listy opcji ze zmiennych środowiskowych XZ_DEFAULTS i
XZ_OPTw tej kolejności przed przeanalizowaniem opcji z wiersza poleceń. Tylko pamiętaj
opcje są analizowane na podstawie zmiennych środowiskowych; wszystkie opcje niebędące opcjami są dyskretnie ignorowane.
Parsowanie zostało zakończone getopt_long(3), który jest używany również w przypadku argumentów wiersza poleceń.

XZ_DEFAULTS
Domyślne opcje specyficzne dla użytkownika lub całego systemu. Zwykle jest to ustawione w powłoce
skrypt inicjujący, aby włączyć xzdomyślny ogranicznik zużycia pamięci. Nie licząc
skrypty inicjujące powłokę i podobne przypadki specjalne, skrypty nie mogą nigdy ustawiać lub
rozbrojony XZ_DEFAULTS.

XZ_OPT Służy do przekazywania opcji do xz gdy nie ma możliwości ustawienia opcji
bezpośrednio na xz wiersz poleceń. Dzieje się tak np. gdy xz jest uruchamiany przez skrypt
lub narzędzie, np. GNU smoła(1):

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

Skrypty mogą używać XZ_OPT np. aby ustawić domyślne opcje kompresji specyficzne dla skryptu. To
nadal zaleca się umożliwienie użytkownikom zastąpienia XZ_OPT jeśli jest to uzasadnione, np
in sh(1) skrypty, których można użyć mniej więcej tak:

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

LZMA UŻYTKOWE ZGODNOŚĆ


Składnia wiersza poleceń xz jest praktycznie nadzbiorem Izma, unlzma, Izcat as
znalezione w LZMA Utils 4.32.x. W większości przypadków możliwe jest zastąpienie LZMA Utils XZ
Narzędzia bez psucia istniejących skryptów. Istnieją jednak pewne niezgodności, które
może czasami powodować problemy.

Kompresja presetu poziomy
Numeracja wstępnie ustawionych poziomów kompresji nie jest identyczna xz i LZMA Utils. The
Najważniejszą różnicą jest sposób, w jaki rozmiary słowników są mapowane na różne ustawienia wstępne.
Rozmiar słownika jest w przybliżeniu równy zużyciu pamięci dekompresora.

Poziom xz LZMA Utils
-0 256 KiB Nie dotyczy
-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

Różnice w wielkości słownika również wpływają na wykorzystanie pamięci kompresora, ale są pewne
inne różnice między LZMA Utils i XZ Utils, które czynią różnicę jeszcze większą:

Poziom xz LZMA Utils 4.32.x
-0 3 MiB Nie dotyczy
-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

Domyślny poziom ustawień w LZMA Utils to -7 podczas gdy w XZ Utils tak jest -6, więc obaj używają 8
Domyślnie słownik MiB.

strumieniowo vs niestreamowane .lzma pliki
Nieskompresowany rozmiar pliku można zapisać w formacie .lzma nagłówek. LZMA Utils to robi
podczas kompresji zwykłych plików. Alternatywą jest oznaczenie rozmiaru nieskompresowanego
nieznany i użyj znacznika końca ładunku, aby wskazać, gdzie dekompresor powinien się zatrzymać.
LZMA Utils używa tej metody, gdy nie jest znany rozmiar nieskompresowanego pliku, co ma miejsce w przypadku
przykład w rurach.

xz obsługuje dekompresję .lzma pliki ze znacznikiem końca ładunku lub bez, ale wszystkie .lzma
pliki utworzone przez xz użyje znacznika końca ładunku i będzie miał nieskompresowany rozmiar oznaczony jako
nieznany w .lzma nagłówek. Może to stanowić problem w niektórych nietypowych sytuacjach. Dla
przykład, A .lzma dekompresor w urządzeniu wbudowanym może działać tylko z plikami, które mają
znany rozmiar nieskompresowany. Jeśli napotkasz ten problem, musisz użyć LZMA Utils lub LZMA SDK
tworzyć .lzma pliki o znanym rozmiarze po nieskompresowaniu.

Nieobsługiwane .lzma pliki
Połączenia .lzma format pozwala lc wartości do 8 i lp wartości do 4. LZMA Utils może
rozpakuj pliki dowolnym programem lc i lp, ale zawsze tworzy pliki z lc=3 i lp=0.
Tworzenie plików z innymi lc i lp jest możliwe dzięki xz oraz z LZMA SDK.

Implementacja filtra LZMA1 w liblzmie wymaga, aby suma lc i lp musi
nie przekracza 4. Zatem .lzma plików przekraczających to ograniczenie nie można dekompresować
w xz.

LZMA Utils tworzy tylko .lzma pliki, które mają słownikowy rozmiar 2^n (potęga 2), ale
akceptuje pliki o dowolnym rozmiarze słownika. liblzma akceptuje tylko .lzma pliki, które mają
słownik o rozmiarze 2^n lub 2^n + 2^(n-1). Ma to na celu zmniejszenie liczby fałszywych alarmów, gdy
wykrywania .lzma akta.

Ograniczenia te nie powinny stanowić problemu w praktyce, gdyż praktycznie wszystkie .lzma pliki
zostały skompresowane z ustawieniami, które zaakceptuje liblzma.

Wleczona śmieci
Podczas dekompresji LZMA Utils po cichu ignoruje wszystko po pierwszej .lzma Strumień.
W większości sytuacji jest to błąd. Oznacza to również, że narzędzia LZMA Utils nie obsługują
dekompresja połączona .lzma akta.

Jeśli po pierwszym pozostały dane .lzma strumień, xz uważa plik za uszkodzony
chyba że --pojedynczy strumień użyto. Może to złamać niejasne skrypty, które to zakładały
końcowe śmieci są ignorowane.

UWAGI


Sprężony wydajność może różnią się
Dokładny skompresowany wynik uzyskany z tego samego nieskompresowanego pliku wejściowego może się różnić
pomiędzy wersjami XZ Utils, nawet jeśli opcje kompresji są identyczne. Dzieje się tak dlatego, że
koder można ulepszyć (szybsza lub lepsza kompresja) bez wpływu na format pliku.
Dane wyjściowe mogą się różnić nawet w przypadku różnych wersji tej samej wersji XZ Utils, jeśli
stosowane są różne opcje kompilacji.

Powyższe oznacza, że ​​wdrożenie --Możliwość synchronizacji aby utworzyć rsyncable .xz pliki nie idą
się to zdarzyć bez zamrażania części implementacji kodera, którą można następnie wykorzystać
w --Możliwość synchronizacji.

Wbudowany .xz dekompresory
Wbudowany .xz Implementacje dekompresorów, takie jak XZ Embedded, niekoniecznie obsługują pliki
stworzony rzetelnie ZOBACZ typy inne niż Żaden i Crc32. Ponieważ ustawieniem domyślnym jest
--check=crc64, musisz użyć --check=brak or --check=crc32 podczas tworzenia plików do osadzenia
systemy.

Wszystko poza systemami wbudowanymi .xz dekompresory formatu obsługują wszystkie formaty ZOBACZ typy lub w
przynajmniej są w stanie zdekompresować plik bez sprawdzania sprawdzania integralności, jeśli
szczególny ZOBACZ nie jest wspierany.

XZ Embedded obsługuje filtry BCJ, ale tylko z domyślnym przesunięciem początkowym.

PRZYKŁADY


Podstawy
Skompresuj plik bla najnowszych foo.xz przy użyciu domyślnego poziomu kompresji (-6) i usuń bla
jeśli kompresja się powiedzie:

xz foo

Rozprężać bar.xz najnowszych bar i nie usuwaj bar.xz nawet jeśli dekompresja się powiedzie:

xz -dk bar.xz

Stwórz baz.tar.xz z ustawieniem wstępnym -4e (-4 --skrajny), który jest wolniejszy niż np
domyślnym -6, ale potrzebuje mniej pamięci do kompresji i dekompresji (48 MiB i 5 MiB,
odpowiednio):

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

Mieszankę skompresowanych i nieskompresowanych plików można zdekompresować do standardowego wyjścia za pomocą pliku
pojedyncze polecenie:

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

Parallel kompresja of wiele pliki
Na GNU i *BSD, odnaleźć(1) i xargs(1) może być użyty do zrównoleglenia kompresji wielu
plików:

znajdować . -wpisz f \! -name '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

Połączenia -P opcja do xargs(1) ustawia liczbę równoległych xz procesy. Najlepsza wartość dla
dotychczasowy -n opcja zależy od liczby plików do skompresowania. Jeżeli istnieje tylko
kilka plików, wartość powinna prawdopodobnie wynosić 1; z dziesiątkami tysięcy plików, 100 lub
jeszcze więcej może być właściwe, aby zmniejszyć liczbę xz przetwarza to xargs(1) wola
w końcu stworzyć.

Opcja -T1 dla xz czy istnieje, aby zmusić go do trybu jednowątkowego, ponieważ xargs(1) jest
używany do kontrolowania ilości zrównoleglenia.

Robot tryb
Oblicz, ile bajtów zostało łącznie zapisanych po skompresowaniu wielu plików:

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

Skrypt może chcieć wiedzieć, czy używa wystarczająco nowego xz. Następujące sh(1) skrypt
sprawdza, czy numer wersji pliku xz narzędzie ma wersję co najmniej 5.0.0. Ta metoda jest
kompatybilny ze starymi wersjami beta, które nie obsługiwały --robot opcja:

Jeśli ! eval "$(xz --robot --wersja 2> /dev/null)" ||
["$XZ_VERSION" -lt 50000002]; Następnie
echo "Twój xz jest za stary."
fi
usuń ustawienie XZ_VERSION LIBLZMA_VERSION

Ustaw limit wykorzystania pamięci dla dekompresji przy użyciu XZ_OPT, ale jeśli limit już był
ustaw, nie zwiększaj go:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --pamięć-informacyjna | cięcie -f3)
if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; Następnie
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
eksportuj XZ_OPT
fi

Zamówienia Indywidualne kompresor filtrować więzy
Najprostszym zastosowaniem niestandardowych łańcuchów filtrów jest dostosowanie ustawienia wstępnego LZMA2. To może być
przydatne, ponieważ ustawienia wstępne obejmują tylko podzbiór potencjalnie przydatnych kombinacji
ustawienia kompresji.

Kolumny CompCPU tabel z opisów opcji -0 ... -9 i
--skrajny są przydatne podczas dostosowywania ustawień wstępnych LZMA2. Oto odpowiednie części
zebrane z tych dwóch tabel:

Wstępnie ustawiony CompCPU
-0 0
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-5e 7
-6e 8

Jeśli wiesz, że plik wymaga dość dużego słownika (np. 32 MiB), aby dobrze się skompresować,
ale chcesz go skompresować szybciej niż xz -8 wystarczy, ustawienie wstępne z niską wartością CompCPU
(np. 1) można zmodyfikować, aby używać większego słownika:

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

W przypadku niektórych plików powyższe polecenie może być szybsze niż xz -6 podczas kompresji
znacznie lepiej. Należy jednak podkreślić, że tylko niektóre pliki korzystają z rozszerzenia
duży słownik, utrzymując jednocześnie niską wartość CompCPU. Najbardziej oczywista sytuacja, gdy a
duży słownik może bardzo pomóc, jest archiwum zawierającym bardzo podobne pliki co najmniej
po kilka megabajtów każdy. Rozmiar słownika musi być znacznie większy niż jakikolwiek inny
indywidualny plik, aby umożliwić LZMA2 pełne wykorzystanie podobieństw między
kolejne pliki.

Jeśli bardzo wysokie użycie pamięci przez kompresor i dekompresor jest w porządku, a plik jest w porządku
skompresowany ma co najmniej kilkaset megabajtów, przydatne może być użycie jeszcze większego
słownik niż 64 MiB tego xz -9 użyłby:

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

Korzystanie z -w (--gadatliwy --gadatliwy) jak w powyższym przykładzie może się przydać do sprawdzenia pamięci
wymagania dotyczące kompresora i dekompresora. Pamiętaj, że korzystanie ze słownika jest większe
niż rozmiar nieskompresowanego pliku jest stratą pamięci, więc powyższe polecenie nie jest
przydatne w przypadku małych plików.

Czasami czas kompresji nie ma znaczenia, ale zużycie pamięci dekompresora musi być
utrzymywany na niskim poziomie, np. aby umożliwić dekompresję pliku w systemie wbudowanym. The
używa następującego polecenia -6e (-6 --skrajny) jako bazę i ustawia słownik na tylko
64 KiB. Powstały plik można zdekompresować za pomocą XZ Embedded (dlatego istnieje
--check=crc32) wykorzystując około 100 KiB pamięci.

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

Jeśli chcesz wycisnąć jak najwięcej bajtów, dostosowując liczbę literałów
bity kontekstu (lc) i liczba bitów pozycji (pb) czasami może pomóc. Regulacja
liczba bitów pozycji literału (lp) też może pomóc, ale zwykle lc i pb jest więcej
ważny. Np. archiwum kodu źródłowego zawiera głównie tekst US-ASCII, więc coś w tym stylu
poniższe mogą dać nieco (na przykład 0.1%) mniejszy plik niż xz -6e (spróbuj też bez
lc=4):

xz --lzma2=preset=6e,pb=0,lc=4kod_źródłowy.tar

Użycie innego filtra razem z LZMA2 może poprawić kompresję niektórych typów plików.
Np. aby skompresować bibliotekę współdzieloną x86-32 lub x86-64 przy użyciu filtra BCJ x86:

xz --x86 --lzma2 libfoo.so

Należy pamiętać, że kolejność opcji filtrowania jest istotna. Jeśli --x86 jest określony po
--lzma2, xz wyświetli błąd, ponieważ po LZMA2 nie może być żadnego filtra, a także
ponieważ filtr x86 BCJ nie może być użyty jako ostatni filtr w łańcuchu.

Filtr Delta w połączeniu z LZMA2 może dać dobre wyniki w przypadku obrazów bitmapowych. Powinno
zwykle pokonuje PNG, który ma kilka bardziej zaawansowanych filtrów niż zwykła delta, ale używa Deflate
dla rzeczywistej kompresji.

Obraz należy zapisać w formacie nieskompresowanym, np. jako nieskompresowany TIFF. Odległość
parametr filtra Delta jest ustawiony tak, aby odpowiadał liczbie bajtów na piksel obrazu.
Np. wymagana jest 24-bitowa mapa bitowa RGB odległość=3, i też dobrze jest przejść pb=0 do LZMA2 do
dostosować wyrównanie trzybajtowe:

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

Jeśli wiele obrazów zostało umieszczonych w jednym archiwum (np .smoła), filtr Delta to zrobi
popracuj nad tym, o ile wszystkie obrazy mają tę samą liczbę bajtów na piksel.

Korzystaj z xzcat online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad