англійськафранцузькаіспанська

Ad


Значок OnWorks

xzcat - онлайн у хмарі

Запустіть xzcat у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда xzcat, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


xz, unxz, xzcat, lzma, unlzma, lzcat - Стисніть або розпакуйте файли .xz та .lzma

СИНТАКСИС


xz [варіант]... [файл]...

unxz еквівалентна xz --декомпресувати.
xzcat еквівалентна xz --декомпресувати --stdout.
лзма еквівалентна xz --format=lzma.
unlzma еквівалентна xz --format=lzma --декомпресувати.
lzcat еквівалентна xz --format=lzma --декомпресувати --stdout.

Під час написання сценаріїв, яким потрібно розпакувати файли, рекомендується завжди використовувати файл
ім'я xz з відповідними аргументами (xz -d or xz -dc) замість імен unxz та xzcat.

ОПИС


xz є універсальним інструментом стиснення даних із синтаксисом командного рядка, подібним до gzip(1)
та bzip2(1). Власним форматом файлу є .xz формат, але спадщина .lzma використаний формат
від LZMA Utils і необроблені стиснені потоки без заголовків у форматі контейнера
підтримується.

xz стискає або декомпресує кожен файл відповідно до вибраного режиму роботи. Якщо ні
файли надаються або файл is -, xz зчитує зі стандартного введення і записує оброблені дані
на стандартний вихід. xz відмовиться (відобразити помилку та пропустити файл) писати
стиснуті дані до стандартного виводу, якщо це термінал. так само, xz відмовиться читати
стислі дані зі стандартного введення, якщо це термінал.

Unless --stdout зазначено, файли окрім - записуються в новий файл з ім'ям
отримані з джерела файл Назва:

· Під час стиснення суфікс цільового формату файлу (.xz or .lzma) додається до
ім'я вихідного файлу, щоб отримати ім'я цільового файлу.

· Під час декомпресії .xz or .lzma суфікс видаляється з назви файлу, щоб отримати
цільове ім'я файлу. xz також розпізнає суфікси .txz та .tlz, і замінює їх на
.Тар суфікс.

Якщо цільовий файл уже існує, відображається помилка, і файл пропущено.

Якщо не записувати на стандартний вихід, xz відобразить попередження та пропустить файл якщо будь-який з
застосовується наступне:

· філе не є звичайним файлом. Символічні посилання не налаштовані, і, отже, їх немає
вважаються звичайними файлами.

· філе має більше одного жорсткого посилання.

· філе має setuid, setgid або sticky bit set.

· Режим роботи встановлений на стиснення та файл вже має суфікс цілі
формат файлу (.xz or .txz при стисканні до .xz формат, і .lzma or .tlz коли
стиснення до .lzma формат).

· Режим роботи встановлений на декомпресію та файл не має суфікса жодного з
підтримувані формати файлів (.xz, .txz, .lzmaабо .tlz).

Після успішного стиснення або декомпресії файлу файл, xz копіює власника, групу,
дозволи, час доступу та час модифікації з джерела файл до цільового файлу.
Якщо копіювання групи не вдається, дозволи змінюються так, щоб цільовий файл цього не зробив
стати доступною для користувачів, які не мали дозволу на доступ до джерела файл. xz
не підтримує копіювання інших метаданих, таких як списки контролю доступу або розширені атрибути
поки немає.

Після успішного закриття цільового файлу вихідний файл файл видаляється, якщо
-- тримати було зазначено. Джерело файл ніколи не видаляється, якщо вивід записується в
стандартний вихід.

Посилає SIGINFO or SIGUSR1 до xz process змушує його друкувати інформацію про прогрес
стандартна помилка. Це має лише обмежене застосування, оскільки, коли стандартна помилка є терміналом, використовуючи
-багатослівний відобразить індикатор прогресу автоматичного оновлення.

пам'ять використання
Використання пам'яті xz варіюється від кількох сотень кілобайт до кількох гігабайт залежно
на налаштуваннях стиснення. Параметри, які використовуються під час стиснення файлу, визначають параметр
вимоги до пам’яті декомпресора. Зазвичай декомпресор потребує від 5 до 20 %.
обсяг пам'яті, необхідний компресору під час створення файлу. Наприклад,
розпакування файлу, створеного за допомогою xz -9 наразі потрібно 65 МБ пам'яті. Все ж таки
можливо мати .xz файли, для розпакування яких потрібно кілька гігабайт пам’яті.

