ฉันต้องการบีบอัดภาพหลายภาพเป็นไฟล์. xz ฉันจะทำอย่างไร
ฉันต้องการบีบอัดภาพหลายภาพเป็นไฟล์. xz ฉันจะทำอย่างไร
คำตอบ:
แม้ว่าจะเป็นรายละเอียดโดย Zacharee1และโดย heemaylมักจะเป็นสิ่งที่คุณจะต้องการที่จะทำอีกวิธีหนึ่งคือการข้อมูลท่อแปดเปื้อนกับคำสั่ง:tar cJf archive files...xz
tar c files... | xz > archive.tar.xz
ตั้งแต่ของ Ubuntu tarสนับสนุนตัวเลือกอีกทางหนึ่งนี้จะเป็นประโยชน์โดยเฉพาะเมื่อคุณต้องการที่จะผ่านตัวเลือกในการJxz
ในตัวอย่างนี้ฉัน tar และ xzip ไฟล์ TIFF บางไฟล์ที่มีระดับการบีบอัดสูง ( -9ถึงxz) และเอาต์พุต verbose ( 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และ the tarand xzmanpages
tar -Jคือการระบุตัวแปรสภาพแวดล้อมXZ_OPTทำให้การเรียกเช่น:XZ_OPT="-9v" tar -Jcf out.tar.xz [files]
ใช้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
xzเป็นที่ช้าที่สุดในหมู่xz, gzip, bzip2เนื่องจากอัตราการบีบอัดของมันสูงกว่าช้า others..the เป็นมูลค่าที่จะจัดการกับถ้าคุณต้องการบีบอัดมากขึ้น ..
ใช้คำสั่งนี้: tar cJf <archive.tar.xz> <files>. แยกพา ธ ไฟล์ด้วยช่องว่าง
-cfJ
-ด้านหน้า .. จากman tar: .. A function letter need not be prefixed with ``-''ดังนั้นtar cJfก็โอเคอย่างแน่นอน
tar cJfนั่นจะทำให้ OP เป็นอีกวิธีหนึ่งในการทำเช่นนี้เพราะคำตอบของฉันครอบคลุมไปแล้วtar --cvJfในตอนแรก ..