Я хочу сжать несколько изображений в архив .xz. Как мне это сделать?
Хотя tar cJf archive files...
как детализировано Zacharee1 и heemayl обычно, что Вы захотите сделать, иначе должен передать смолившие данные по каналу к xz
команда:
tar c files... | xz > archive.tar.xz
Начиная с Ubuntu tar
поддержки J
опция, этот альтернативный путь специфически полезен, когда Вы хотите передать опции xz
.
В этом примере я смолю и xzip некоторые файлы TIFF с высоким уровнем сжатия (-9
кому: xz
) и подробный вывод (v
кому: tar
, -v
кому: xz
):
ek@Io:~/Pictures$ tar vc *.tif{,f} | xz -9v > pics.tar.xz
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
100 % 207.3 KiB / 290.0 KiB = 0.715
Это могло, конечно, также быть сделано на двух явно отдельных шагах:
ek@Io:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
ek@Io:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
100 % 207.3 KiB / 290.0 KiB = 0.715
Те два пути не на самом деле эквивалентны в том, как они работают, хотя .tar.xz
файлы, которые они производят в конце, должны быть тем же (и были, когда я протестировал его).
tar
передается по каналу (|
) к входу xz
. xz
получает данные из tar
почти сразу, и несжатый файл tar никакого промежуточного звена когда-либо создается. Это должно сказать, что первый путь чрезвычайно эквивалентен tar cJf archive files...
, за исключением дополнительных аргументов, переданных xz
.xz
во второй команде. (xz
автоматически удаляет исходный файл, когда он сделан, если не вызвано с -k
/--keep
.)Для дополнительных материалов для чтения см. это сообщение Rafael van Horn и tar
и xz
страницы справочника.
Используйте tar
с -J
опция:
tar -cvJf images.tar.xz /directory/containing/images/*
tar
используется для объединения нескольких файлов в один (Архив), и затем мы должны сжать архив с помощью алгоритма сжатия XZ.
От man tar
:
-c, --create
create a new archive
-v, --verbose
verbosely list files processed
-J, --xz
-f, --file ARCHIVE
use archive file or device ARCHIVE
Также примечание, которое images.tar.xz
будет создано в текущем каталоге, если Вы захотите сохранить его где-то в другом месте, используют /full/path/to/images.tar.xz
.
Используйте эту команду: tar cJf <archive.tar.xz> <files>
. Отдельные пути к файлам с пространством.