Особливо користувачі старих систем можуть виявити можливість використання дуже великої пам’яті
дратує. Щоб уникнути неприємних сюрпризів, xz має вбудований обмежувач використання пам'яті,
який за замовчуванням вимкнено. Хоча деякі операційні системи забезпечують способи обмеження
використання пам’яті процесами, тому покладатися на нього не було достатньо гнучкою (наприклад, використання
Ulimit(1) обмеження віртуальної пам'яті має тенденцію до каліцтва mmap(2)).

Обмежувач використання пам’яті можна ввімкнути за допомогою параметра командного рядка --memlimit=обмежувати.
Часто зручніше ввімкнути обмежувач за замовчуванням, налаштувавши середовище
змінна XZ_DEFAULTS, напр XZ_DEFAULTS=--memlimit=150 МБ. Є можливість встановити
обмеження окремо для стиснення та декомпресії за допомогою --memlimit-compress=обмежувати та
--memlimit-decompress=обмежувати. Використання цих двох варіантів зовні XZ_DEFAULTS рідко буває корисним
тому що один запуск xz не може виконувати одночасно стиснення і декомпресію і
--memlimit=обмежувати (Або -M обмежувати) коротший для введення в командному рядку.

Якщо під час декомпресії перевищено вказаний ліміт використання пам’яті, xz буде відображатися
помилка, і розпакування файлу не вдасться. Якщо ліміт перевищено під час стиснення, xz
спробує зменшити налаштування, щоб більше не було перевищено (за винятком випадків
використання --format=raw or --не-коригувати). Таким чином, операція не завершиться невдачею, якщо не буде обмежено
дуже мало. Масштабування налаштувань виконується кроками, які не відповідають компресії
попередньо встановлені рівні, наприклад, якщо ліміт лише трохи менший за необхідну для xz -9,
налаштування буде зменшено лише трохи, а не повністю xz -8.

Сполучення та padding з .xz файли
Є можливість конкатенації .xz файли як є. xz розпакує такі файли, як ніби вони
були самотніми .xz файлу.

Можна вставити заповнення між з’єднаними частинами або після останньої частини.
Заповнення має складатися з нульових байтів, а розмір заповнення має бути кратним
чотири байти. Це може бути корисно, наприклад, якщо .xz файл зберігається на носії, який вимірює
розміри файлів у 512-байтових блоках.

Конкатенація та заповнення не допускаються .lzma файлів або необроблених потоків.

ВАРІАНТИ


Ціле число суфікси та спеціальний величини
У більшості місць, де очікується цілочисельний аргумент, підтримується необов’язковий суфікс до
легко вказувати великі цілі числа. Між цілим числом і числом не повинно бути пробілу
суфікс.

КіБ Помножте ціле число на 1,024 (2^10). Ki, k, kB, K та KB приймаються як
синоніми до КіБ.

МіБ Помножте ціле число на 1,048,576 (2^20). Mi, m, M та MB приймаються як
синоніми до МіБ.

GiB Помножте ціле число на 1,073,741,824 (2^30). Gi, g, G та GB приймаються як
синоніми до GiB.

Особлива цінність Макс може використовуватися для вказівки максимального цілого значення, яке підтримується
варіант.

операція режим
Якщо надано кілька варіантів режиму роботи, діє останній.

-z, -- стиснути
Стиснути. Це режим роботи за замовчуванням, якщо немає параметрів режиму роботи
вказано, і жодний інший режим роботи не передбачається з імені команди (for
наприклад, unxz мається на увазі --декомпресувати).

-d, --декомпресувати, --розпакувати
Розпакуйте.

-t, --тест
Перевірте цілісність стиснутого файли. Цей варіант еквівалентний --декомпресувати
--stdout за винятком того, що розпаковані дані відкидаються, а не записуються
стандартний вихід. Файли не створюються та не видаляються.

-l, -- список
Роздрукувати інформацію про стиснені файли. Не стиснений вихід не виробляється, і
файли не створюються та не видаляються. У режимі списку програма не може прочитати
стислі дані зі стандартного введення або з інших джерел, які неможливо знайти.

Список за замовчуванням показує основну інформацію про файли, один файл на рядок. Отримати
більш детальну інформацію, скористайтеся також -багатослівний варіант. Ще більше
інформація, використання -багатослівний двічі, але зверніть увагу, що це може бути повільним, оскільки отримання
вся додаткова інформація вимагає багатьох пошуків. Ширина докладного виводу перевищує
80 символів, тому передача виводу напр менше -S може бути зручно, якщо
термінал недостатньо широкий.

Точний вихід може відрізнятися xz версії та різні локалі. Для машини-
читабельний вихід, --робот -- список слід використовувати.

операція модифікатори
-k, -- тримати
Не видаляйте вхідні файли.

-f, --сила
Цей параметр має кілька ефектів:

· Якщо цільовий файл уже існує, видаліть його перед стисненням або
декомпресія.

· Стиснути або розпакувати, навіть якщо вхід є символічним посиланням на звичайний файл,
має більше одного жорсткого посилання або має встановлений біт setuid, setgid або sticky. The
setuid, setgid і sticky біти не копіюються в цільовий файл.

· При використанні з --декомпресувати --stdout та xz не може розпізнати тип
вихідний файл, скопіюйте вихідний файл як є до стандартного виводу. Це дозволяє xzcat
--сила використовуватися як як(1) для файлів, які не були стиснуті з xz.
Зауважте, що в майбутньому, xz може підтримувати нові стиснені формати файлів, які можуть
зробити xz розпаковувати більше типів файлів замість того, щоб копіювати їх у стандартному порядку
вихід. --формат=формат можна використовувати для обмеження xz розпакувати лише один
формат файлу

-c, --stdout, --to-stdout
Запишіть стиснені або розпаковані дані до стандартного виводу замість файлу.
Це означає -- тримати.

-- однопотоковий
Розпакуйте тільки першу .xz потоку та ігнорувати можливий залишок введення
дані після потоку. Зазвичай таке тягне сміття робить xz відобразити ан
помилка

xz ніколи не розпаковує більше одного потоку з .lzma файлів або необроблених потоків, але
цей варіант все ще робить xz ігноруйте можливі кінцеві дані після .lzma файл
або сирий потік.

Ця опція не діє, якщо режим роботи відсутній --декомпресувати or --тест.

--не-розріджений
Вимкнути створення розріджених файлів. За замовчуванням, якщо розпаковується в звичайний
файл, xz намагається зробити файл розрідженим, якщо розпаковані дані містять довгі дані
послідовності двійкових нулів. Він також працює під час запису до стандартного виведення
як стандартний вихід підключається до звичайного файлу і певних додаткових умов
зустрічаються, щоб зробити його безпечним. Створення розріджених файлів може заощадити місце на диску та прискорити роботу
декомпресія шляхом зменшення обсягу дискового вводу-виводу.

-S .суф, --суфікс=.суф
При стисканні використовуйте .суф як суфікс для цільового файлу замість .xz or
.lzma. Якщо не записується на стандартний вихід, а вихідний файл уже має файл
Суфікс .суф, відображається попередження, і файл пропускається.

Під час розпакування розпізнайте файли із суфіксом .суф на додаток до файлів з
.xz, .txz, .lzmaабо .tlz суфікс. Якщо вихідний файл має суфікс .суф,
суфікс видаляється, щоб отримати цільову назву файлу.

При стисканні або розпакуванні необроблених потоків (--format=raw), суфікс must
завжди вказується, якщо не записується в стандартний вихід, оскільки за замовчуванням немає
суфікс для необроблених потоків.

--файли[=файл]
Прочитайте імена файлів для обробки файл; якщо файл пропущено, імена файлів читаються
зі стандартного введення. Назви файлів повинні закінчуватися символом нового рядка. А
тире (-) приймається як звичайне ім'я файлу; це не означає стандартний вхід. Якщо
назви файлів також надаються як аргументи командного рядка, вони обробляються до
зчитуються імена файлів файл.

--файли0[=файл]
Це ідентично --файли[=файл] за винятком того, що кожне ім'я файлу має закінчуватися
з нульовим символом.

базовий файл формат та стиснення опції
-F формат, --формат=формат
Вкажіть файл формат стиснути або розпакувати:

автоматичний Це значення за замовчуванням. При стисканні, автоматичний еквівалентна xz. Коли
розпакування формат вхідного файлу визначається автоматично. Примітка
що необроблені потоки (створені за допомогою --format=raw) не може бути автоматично визначено.

xz Стиснути до .xz формат файлу або прийняти лише .xz файли, коли
декомпресія.

лзма, тільки
Стисніть до спадщини .lzma формат файлу або прийняти лише .lzma файли, коли
декомпресія. Альтернативна назва тільки передбачено для зворотного ходу
сумісність з LZMA Utils.

сировина Стисніть або розпакуйте необроблений потік (без заголовків). Це призначено для
тільки для просунутих користувачів. Щоб декодувати необроблені потоки, вам потрібно використовувати --format=raw та
явно вкажіть ланцюжок фільтрів, який зазвичай був би збережений
у заголовках контейнерів.

-C перевірка, --check=перевірка
Вкажіть тип перевірки цілісності. Чек розраховується від
нестиснені дані та зберігаються в .xz файл. Цей параметр діє лише тоді, коли
стиснення в .xz формат; в .lzma формат не підтримує перевірку цілісності.
Перевірка цілісності (якщо є) перевіряється, коли .xz файл розпакований.

Підтриманий перевірка типи:

ніхто Не розраховуйте перевірку цілісності взагалі. Зазвичай це погана ідея.
Це може бути корисно, коли цілісність даних перевіряється іншими засобами
все одно.

crc32 Обчисліть CRC32, використовуючи поліном з IEEE-802.3 (Ethernet).

crc64 Обчисліть CRC64, використовуючи поліном із ECMA-182. Це за замовчуванням,
оскільки він трохи краще, ніж CRC32, у виявленні пошкоджених файлів і файлів
різниця в швидкості незначна.

sha256 Обчисліть SHA-256. Це дещо повільніше, ніж CRC32 і CRC64.

Цілісність .xz заголовки завжди перевіряються за допомогою CRC32. Це неможливо
змінити або вимкнути його.

-0 ... -9
Виберіть попередньо встановлений рівень стиснення. За замовчуванням є -6. Якщо кілька попередньо встановлених рівнів
вказано, останній вступає в силу. Якщо ланцюжок спеціального фільтра вже був
якщо вказано, встановлення попереднього рівня стиснення очищає ланцюжок користувацького фільтра.

Відмінності між пресетами більш істотні, ніж з gzip(1) і
bzip2(1). Вибрані параметри стиснення визначають вимоги до пам’яті
декомпресор, тому використання занадто високого попередньо встановленого рівня може спричинити біль
розпакуйте файл на старій системі з невеликою кількістю оперативної пам’яті. Зокрема, це НЕ a
добре ідея до сліпо використання -9 та цінності все як це часто буває з gzip(1) і
bzip2(1).

-0 ... -3
Це дещо швидкі пресети. -0 іноді швидше ніж gzip -9 в той час як
стискається набагато краще. Вищі часто мають швидкість, порівнянну з
bzip2(1) з порівнянним або кращим ступенем стиснення, хоча результати
багато в чому залежить від типу даних, що стискаються.

-4 ... -6
Від гарного до дуже хорошого стиснення, зберігаючи використання пам’яті декомпресора
розумно навіть для старих систем. -6 за замовчуванням, що зазвичай є хорошим
вибір, наприклад, для розповсюдження файлів, які потрібно розпакувати навіть на
системи лише з 16 МБ ОЗУ. (-5e or -6e може також варто розглянути.
Читати --екстремальний.)

-7 ... -9
Ці схожі -6 але з більш високою пам'яттю компресора та декомпресора
вимоги. Вони корисні лише під час стиснення файлів більше ніж
8 МБ, 16 МБ і 32 МБ відповідно.

На тому ж апаратному забезпеченні швидкість декомпресії становить приблизно постійну кількість
байт стиснутих даних в секунду. Іншими словами, чим краще стиснення,
тим швидше зазвичай буде декомпресія. Це також означає, що кількість
нестиснутий вихід за секунду може сильно відрізнятися.

У наступній таблиці коротко наведено особливості попередніх налаштувань:

Попередньо встановлений DictSize CompCPU CompMem DecMem
-0 256 КБ 0 3 МБ 1 МБ
-1 1 МБ 1 9 МБ 2 МБ
-2 2 МБ 2 17 МБ 3 МБ
-3 4 МБ 3 32 МБ 5 МБ
-4 4 МБ 4 48 МБ 5 МБ
-5 8 МБ 5 94 МБ 9 МБ
-6 8 МБ 6 94 МБ 9 МБ
-7 16 МБ 6 186 МБ 17 МБ
-8 32 МБ 6 370 МБ 33 МБ
-9 64 МБ 6 674 МБ 65 МБ

Опис колонок:

· DictSize — це розмір словника LZMA2. Використання a
словник, більший за розмір нестисненого файлу. Ось чому це так
добре уникати використання попередніх налаштувань -7 ... -9 коли в них немає справжньої потреби.
At -6 і нижче, обсяг пам'яті, що витрачається даремно, зазвичай досить низький, щоб ні
справі.

· CompCPU – це спрощене представлення налаштувань LZMA2, які впливають
швидкість стиснення. Розмір словника також впливає на швидкість, тому в той час як CompCPU
те саме для рівнів -6 ... -9, вищі рівні, як правило, трохи повільніші.
Щоб отримати ще повільніше і, отже, краще стиснення, див --екстремальний.

· CompMem містить вимоги до пам'яті компресора в однопотоковому режимі.
Він може дещо відрізнятися між xz версії. Вимоги до пам'яті деяких з
майбутні багатопотокові режими можуть бути значно вищими, ніж однопотокові
різьбовий режим.

· DecMem містить вимоги до пам'яті декомпресора. Тобто стиснення
налаштування визначають вимоги до пам'яті декомпресора. Точне
Використання пам’яті декомпресора трохи більше, ніж розмір словника LZMA2, але
значення в таблиці були округлені до наступного повного МіБ.

-e, --екстремальний
Використовуйте повільніший варіант вибраного попередньо встановленого рівня стиснення (-0 ... -9), Щоб
Сподіваюся, отримати трохи кращу ступінь стиснення, але за невдачі це може
також погіршують ситуацію. Не впливає на використання пам’яті декомпресора, але компресор
використання пам’яті трохи збільшується на заданих рівнях -0 ... -3.

Оскільки є два попередні налаштування з розмірами словника 4 МБ і 8 МБ, попередні налаштування -3e
та -5e використовуйте дещо швидші налаштування (нижчий CompCPU), ніж -4e та -6e,
відповідно. Таким чином, немає двох однакових пресетів.

Попередньо встановлений DictSize CompCPU CompMem DecMem
-0e 256 КіБ 8 4 МіБ 1 МіБ
-1e 1 МіБ 8 13 МіБ 2 МіБ
-2e 2 МіБ 8 25 МіБ 3 МіБ
-3e 4 МіБ 7 48 МіБ 5 МіБ
-4e 4 МіБ 8 48 МіБ 5 МіБ
-5e 8 МіБ 7 94 МіБ 9 МіБ
-6e 8 МіБ 8 94 МіБ 9 МіБ
-7e 16 МіБ 8 186 МіБ 17 МіБ
-8e 32 МіБ 8 370 МіБ 33 МіБ
-9e 64 МіБ 8 674 МіБ 65 МіБ

Наприклад, загалом є чотири пресети, які використовують словник 8 МБ, чий
порядок від найшвидшого до найповільнішого -5, -6, -5e та -6e.

--швидко
--найкраще Це дещо оманливі псевдоніми для -0 та -9, відповідно. Це такі
надається лише для зворотної сумісності з LZMA Utils. Уникайте їх використання
Варіанти.

--block-size=розмір
При стисканні до .xz формат, розділити вхідні дані на блоки розмір байт
Блоки стискаються незалежно один від одного.

--memlimit-compress=обмежувати
Установіть ліміт використання пам’яті для стиснення. Якщо цей параметр вказано декілька
разів, останній вступає в силу.

Якщо параметри стиснення перевищують обмежувати, xz зменшить налаштування
щоб ліміт більше не перевищувався, і відобразити сповіщення, що автоматично
проведено коригування. Такі коригування не проводяться при стисканні с
--format=raw або якщо --не-коригувати було вказано. У таких випадках є помилка
відображається і xz вийде зі статусом виходу 1.

Команда обмежувати можна вказати кількома способами:

· обмежувати може бути абсолютним значенням у байтах. Використання суфікса цілого числа, як МіБ
може бути корисним. приклад: --memlimit-compress=80 МБ

· обмежувати можна вказати у відсотках від загальної фізичної пам’яті (RAM). Це
може бути корисним, особливо під час налаштування XZ_DEFAULTS змінна середовища в a
сценарій ініціалізації оболонки, який використовується різними комп’ютерами. Це
ліміт автоматично збільшується на системах з більшою пам’яттю. приклад:
--memlimit-compress=70%

· обмежувати можна повернути до значення за замовчуванням, встановивши значення 0, Це
наразі еквівалентно налаштуванню обмежувати до Макс (без обмежень на використання пам'яті). один раз
була реалізована підтримка багатопоточності, може бути різниця між 0
та Макс для багатопоточного корпусу, тому рекомендується використовувати 0 замість Макс
доки не будуть визначені деталі.

Дивіться також розділ пам'ять використання.

--memlimit-decompress=обмежувати
Установіть ліміт використання пам’яті для декомпресії. Це також впливає на -- список режим. Якщо
операція неможлива без перевищення обмежувати, xz відобразить помилку
і розпакувати файл не вдасться. Побачити --memlimit-compress=обмежувати для можливого
способи вказати обмежувати.

-M обмежувати, --memlimit=обмежувати, --пам'ять=обмежувати
Це еквівалентно вказівці --memlimit-compress=обмежувати
--memlimit-decompress=обмежувати.

--не-коригувати
Відобразити помилку та вийти, якщо параметри стиснення перевищують використання пам’яті
ліміт. За замовчуванням налаштування зменшуються, щоб використовувати пам’ять
ліміт не перевищено. Автоматичне налаштування завжди вимкнено під час створення необроблених матеріалів
потоки (--format=raw).

-T теми, --threads=теми
Вкажіть кількість робочих потоків для використання. Фактична кількість потоків може бути
менше теми якщо використання більшої кількості потоків перевищить ліміт використання пам'яті.

Багатопотокові стиснення та декомпресія він має НЕ реалізовані Тим не менш, so це варіант
має немає ефект та цінності зараз.

As of лист (2010-09-27), it ні було вирішене if теми волі be використовуваний by
дефолт on багатоядерний системи один раз підтримка та цінності різьблення має було здійснено.
Коментарі він має ласкаво просимо Ускладнюючим фактором є те, що використання багатьох потоків буде
різко збільшити використання пам'яті. Зауважте, що якщо багатопоточність буде
за замовчуванням, ймовірно, це буде зроблено так, щоб однопотокові та багатопотокові режими
виробляти однаковий вихід, тому ступінь стиснення не буде істотно вплинути, якщо
за замовчуванням буде ввімкнено потоки.

виготовлений на замовлення компресор фільтрувати ланцюга
Спеціальний ланцюжок фільтрів дозволяє детально вказувати параметри стиснення
покладаючись на налаштування, пов’язані з попередньо встановленими рівнями. Коли користувацький ланцюжок фільтрів є
вказані параметри попередньо встановленого рівня стиснення (-0 ... -9 та --екстремальний) мовчать
ігнорується.

Ланцюжок фільтрів можна порівняти з конвеєром у командному рядку. При стисканні,
нестиснені вхідні дані надходять до першого фільтра, а вихідні дані надходять до наступного фільтра (якщо
будь-який). Вихід останнього фільтра записується в стиснутий файл. Максимум
Кількість фільтрів у ланцюжку чотири, але зазвичай ланцюг фільтрів має лише один або два
фільтри

Багато фільтрів мають обмеження щодо того, де вони можуть бути в ланцюжку фільтрів: деякі фільтри можуть
працюють лише як останній фільтр у ланцюжку, деякі лише як неостанній фільтр, а деякі працюють
в будь-якому місці ланцюга. Залежно від фільтра це обмеження є або властивим
до конструкції фільтра або існує для запобігання проблемам безпеки.

Спеціальний ланцюжок фільтрів визначається за допомогою одного або кількох параметрів фільтра в тому порядку, в якому вони
потрібні в ланцюжку фільтрів. Тобто порядок параметрів фільтра є значущим!
При декодуванні необроблених потоків (--format=raw), ланцюжок фільтрів задається в тому ж порядку
як це було зазначено при стисканні.

Фільтри приймають спеціальні фільтри опції як список, розділений комами. Додаткові коми в опції
ігноруються. Кожен параметр має значення за замовчуванням, тому вам потрібно вказати лише ті, які вам потрібні
змінити.

--lzma1[=опції]
--lzma2[=опції]
Додайте фільтр LZMA1 або LZMA2 до ланцюга фільтрів. Ці фільтри можна використовувати тільки як
останній фільтр у ланцюжку.

LZMA1 — це застарілий фільтр, який підтримується майже виключно завдяки застарілим .lzma
формат файлу, який підтримує лише LZMA1. LZMA2 – це оновлена ​​версія LZMA1 до
виправити деякі практичні проблеми LZMA1. The .xz формат використовує LZMA2 і не підтримує
LZMA1 взагалі. Швидкість стиснення і коефіцієнти LZMA1 і LZMA2 практично однакові
Ж.

LZMA1 і LZMA2 мають однаковий набір опції:

попередньо встановлений=заданої
Скиньте всі LZMA1 або LZMA2 опції до заданої. Попередньо встановлено складаються з цілого числа,
за яким можуть слідувати однолітерні попередньо встановлені модифікатори. Ціле число може бути
від 0 до 9, що відповідає параметрам командного рядка -0 ... -9. Єдиний
наразі підтримується модифікатор e, який відповідає --екстремальний. За замовчуванням
заданої is 6, з якого значення за замовчуванням для решти LZMA1 або
LZMA2 опції беруться.

dict=розмір
Словник (буфер історії) розмір вказує, скільки байтів нещодавно
оброблені нестиснені дані зберігаються в пам'яті. Алгоритм намагається знайти
повторення послідовностей байтів (збігів) у нестиснених даних і заміни
їх із посиланнями на дані в словнику. Чим більше
Чим вищий словник, тим вище шанс знайти відповідність. Таким чином, збільшується
словник розмір зазвичай покращує ступінь стиснення, але словник більше
ніж нестиснений файл є марною тратою пам'яті.

Типовий словник розмір становить від 64 КБ до 64 МБ. Мінімальний розмір – 4 КБ.
Максимальний для стиснення зараз становить 1.5 ГіБ (1536 МБ). The
декомпресор уже підтримує словники розміром до одного байта менше ніж 4 гіБ,
що є максимальним для потокових форматів LZMA1 і LZMA2.

Словник розмір і пошук збігів (mf) разом визначають використання пам’яті
кодер LZMA1 або LZMA2. Той самий (або більший) словник розмір is
необхідний для розпакування, який використовувався під час стиснення, таким чином, пам'ять
використання декодера визначається розміром словника, який використовується при
стиснення. The .xz заголовки зберігають словник розмір або як 2^n або 2^n
+ 2^(n-1), отже ці розміри є дещо кращими для стиснення. Інший
розміри буде округлено в більшу сторону при зберіганні в .xz заголовки.

lc=lc Вкажіть кількість літеральних бітів контексту. Мінімум дорівнює 0 і
максимум 4; за замовчуванням дорівнює 3. Крім того, сума lc та lp не можна
перевищувати 4.

Усі байти, які не можна закодувати як збіги, кодуються як літерали. Це
Літерали – це просто 8-бітові байти, які кодуються по одному.

Літеральне кодування робить припущення, що найвищий lc шматочки
попередній нестиснений байт корелює з наступним байтом. Наприклад, у типовому
Англійський текст, після великої літери часто йде маленька літера,
і після маленької літери зазвичай слідує інша літера нижнього регістру.
У наборі символів US-ASCII три старші біти — 010 для верхнього регістру
літери та 011 для малих літер. Коли lc дорівнює принаймні 3, буквальний
кодування може скористатися цією властивістю в нестиснених даних.

Значення за замовчуванням (3) зазвичай є хорошим. Якщо ви хочете максимального стиснення,
тест lc=4. Іноді це трохи допомагає, а іноді робить компресію
гірше. Якщо це погіршить ситуацію, перевірте, напр lc=2 теж.

lp=lp Вкажіть кількість бітів позиції літерала. Мінімум дорівнює 0 і
максимум 4; за замовчуванням 0.

Lp впливає на те, коли передбачається вирівнювання в нестиснених даних
кодування літералів. Побачити pb нижче для отримання додаткової інформації про вирівнювання.

pb=pb Вкажіть кількість бітів позиції. Мінімальний 0, максимальний 4;
за замовчуванням 2.

Pb впливає на те, для якого типу вирівнювання в нестиснутих даних передбачається
загальний. За замовчуванням означає чотирибайтове вирівнювання (2^pb=2^2=4), що часто буває
хороший вибір, коли немає кращого здогаду.

Коли вирівнювання відоме, налаштування pb відповідно може зменшити розмір файлу
трішки. Наприклад, з текстовими файлами, які мають однобайтове вирівнювання (US-ASCII,
ISO-8859-*, UTF-8), налаштування pb=0 може трохи покращити компресію. Для
текст UTF-16, pb=1 це хороший вибір. Якщо вирівнювання є непарним числом, як
3 байт, pb=0 може бути найкращим вибором.

Незважаючи на те, що передбачуване вирівнювання можна відрегулювати за допомогою pb та lp, LZMA1 і
LZMA2 все ще трохи надає перевагу 16-байтовому вирівнюванню. Можливо, варто взяти до уваги
враховувати при розробці форматів файлів, які, ймовірно, часто стискаються
з LZMA1 або LZMA2.

mf=mf Пошук збігів має великий вплив на швидкість кодера, використання пам’яті та
ступінь стиснення. Зазвичай засоби пошуку відповідності Hash Chain швидші, ніж Binary
Шукачі сірників дерев. Значення за замовчуванням залежить від заданої: 0 використань hc3, 1-3 використання
hc4, а решта використовують bt4.

Підтримуються такі інструменти пошуку збігів. Формули використання пам’яті нижче
є грубими наближеннями, які найбільш наближені до реальності, коли диктує це
сила двох.

hc3 Хеш-ланцюжок з 2- та 3-байтовим хешуванням
Мінімальне значення для приємно: 3
Використання пам'яті:
диктує * 7.5 (якщо диктує <= 16 МБ);
диктує * 5.5 + 64 МБ (якщо диктує > 16 МБ)

hc4 Хеш-ланцюжок з 2-, 3- та 4-байтовим хешуванням
Мінімальне значення для приємно: 4
Використання пам'яті:
диктує * 7.5 (якщо диктує <= 32 МБ);
диктує * 6.5 (якщо диктує > 32 МБ)

bt2 Бінарне дерево з 2-байтовим хешуванням
Мінімальне значення для приємно: 2
Використання пам'яті: диктує * 9.5

bt3 Бінарне дерево з 2- та 3-байтовим хешуванням
Мінімальне значення для приємно: 3
Використання пам'яті:
диктує * 11.5 (якщо диктує <= 16 МБ);
диктує * 9.5 + 64 МБ (якщо диктує > 16 МБ)

bt4 Бінарне дерево з 2-, 3- і 4-байтовим хешуванням
Мінімальне значення для приємно: 4
Використання пам'яті:
диктує * 11.5 (якщо диктує <= 32 МБ);
диктує * 10.5 (якщо диктує > 32 МБ)

режим=режим
компресія режим визначає метод аналізу даних, отриманих за допомогою
пошук сірників. Підтримується Режими він має швидко та нормальний. За замовчуванням швидко та цінності
presets 0-3 і нормальний та цінності presets 4-9.

Зазвичай швидко використовується з пошуковими системами Hash Chain та нормальний з двійковим
Шукачі сірників дерев. Це також те, що presets робити.

гарно =приємно
Укажіть, яка довжина вважається гарною для сірника. Одного разу матч о
принаймні приємно байт, можливо, алгоритм припиняє пошук
кращі матчі.

хороший може становити 2-273 байти. Більш високі значення, як правило, забезпечують кращу компресію
співвідношення за рахунок швидкості. Значення за замовчуванням залежить від заданої.

глибина =глибина
Вкажіть максимальну глибину пошуку в пошуковику збігів. За замовчуванням є
спеціальне значення 0, що змушує компресор визначити розумне глибина
від mf та приємно.

Розумні глибина для хеш-ланцюгів 4-100 і 16-1000 для бінарних дерев.
Використання дуже високих значень для глибина може зробити кодер надзвичайно повільним
деякі файли. Уникайте налаштування глибина понад 1000, якщо ви не готові
перервати стиснення, якщо воно займає занадто багато часу.

При декодуванні необроблених потоків (--format=raw), LZMA2 потрібен лише словник розмір.
LZMA1 також потребує lc, lp та pb.

--x86[=опції]
--powerpc[=опції]
--ia64[=опції]
--рука[=опції]
-- великий палець руки[=опції]
--шпарк[=опції]
Додайте фільтр розгалуження/виклику/стрибка (BCJ) до ланцюга фільтрів. Ці фільтри можна використовувати
лише як неостанній фільтр у ланцюжку фільтрів.

Фільтр BCJ перетворює відносні адреси в машинному коді в абсолютні
аналогів. Це не змінює розмір даних, але збільшує
надмірність, що може допомогти LZMA2 виробляти на 0-15 % менше .xz файл. BCJ
фільтри завжди оборотні, тому використання фільтра BCJ для неправильного типу даних цього не робить
призведе до втрати даних, хоча це може трохи погіршити ступінь стиснення.

Добре застосувати фільтр BCJ до всього виконуваного файлу; немає потреби його застосовувати
тільки у виконуваному розділі. Застосування фільтра BCJ до архіву, який містить
як виконувані, так і невиконувані файли можуть дати або не дати хороші результати, тому це
як правило, не варто сліпо застосовувати фільтр BCJ під час стиснення бінарних пакетів
для розповсюдження.

Ці фільтри BCJ дуже швидкі та використовують незначний обсяг пам’яті. Якщо BCJ
фільтр покращує ступінь стиснення файлу, він може покращити швидкість декомпресії на
той самий час. Це пояснюється тим, що на тому ж апаратному забезпеченні швидкість декомпресії
LZMA2 — це приблизно фіксована кількість байтів стиснутих даних в секунду.

Ці фільтри BCJ мають відомі проблеми, пов’язані зі ступенем стиснення:

· Деякі типи файлів, що містять виконуваний код (наприклад, об’єктні файли, статичні
бібліотеки та модулі ядра Linux) мають адреси в інструкціях
заповнені значеннями наповнювача. Ці фільтри BCJ все одно виконуватимуть адресу
перетворення, що погіршить стиснення цих файлів.

· Застосування фільтра BCJ до архіву, що містить декілька подібних виконуваних файлів, може
зробити ступінь стиснення гіршим, ніж не використовувати фільтр BCJ. Це відбувається тому
фільтр BCJ не визначає межі виконуваних файлів, і
не скидає лічильник перетворення адрес для кожного виконуваного файлу.

Обидві вищевказані проблеми будуть виправлені в майбутньому в новому фільтрі. Старий
Фільтри BCJ все ще будуть корисні у вбудованих системах, оскільки декодер
новий фільтр буде більшим і використовуватиме більше пам'яті.

Різні набори інструкцій мають різне вирівнювання:

Примітки щодо вирівнювання фільтрів
x86 1 32-розрядний або 64-розрядний x86
PowerPC 4 Лише з великим порядком
ARM 4 Лише з порядковим кінцем
ARM-Thumb 2 Лише з малим порядком
IA-64 16 Великий або маленький байт
SPARC 4 Великий або маленький байт

Оскільки дані, відфільтровані BCJ, зазвичай стискаються за допомогою LZMA2, ступінь стиснення
можна трохи покращити, якщо параметри LZMA2 налаштовані відповідно до вирівнювання
вибраний фільтр BCJ. Наприклад, з фільтром IA-64 його добре встановити pb=4
з LZMA2 (2^4=16). Фільтр x86 є винятком; зазвичай добре дотримуватися
Чотирибайтове вирівнювання LZMA2 за замовчуванням під час стиснення виконуваних файлів x86.

Усі фільтри BCJ підтримують те саме опції:

початок=зсув
Вкажіть початок зсув який використовується під час перетворення між відносними та
абсолютні адреси. The зсув має бути кратним вирівнюванню
фільтр (див. таблицю вище). За замовчуванням – нуль. На практиці,
за замовчуванням добре; вказуючи звичай зсув майже ніколи не буває корисним.

--дельта[=опції]
Додайте фільтр Delta до ланцюга фільтрів. Дельта-фільтр можна використовувати лише як
не останній фільтр у ланцюжку фільтрів.

Наразі підтримується лише просте побайтове обчислення дельти. Це може бути корисним
під час стиснення, наприклад, нестиснених растрових зображень або нестисненого PCM-аудіо.
Однак алгоритми спеціального призначення можуть дати значно кращі результати, ніж
Дельта + LZMA2. Особливо це стосується аудіо, яке стискається швидше і
краще, наприклад, з flac(1).

Підтриманий опції:

dist=відстань
вкажіть відстань обчислення дельти в байтах. відстань повинно бути
1-256. За замовчуванням 1.

Наприклад, с dist=2 і восьмибайтовий вхід A1 B1 A2 B3 A3 B5 A4 B7, ст
вихід буде A1 B1 01 02 01 02 01 02.

Інше опції
-q, --спокійно
Приглушити попередження та сповіщення. Вкажіть це двічі, щоб придушити помилки. Це
опція не впливає на статус виходу. Тобто навіть якщо попередження було
пригнічено, статус виходу для позначення попередження все ще використовується.

-v, -багатослівний
Будьте багатослівними. Якщо стандартна помилка підключена до терміналу, xz відобразиться a
індикатор прогресу. Уточнення -багатослівний двічі дасть ще більш докладний вихід.

Індикатор прогресу показує таку інформацію:

· Відсоток завершення відображається, якщо відомий розмір вхідного файлу. Тобто,
відсоток не можна показати в трубках.

· Кількість стиснутих даних, що виробляються (стиск) або споживаються (розпаковуються).

· Кількість споживаних (стиснення) або вироблених (розпакування) нестиснених даних.

· Коефіцієнт стиснення, який розраховується шляхом ділення кількості стиснутих даних
оброблено на даний момент за кількістю нестиснутих даних, оброблених на даний момент.

· Швидкість стиснення або декомпресії. Це вимірюється як кількість
споживані (стиснення) або вироблені (декомпресія) дані в секунду.
Він відображається через кілька секунд з того часу xz розпочали обробку
файлу.

· Час, що минув у форматі M:SS або H:MM:SS.

· Приблизний час, що залишився, відображається лише тоді, коли відомий розмір вхідного файлу
і з того часу вже пройшло пару секунд xz розпочали обробку
файл. Час показується в менш точному форматі, який ніколи не містить двокрапки,
наприклад 2 хв 30 с.

Якщо стандартна помилка не є терміналом, -багатослівний зробить xz надрукувати ім'я файлу,
стиснений розмір, нестиснений розмір, ступінь стиснення і, можливо, також швидкість
і час, що минув на одному рядку до стандартної помилки після стиснення або
розпакування файлу. Швидкість і час, що минув, враховуються лише тоді, коли
операція тривала щонайменше кілька секунд. Якщо операція не завершилася, наприклад, через
переривання користувача, також відсоток завершення друкується, якщо розмір
вхідний файл відомий.

-Q, --не-попереджати
Не встановлюйте статус виходу на 2, навіть якщо була виявлена ​​умова, яка вартує попередження.
Цей параметр не впливає на рівень детальності, отже, обидва --спокійно та --не-попереджати
повинні використовуватися, щоб не відображати попередження та не змінювати статус виходу.

--робот
Друк повідомлень у форматі для машинного аналізу. Це призначено для полегшення письма
інтерфейси, які потрібно використовувати xz замість liblzma, що може бути у випадку з
різні сценарії. Вихід із увімкненою цією опцією має бути стабільним
xz випуски. Дивіться розділ ROBOT РЕЖИМ for details.

--інформаційна пам'ять
Відображати в зрозумілому для людини форматі, скільки фізичної пам’яті (RAM) xz думає
система має обмеження використання пам'яті для стиснення, декомпресії та виходу
успішно.

-h, --допомога
Відобразіть довідкове повідомлення з описом найбільш часто використовуваних параметрів і вийдіть
успішно.

-H, --тривала допомога
Відобразити довідкове повідомлення з описом усіх функцій xz, і успішно вийти

-V, -- версія
Відобразити номер версії xz та liblzma у форматі, зрозумілому людині. Отримати
виведення, що піддається машинному аналізу, вкажіть --робот перед тим -- версія.

ROBOT РЕЖИМ


Режим робота активується за допомогою кнопки --робот варіант. Це робить вихід з xz легше
аналізувати іншими програмами. Наразі --робот підтримується тільки разом з -- версія,
--інформаційна пам'ять та -- список. Він буде підтримуватися для нормального стиснення та декомпресії
в майбутньому.

версія
xz --робот -- версія надрукує номер версії xz і liblzma в наступному
формат:

XZ_VERSION=XYYYZZZS
LIBLZMA_VERSION=XYYYZZZS

X Основна версія.

РРР Мінорна версія. Парні числа стабільні. Непарні числа - це альфа- або бета-версії.

ZZZ Рівень виправлення для стабільних випусків або просто лічильник випусків для розробки.

S Стабільність. 0 – альфа, 1 – бета, 2 – стабільний. S завжди має бути 2 коли РРР
рівномірний.

XYYYZZZS однакові в обох рядках, якщо xz і liblzma з того ж випуску XZ Utils.

Приклади: 4.999.9beta є 49990091 і 5.0.0 є 50000002.

пам'ять обмежувати інформація
xz --робот --інформаційна пам'ять друкує один рядок із трьома розділеними табуляції стовпцями:

1. Загальний обсяг фізичної пам'яті (RAM) у байтах

2. Обмеження використання пам'яті для стиснення в байтах. Спеціальне значення нуля вказує на
налаштування за замовчуванням, яке для однопоточного режиму таке ж, як і без обмежень.

3. Ліміт використання пам'яті для декомпресії в байтах. Спеціальне значення нуля вказує на
налаштування за замовчуванням, яке для однопоточного режиму таке ж, як і без обмежень.

У майбутньому вихід з xz --робот --інформаційна пам'ять може мати більше стовпців, але ніколи
більше одного рядка.

список режим
xz --робот -- список використовує вихід, розділений табуляторами. Перший стовпець кожного рядка має рядок
що вказує на тип інформації, знайденої в цьому рядку:

ім'я Це завжди перший рядок, коли починається список файлів. Другий стовпець на
рядок є ім'ям файлу.

файл Цей рядок містить загальну інформацію про .xz файл. Ця лінія завжди
надруковано після ім'я лінія.

потік Цей тип рядка використовується лише тоді, коли -багатослівний було зазначено. Їх стільки ж потік
рядків, оскільки є потоки в .xz файлу.

блок Цей тип рядка використовується лише тоді, коли -багатослівний було зазначено. Їх стільки ж блок
рядків, оскільки є блоки в .xz файл. The блок рядки відображаються після всіх
потік лінії; різні типи рядків не чергуються.

резюме
Цей тип рядка використовується лише тоді, коли -багатослівний було зазначено двічі. Ця лінія є
надруковано все-таки блок лінії. Як і файл лінія, то резюме рядок містить
загальна інформація про .xz файлу.

підсумків Цей рядок завжди є останнім рядком виводу списку. Він показує загальну суму
кількість і розміри.

Колони с файл рядки:
2. Кількість потоків у файлі
3. Загальна кількість блоків у потоці (потоках)
4. Стиснутий розмір файлу
5. Розмір файлу без стиснення
6. Ступінь стиснення, наприклад 0.123. Якщо коефіцієнт перевищує 9.999, три тире
(---) відображаються замість співвідношення.
7. Розділений комами список імен перевірки цілісності. Використовуються наступні рядки
для відомих типів чеків: ніхто, CRC32, CRC64 та SHA-256. Для невідомої перевірки
типи, невідомо-N використовується, де N є ідентифікатором перевірки у вигляді десяткового числа (один або
дві цифри).
8. Загальний розмір заповнення потоку у файлі

Колони с потік рядки:
2. Номер потоку (перший потік 1)
3. Кількість блоків у потоці
4. Стиснутий стартовий зсув
5. Нестиснене зміщення початку
6. Стиснутий розмір (не включає заповнення потоку)
7. Нестиснений розмір
8. Коефіцієнт стиснення
9. Назва перевірки цілісності
10. Розмір заповнення потоку

Колони с блок рядки:
2. Номер потоку, що містить цей блок
3. Номер блоку відносно початку потоку (перший блок дорівнює 1)
4. Номер блоку відносно початку файлу
5. Стиснутий зсув початку відносно початку файлу
6. Нестиснене зміщення початку відносно початку файлу
7. Загальний стиснутий розмір блоку (включає заголовки)
8. Нестиснений розмір
9. Коефіцієнт стиснення
10. Назва перевірки цілісності

If -багатослівний було вказано двічі, додаткові стовпці включені в блок лінії
Вони не відображаються з одним -багатослівний, оскільки отримання цієї інформації вимагає
багато шукає і тому може бути повільним:
11. Значення перевірки цілісності в шістнадцятковому
12. Розмір заголовка блоку
13. Прапори блоку: c вказує на наявність стисненого розміру, і u вказує на це
присутній нестиснений розмір. Якщо прапорець не встановлено, тире (-) показано
натомість, щоб довжина рядка була фіксованою. Нові прапорці можуть бути додані в кінці
рядок у майбутньому.
14. Розмір фактично стиснутих даних у блоці (це виключає блок
заголовок, заповнення блоку та поля перевірки)
15. Обсяг пам'яті (у байтах), необхідний для розпакування цього блоку за допомогою цього xz
версія
16. Фільтровий ланцюг. Зауважте, що більшість параметрів, які використовуються під час стиснення, не можуть бути
відомо, тому що в них зберігаються лише параметри, необхідні для декомпресії
.xz заголовки.

Колони с резюме рядки:
2. Обсяг пам'яті (у байтах), необхідний для розпакування цього файлу за допомогою цього xz
версія
3. так or немає що вказує, чи всі заголовки блоків мають як стислий розмір, так і
нестиснутий розмір, що зберігається в них
З xz 5.1.2альфа:
4. Мінімум xz версія, необхідна для розпакування файлу

Колони с підсумків лінія:
2. Кількість потоків
3. Кількість блоків
4. Стиснутий розмір
5. Нестиснений розмір
6. Середня ступінь стиснення
7. Розділений комами список імен перевірки цілісності, які були присутні у файлах
8. Розмір заповнення потоку
9. Кількість файлів. Це тут, щоб зберегти порядок попередніх стовпців
те саме, що на файл лінії

If -багатослівний було вказано двічі, додаткові стовпці включені в підсумків лінія:
10. Максимальний обсяг пам'яті (у байтах), необхідний для розпакування файлів за допомогою цього
xz версія
11. так or немає що вказує, чи всі заголовки блоків мають як стислий розмір, так і
нестиснутий розмір, що зберігається в них
З xz 5.1.2альфа:
12. Мінімум xz версія, необхідна для розпакування файлу

Майбутні версії можуть додавати нові типи рядків, а нові стовпці можна додавати до існуючого рядка
типи, але наявні стовпці не будуть змінені.

EXIT СТАТУС


0 Все добре.

1 Виникла помилка.

2 Сталося щось, що варте попередження, але фактичних помилок не сталося.

Сповіщення (не попередження чи помилки), надруковані на стандартній помилці, не впливають на статус виходу.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ


xz аналізує розділені пробілом списки параметрів зі змінних середовища XZ_DEFAULTS та
XZ_OPT, у цьому порядку, перед розбором параметрів з командного рядка. Зауважте, що тільки
параметри аналізуються зі змінних середовища; всі неопції ігноруються мовчки.
Розбір виконано за допомогою getopt_long(3), який також використовується для аргументів командного рядка.

XZ_DEFAULTS
Параметри за замовчуванням для певних користувачів або для всієї системи. Зазвичай це встановлюється в оболонці
скрипт ініціалізації, щоб увімкнути xzобмежувач використання пам'яті за замовчуванням. Не враховуючи
сценарії ініціалізації оболонки та подібні особливі випадки, сценарії ніколи не повинні встановлювати або
скасовано XZ_DEFAULTS.

XZ_OPT Це для передачі параметрів xz коли неможливо встановити параметри
безпосередньо на xz командний рядок. Це випадок, наприклад, коли xz запускається за допомогою сценарію
або інструмент, наприклад GNU дьоготь(1):

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

Можна використовувати скрипти XZ_OPT наприклад, щоб встановити параметри стиснення за замовчуванням для сценарію. Це
все ще рекомендується дозволити користувачам перевизначати XZ_OPT якщо це розумно, напр
in sh(1) скрипти, які можна використовувати приблизно так:

XZ_OPT=${XZ_OPT-"-7e"}
експортувати XZ_OPT

LZMA ІНСТРУМЕНТИ СУМІСНІСТЬ


Синтаксис командного рядка xz є практично надмножиною лзма, unlzma та lzcat as
знайдено з LZMA Utils 4.32.x. У більшості випадків можна замінити LZMA Utils на XZ
Утиліти без порушення існуючих скриптів. Хоча є деякі несумісності, які
іноді може викликати проблеми.

компресія заданої рівні
Нумерація пресетів рівня стиснення не ідентична xz і LZMA Utils. The
Найважливіша відмінність полягає в тому, як розміри словника відображаються на різні попередні налаштування.
Розмір словника приблизно дорівнює використанню пам’яті декомпресора.

Рівень xz LZMA Utils
-0 256 КіБ Н/Д
-1 1 МБ 64 КБ
-2 2 МБ 1 МБ
-3 4 МБ 512 КБ
-4 4 МБ 1 МБ
-5 8 МБ 2 МБ
-6 8 МБ 4 МБ
-7 16 МБ 8 МБ
-8 32 МБ 16 МБ
-9 64 МБ 32 МБ

Різниця у розмірі словника також впливає на використання пам’яті компресора, але є деякі
інші відмінності між LZMA Utils і XZ Utils, які роблять різницю ще більшою:

Рівень xz LZMA Utils 4.32.x
-0 3 МБ Н/Д
-1 9 МБ 2 МБ
-2 17 МБ 12 МБ
-3 32 МБ 12 МБ
-4 48 МБ 16 МБ
-5 94 МБ 26 МБ
-6 94 МБ 45 МБ
-7 186 МБ 83 МБ
-8 370 МБ 159 МБ
-9 674 МБ 311 МБ

За замовчуванням встановлений рівень у LZMA Utils -7 а в XZ Utils це є -6, тому обидва використовують 8
Словник MiB за замовчуванням.

Потік проти без потокового передавання .lzma файли
Нестиснутий розмір файлу можна зберегти в файлі .lzma заголовок. LZMA Utils робить це
при стисканні звичайних файлів. Альтернатива – позначити цей нестиснений розмір
невідомо та використовуйте маркер кінця корисного навантаження, щоб вказати, де повинен зупинитися декомпресор.
LZMA Utils використовує цей метод, коли нестиснений розмір не відомий, що має місце для
наприклад в трубах.

xz підтримує декомпресію .lzma файли з маркером кінця корисного завантаження або без нього, але все .lzma
файли, створені за допомогою xz використовуватиме маркер кінця корисного навантаження та матиме нестиснений розмір, позначений як
невідомий в .lzma заголовок. Це може бути проблемою в деяких незвичайних ситуаціях. Для
наприклад, а .lzma декомпресор у вбудованому пристрої може працювати лише з файлами, які мають
відомий нестиснений розмір. Якщо ви зіткнулися з цією проблемою, вам потрібно використовувати LZMA Utils або LZMA SDK
для створення .lzma файли з відомим нестисненим розміром.

Не підтримується .lzma файли
Команда .lzma формат дозволяє lc значення до 8 і lp значення до 4. LZMA Utils може
розпакуйте файли будь-яким lc та lp, але завжди створює файли за допомогою lc=3 та lp=0.
Створення файлів з іншими lc та lp можливо за допомогою xz і з LZMA SDK.

Реалізація фільтра LZMA1 у liblzma вимагає, щоб сума з lc та lp повинен
не перевищує 4. Таким чином, .lzma файли, які перевищують це обмеження, не можуть бути розпаковані
з xz.

LZMA Utils лише створює .lzma файли, які мають розмір словника 2^n (степень 2), але
приймає файли будь-якого розміру словника. liblzma приймає тільки .lzma файли, які мають a
розмір словника 2^n або 2^n + 2^(n-1). Це потрібно для зменшення хибних спрацьовувань, коли
виявлення .lzma файли.

Ці обмеження не повинні бути проблемою на практиці, оскільки практично всі .lzma файли
були стиснуті з налаштуваннями, які liblzma прийме.

Трейлінг сміття
Під час розпакування LZMA Utils мовчки ігнорує все після першого .lzma потік.
У більшості ситуацій це помилка. Це також означає, що LZMA Utils не підтримуються
декомпресія зчеплена .lzma файли.

Якщо після першого залишилися дані .lzma потік, xz вважає файл пошкодженим
якщо не -- однопотоковий був використаний. Це може порушити незрозумілі сценарії, які припускають це
залишкове сміття ігнорується.

ПРИМІТКИ


Стиснута вихід може змінюватися
Точний стиснений вихідний файл, отриманий з того самого нестиснутого вхідного файлу, може відрізнятися
між версіями XZ Utils, навіть якщо параметри стиснення ідентичні. Це тому, що
кодер можна покращити (швидше або краще стиснути), не впливаючи на формат файлу.
Вихідні дані можуть відрізнятися навіть у різних збірках однієї і тієї ж версії XZ Utils, якщо
використовуються різні варіанти побудови.

Вищезазначене означає, що виконання --rsyncable щоб створити rsyncable .xz файли не збираються
відбутися без заморожування частини реалізації кодера, яку потім можна використовувати
з --rsyncable.

Вбудований .xz декомпресори
Вбудований .xz Реалізації декомпресора, такі як XZ Embedded, не обов'язково підтримують файли
створено цілісно перевірка типи, крім ніхто та crc32. Оскільки за замовчуванням є
--check=crc64, ви повинні використовувати --check=none or --check=crc32 при створенні файлів для вбудованих
систем.

Зовнішні вбудовані системи, все .xz декомпресори формату підтримують усі перевірка типи, або на
щонайменше можуть розпакувати файл, не перевіряючи перевірку цілісності, якщо
приватність перевірка не підтримується.

XZ Embedded підтримує фільтри BCJ, але лише зі зміщенням початку за замовчуванням.

ПРИКЛАДИ


Основи
Стисніть файл Foo в foo.xz використовуючи рівень стиснення за замовчуванням (-6), і видаліть Foo
якщо стиснення успішне:

xz фу

Розпакувати бар.xz в бар і не видаляйте бар.xz навіть якщо декомпресія пройшла успішно:

xz -dk бар.xz

Створювати baz.tar.xz із попередньо встановленими параметрами -4e (-4 --екстремальний), що повільніше, ніж, наприклад
дефолт -6, але потребує менше пам’яті для стиснення та декомпресії (48 МБ і 5 МБ,
відповідно):

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

Поєднання стиснених і нестиснених файлів можна розпакувати до стандартного виведення за допомогою a
одна команда:

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

Паралельні стиснення of багато файли
На GNU та *BSD, знаходити(1) і ксарг(1) можна використовувати для розпаралелювання стиснення багатьох
файли:

знайти . -тип f \! -ім'я '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

Команда -P варіант до ксарг(1) встановлює кількість паралельних xz процесів. Найкраще співвідношення ціни і якості
-n Опція залежить від того, скільки файлів потрібно стиснути. Якщо є лише а
пара файлів, значення, ймовірно, має бути 1; з десятками тисяч файлів, 100 або
ще більше може бути доцільним зменшити кількість xz процеси, які ксарг(1) буде
зрештою створити.

Опція -Т1 та цінності xz чи є можливість примусово перевести його в однопотоковий режим, тому що ксарг(1) є
використовується для контролю величини розпаралелювання.

Робот режим
Обчисліть, скільки байтів було збережено загалом після стиснення кількох файлів:

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

Сценарій може захотіти знати, що він використовує достатньо нового xz. Наступні sh(1) сценарій
перевіряє номер версії файлу xz інструмент не менше 5.0.0. Цей метод є
сумісний зі старими бета-версіями, які не підтримували --робот опції:

якщо ! eval "$(xz --robot --version 2> /dev/null)" ||
[ "$XZ_VERSION" -lt 50000002 ]; тоді
echo "Ваш xz занадто старий."
fi
скасувати XZ_VERSION LIBLZMA_VERSION

Установіть ліміт використання пам’яті для використання декомпресії XZ_OPT, але якщо обмеження вже було
набір, не збільшуйте його:

NEWLIM=$((123 << 20)) # 123 МБ
OLDLIM=$(xz --robot --info-memory | cut -f3)
якщо [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; тоді
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
експортувати XZ_OPT
fi

виготовлений на замовлення компресор фільтрувати ланцюга
Найпростішим використанням користувальницьких ланцюжків фільтрів є налаштування попереднього налаштування LZMA2. Це може бути
корисно, оскільки попередні налаштування охоплюють лише підмножину потенційно корисних комбінацій
налаштування стиснення.

Стовпці CompCPU таблиць з описів параметрів -0 ... -9 та
--екстремальний корисні під час налаштування пресетів LZMA2. Ось відповідні частини
зібрано з цих двох таблиць:

Попередньо встановлений CompCPU
-0 0
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-5e 7
-6e 8

Якщо ви знаєте, що файл потребує дещо великого словника (наприклад, 32 МБ), щоб добре стиснути,
але ви хочете стиснути його швидше, ніж xz -8 підійде пресет із низьким значенням CompCPU
(наприклад, 1) можна змінити, щоб використовувати більший словник:

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

Для деяких файлів наведена вище команда може бути швидшою, ніж xz -6 під час стискання
значно краще. Однак слід підкреслити, що лише деякі файли мають переваги від a
великий словник, зберігаючи низьке значення CompCPU. Найбільш очевидна ситуація, коли а
великий словник може дуже допомогти, це архів, що містить дуже подібні файли принаймні a
кілька мегабайт кожен. Розмір словника має бути значно більшим за будь-який
окремий файл, щоб LZMA2 повністю використав схожість між
послідовні файли.

Якщо дуже велике використання пам’яті компресора та декомпресора, це нормально, і файл є
стиснутий становить щонайменше кілька сотень мегабайт, може бути корисно використовувати ще більший
словник, ніж 64 МБ xz -9 використовував би:

xz -vv --lzma2=dict=192 МБ big_foo.tar

використання -вв (-багатослівний -багатослівний), як у наведеному вище прикладі, може бути корисно побачити пам'ять
вимоги до компресора і декомпресора. Пам'ятайте, що використання словника більше
ніж розмір нестиснутого файлу є марною тратою пам'яті, тому наведена вище команда не є такою
корисно для невеликих файлів.

Іноді час стиснення не має значення, але використання пам’яті декомпресора має бути
зберігається на низькому рівні, наприклад, щоб зробити можливим розпакування файлу на вбудованій системі. The
використовується наступна команда -6e (-6 --екстремальний) як основу і встановлює для словника значення тільки
64 КБ. Отриманий файл можна розпакувати за допомогою XZ Embedded (тому є
--check=crc32) з використанням близько 100 КБ пам'яті.

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

Якщо ви хочете вичавити якомога більше байтів, налаштувавши кількість літералів
біти контексту (lc) і кількість бітів позиції (pb) іноді може допомогти. Налаштування
кількість бітів позиції літералу (lp) також може допомогти, але зазвичай lc та pb є більше
важливий. Наприклад, архів вихідного коду містить переважно текст US-ASCII, щось на кшталт
наступне може дати трохи (наприклад, на 0.1 %) менший файл, ніж xz -6e (спробуйте також без
lc=4):

xz --lzma2=попередньо=6e,pb=0,lc=4 вихідний_код.tar

Використання іншого фільтра разом із LZMA2 може покращити стиснення певних типів файлів.
Наприклад, щоб стиснути спільну бібліотеку x86-32 або x86-64 за допомогою фільтра x86 BCJ:

xz --x86 --lzma2 libfoo.so

Зауважте, що порядок параметрів фільтра є важливим. Якщо --x86 вказується після
--lzma2, xz видасть помилку, тому що після LZMA2 не може бути фільтра, а також
оскільки фільтр x86 BCJ не може використовуватися як останній фільтр у ланцюжку.

Дельта-фільтр разом із LZMA2 може дати хороші результати з растровими зображеннями. Це повинно бути
зазвичай перевершує PNG, який має кілька розширених фільтрів, ніж простий дельта, але використовує Deflate
для фактичного стиснення.

Зображення має бути збережено в нестисненому форматі, наприклад, як нестиснений TIFF. Відстань
Параметр дельта-фільтра встановлюється відповідно до кількості байтів на піксель у зображенні.
Наприклад, потрібні 24-розрядні растрові зображення RGB dist=3, і це теж добре пройти pb=0 до LZMA2 до
врахувати трибайтове вирівнювання:

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

Якщо кілька зображень було поміщено в один архів (напр .Тар), фільтр Дельта буде
працюйте над цим також, якщо всі зображення мають однакову кількість байтів на піксель.

Використовуйте xzcat онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

  • 1
    aarch64-linux-gnu-gnatbind
    aarch64-linux-gnu-gnatbind
    gnat, gnatbind, gnatbl, gnatchop,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - інструментарій GNAT
    ОПИС: Th...
    Запустіть aarch64-linux-gnu-gnatbind
  • 2
    aarch64-linux-gnu-gnatchop-5
    aarch64-linux-gnu-gnatchop-5
    gnat, gnatbind, gnatbl, gnatchop,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - інструментарій GNAT
    ОПИС: Th...
    Запустіть aarch64-linux-gnu-gnatchop-5
  • 3
    cpupower-idle-info
    cpupower-idle-info
    cpupower idle-info - утиліта для
    отримати інформацію про неактивне ядро ​​ЦП
    СИНТАКСИС: cpupower [ -c cpulist ]
    idle-info [параметри] ОПИС: інструмент
    який друкує п...
    Запустіть cpupower-idle-info
  • 4
    cpupower-idle-set
    cpupower-idle-set
    cpupower idle-set - утиліта для налаштування ЦП
    спеціальні параметри ядра для стану простою
    СИНТАКСИС: cpupower [ -c cpulist ]
    idle-info [параметри] ОПИС: The
    cpupower idle-se...
    Запустіть cpupower-idle-set
  • 5
    g.mapsetsgrass
    g.mapsetsgrass
    g.mapsets - змінює/друкує дані користувача
    поточний шлях пошуку набору карт. Впливає на
    доступ користувача до даних, що існують під
    інші набори карт у поточному місці. ...
    Запустіть g.mapsetsgrass
  • 6
    g.messagegrass
    g.messagegrass
    g.message - друкує повідомлення, попередження,
    інформацію про прогрес або фатальну помилку в
    ТРАВ'ЯНИЙ шлях. Цей модуль слід використовувати в
    сценарії для повідомлень, які надаються користувачеві.
    KEYWO...
    Запустіть g.messagegrass
  • Детальніше »

Ad