Глядя на параметры xz
и lzma
, я не могу понять, как сжать несколько файлов в один архив. Я знаю, что это возможно, потому что я распаковал файл .lzma
и он открыл кучу песен.
Если я пытаюсь сделать lzma -k file file file file
он просто сжимает каждый файл в отдельности. Есть ли очевидный вариант или аргумент, который я пропускаю?
2 ответа
Одна вещь, которую вы могли бы сделать, это использовать tar:
tar cf files.lzma --lzma file1 file2 ... fileN
Или проще
tar cf files.lzma --lzma file*
Это создает архив files.lzma
который вы можете распаковать, используя:
tar xf files.lzma
Man lzma
ПРИМЕРЫ
основы
Сожмите файл foo в foo.xz, используя уровень сжатия по умолчанию (-6), и удалите foo, если сжатие прошло успешно:
xz foo
Распакуйте bar.xz в bar и не удаляйте bar.xz, даже если распаковка прошла успешно:
xz -dk bar.xz
Создайте baz.tar.xz с предустановкой -4e (-4 --extreme), которая медленнее, чем, например, -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