मैं एक .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और 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, bzip2others..the सुस्ती की तुलना में अपने उच्च संपीड़न अनुपात की वजह से सौदा करने के लिए लायक है, तो आप के साथ और अधिक संपीड़न चाहते है ..
इस कमांड का उपयोग करें tar cJf <archive.tar.xz> <files>:। एक स्थान के साथ अलग फ़ाइल पथ।
-cfJ
-है .. से man tar: A function letter need not be prefixed with ``-''.. tar cJfबिल्कुल ठीक है।
tar cJf, इससे ओपी को ऐसा करने का एक और तरीका मिलेगा, क्योंकि मेरा उत्तर पहले से ही कवर किया tar --cvJfगया है ..