Як стискати кілька файлів в одному архіві за допомогою lzma?


4

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

Відповіді:


7

Одне, що ви можете зробити, це використовувати дьоготь:

tar cf files.lzma --lzma file1 file2 ... fileN

Або, простіше,

tar cf files.lzma --lzma file*

Це створює files.lzmaархів, який потім можна розпакувати за допомогою:

tar xf files.lzma

Варто зазначити, що, на відміну від zip, rar, arj на windows та ін, загальні інструменти в системах unix / linux працюють на потоках, отже, зазвичай немає можливості створювати єдиний архівний файл.
тинк

@tink, які поширені інструменти ви посилаєтесь? gzipі tarможе.
тердон

gzip, bzip2, compress ... Я не бачу жодної згадки про стиснення декількох файлів в одному архіві, використовуючи лише gzip. Конкатенація вміст декількох файлів в один з допомогою -c з переадресацією не рахується :)
Дзинь

@tink Хоча це правда , що стандартні засоби архівування Linux ( gzip, bzip2, xzі т.д.) можуть тільки стискати окремі файли, ви можете об'єднати ці файли в tarархів, а потім стиснути архів. Це загальноприйнята практика у * nix системах, і навіть це можна зробити безпосередньо tarза допомогою перемикачів -z(gzip), -j(bzip2) або -J(xz) для автоматичного стиснення потоку архіву після створення (перевірити tarточну сторінку сторінки вашої системи на точну комутатори, оскільки вони можуть відрізнятися між системами / реалізаціями).
Натан2055

0

людина lzma

ПРИКЛАДИ

Основи

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

xz foo

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

xz -dk bar.xz

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

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

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

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.