मैं एक .xz संग्रह में कई छवियों को संपीड़ित करना चाहता हूं। मैं उसको कैसे करू?
मैं एक .xz संग्रह में कई छवियों को संपीड़ित करना चाहता हूं। मैं उसको कैसे करू?
जवाबों:
हालांकि के रूप में Zacharee1 द्वारा विस्तृत जानकारी दी और द्वारा heemayl आमतौर पर है आप क्या करना चाहते करेंगे क्या, एक और तरीका है करने के लिए पाइप tarred डेटा करने के लिए है आदेश:tar cJf archive files...
xz
tar c files... | xz > archive.tar.xz
चूंकि उबंटू विकल्प का tar
समर्थन करता J
है, यह वैकल्पिक तरीका विशेष रूप से उपयोगी है जब आप विकल्पों को पास करना चाहते हैं xz
।
इस उदाहरण में, मैं कुछ 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 cJf archive files...
, सिवाय अतिरिक्त तर्कों के xz
।xz
दूसरी कमांड में संकुचित होता है। ( xz
स्वचालित रूप से मूल फ़ाइल को हटा दिया जाता है, जब तक कि ऐसा नहीं किया जाता है, जब तक कि -k
/ के साथ इनवॉइस नहीं किया जाता है --keep
)।आगे पढ़ने के लिए, देखें राफेल वैन हॉर्न द्वारा इस पोस्ट और tar
और xz
manpages।
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
, इससे ओपी को ऐसा करने का एक और तरीका मिलेगा, क्योंकि मेरा उत्तर पहले से ही कवर किया tar --cvJf
गया है ..