Linux फ़ाइल संपीड़न विकल्प और तुलना

Linux File Compression Options



संपीड़न, सामान्य रूप से, एक उपयोगी तरीका है जो मूल रूप से मूल डेटा की तुलना में कम डेटा का उपयोग करके जानकारी को अनिवार्य रूप से एन्कोड कर रहा है। लिनक्स के मामले में, विभिन्न संपीड़न विकल्प हैं, जिनमें से प्रत्येक के अपने फायदे हैं।

एक सामान्य लिनक्स डिस्ट्रो मुट्ठी भर वास्तव में उपयोगी और सरल संपीड़न तंत्र तक पहुंच प्रदान करता है। यह लेख केवल उन्हीं पर केंद्रित होगा।







संपीड़न प्रकार

संपीड़न मूल रूप से कम बिट्स का उपयोग करके एन्कोडिंग और जानकारी का प्रतिनिधित्व कर रहा है। फ़ाइल संपीड़न के मामले में, एक संपीड़न विधि एक आउटपुट उत्पन्न करने के लिए अपने स्वयं के एल्गोरिदम और गणितीय गणना का उपयोग करती है जो आम तौर पर मूल फ़ाइल के आकार से कम होती है। विभिन्न संपीड़न कैसे काम करता है और फ़ाइलों की यादृच्छिक प्रकृति के कारण, माइलेज बहुत भिन्न हो सकता है।



संपीड़न 2 प्रकार के होते हैं।



  • हानिपूर्ण संपीड़न : यह एक जोखिम भरा प्रकार का संपीड़न है जो डेटा अखंडता की गारंटी नहीं देता है। अनिवार्य रूप से, एक बार संपीड़ित होने के बाद, एक जोखिम है कि मूल फ़ाइल को संपीड़ित संग्रह का उपयोग करके पुनर्निर्मित नहीं किया जा सकता है।
    इस प्रकार के संपीड़न का एक ठोस उदाहरण प्रसिद्ध एमपी३ प्रारूप है। जब मूल ऑडियो फ़ाइल से MP3 बनाया जाता है, तो यह मूल स्रोत संगीत फ़ाइल से काफी छोटा होता है। यह कुछ ऑडियो गुणवत्ता के नुकसान का कारण बनता है।
  • दोषरहित संपीड़न : यह संपीड़न का सबसे व्यापक रूप से इस्तेमाल किया जाने वाला प्रकार है। एक दोषरहित संपीड़न विधि का उपयोग करके, मूल फ़ाइल को संपीड़ित फ़ाइल से फिर से बनाया जा सकता है। इस लेख में मैं जिन संपीड़न विधियों पर चर्चा करूँगा, वे सभी दोषरहित संपीड़न विधियाँ हैं।

लिनक्स संपीड़न

अधिकांश संपीड़न विधियां उपकरण से उपलब्ध हैं टार . ज़िप संपीड़न के लिए, हम उपयोग करेंगे ज़िप उपकरण। यह मानते हुए कि आपके सिस्टम में पहले से ही ये उपकरण स्थापित हैं, चलिए शुरू करते हैं।





सबसे पहले, हमें एक परीक्षण फ़ाइल की आवश्यकता है। एक बनाने के लिए निम्न आदेश चलाएँ।

$बेस 64/देव/urandom| सिर -सी 20000000 >फ़ाइल.txt



यह 20MB आकार के साथ एक टेक्स्ट फ़ाइल बनाएगा।

अब, फाइल की 10 कॉपी बनाते हैं। साथ में, यह 200 एमबी है।

संपीड़न के लिए ज़िप

ज़िप काफी आम है। ज़िप फ़ाइल बनाने के लिए, ज़िप टूल को निम्न कमांड संरचना की आवश्यकता होती है।

$ज़िप <उत्पादन>ज़िप<इनपुट>

परीक्षण निर्देशिका के अंतर्गत सभी फ़ाइलों को एक ज़िप फ़ाइल में संपीड़ित करने के लिए, इस आदेश को चलाएँ।

$ज़िपटेस्ट.ज़िप*

इनपुट का आकार 200 एमबी था। संपीड़न के बाद, यह अब 152 एमबी हो गया है!

डिफ़ॉल्ट रूप से, ज़िप टूल DEFLATE संपीड़न लागू करेगा। हालाँकि, यह bzip2 संपीड़न का उपयोग करने में भी सक्षम है। इतना ही नहीं, आप पासवर्ड से सुरक्षित ज़िप फ़ाइलें भी बना सकते हैं! zip . के बारे में और जानें .

लिनक्स पर संपीड़न के लिए टार

टार एक संपीड़न विधि नहीं है। इसके बजाय, इसका उपयोग अक्सर अभिलेखागार बनाने के लिए किया जाता है। हालांकि, यह संग्रह में कई लोकप्रिय संपीड़न विधियों को लागू कर सकता है।

टैर (जिसे टैरबॉल भी कहा जाता है) संग्रह को संभालने के लिए, टैर टूल है। tar के बारे में और जानें। आम तौर पर, टार टूल निम्न कमांड संरचना का उपयोग करता है।

$टार <विकल्प> <निर्गम संचिका> <इनपुट>

परीक्षण फ़ाइलों को एकल टार संग्रह में जोड़ने के लिए, निम्न आदेश चलाएँ।

$टार -सीवीएफtest.tar*

यहां, फ़ाइल का आकार वही रहता है।

लिनक्स पर संपीड़न के लिए Gzip

जीएनयू ज़िप या जीज़िप एक और लोकप्रिय संपीड़न विधि है, जो मेरी राय में, बेहतर संपीड़न के कारण पारंपरिक ज़िप से बेहतर है। यह मार्क एडलर और जीन-लूप गैली द्वारा बनाया गया एक ओपन-सोर्स उत्पाद है जिसे मूल रूप से यूनिक्स को बदलने के लिए नियत किया गया था संकुचित करें उपयोगिता।

Gzip संग्रह के प्रबंधन के लिए, 2 उपकरण उपलब्ध हैं: tar और gzip। आइए उन दोनों को देखें।

सबसे पहले, gzip टूल। यहां बताया गया है कि gzip कमांड संरचना कैसी दिखती है।

$गज़िप <विकल्प> <इनपुट>

उदाहरण के लिए, निम्न आदेश test1.txt को test1.txt.gz संपीड़ित फ़ाइल से बदल देगा।

$गज़िप -वीtest1.txt

यदि आप gzip का उपयोग करके संपूर्ण निर्देशिका को संपीड़ित करना चाहते हैं, तो इस आदेश को चलाएँ। यहां, -r ध्वज पुनरावर्ती संपीड़न के लिए है। Gzip सभी फ़ोल्डरों के माध्यम से जाएगा और उनमें से प्रत्येक में अलग-अलग फ़ाइल (फ़ाइलों) को संपीड़ित करेगा।

$गज़िप -आर <फ़ोल्डर की जगह>

Gzip विभिन्न संपीड़न शक्ति मान का समर्थन करता है, जो 1 (कम से कम संपीड़न, सबसे तेज़) से 9 (सर्वश्रेष्ठ संपीड़न, सबसे धीमा) से शुरू होता है।

$गज़िप -वी -9 <फ़ाइल>

आउटपुट पर बेहतर नियंत्रण और उपयोग में आसानी के लिए, टार कार्य के लिए बेहतर है। निम्न आदेश चलाएँ।

$टार -सीवीजेडएफtest.tar.gz*

परिणाम DEFLATE का उपयोग करके ज़िप के समान है, जिसके परिणामस्वरूप संपीड़न के बाद 152 एमबी होता है।

लिनक्स पर संपीड़न के लिए Bzip2

Bzip2 एक स्वतंत्र और खुला स्रोत उपकरण है जो संपीड़न के लिए बरोज़-व्हीलर एल्गोरिथम का उपयोग करता है। पहली बार 1996 में वापस पेश किया गया, bzip2 का उपयोग gzip संपीड़न के विकल्प के रूप में किया जाता है।

gzip की तरह, bzip2 के साथ काम करने के लिए 2 टूल हैं: tar और bzip2।

bzip2 टूल gzip टूल के समान काम करता है। यह एक समय में केवल एक ही फाइल के साथ काम कर सकता है। यहाँ कमांड संरचना है।

$bzip2 <विकल्प> <इनपुट>

आइए test1.txt फ़ाइल को कंप्रेस करें। यहाँ, -v ध्वज वर्बोज़ मोड के लिए है।

$bzip2 -वीtest1.txt

Gzip के समान, bzip2 भी 1 (डिफ़ॉल्ट, कम मेमोरी उपयोग) से 9 (अत्यधिक संपीड़न, उच्च मेमोरी उपयोग) तक विभिन्न स्तरों के संपीड़न का समर्थन करता है।

$bzip2 -वी -9 <फ़ाइल>

टार का उपयोग करके bzip2 संपीड़न का उपयोग करने का बेहतर तरीका है। निम्न आदेश का प्रयोग करें।

$टार -सीवीजेएफtest.tar.bz2*

संपीड़न पिछले वाले की तुलना में थोड़ा सुधार हुआ है। अब, फ़ाइल का आकार सिकुड़ कर 151.7 एमबी हो गया है।

लिनक्स पर संपीड़न के लिए XZ

यह संपीड़न के क्षेत्र में एक सापेक्ष नवागंतुक है। पहली बार 2009 में जारी किया गया था, तब से इसके उपयोग में लगातार वृद्धि देखी गई है।

xz कम्प्रेशन टूल LZMA2 एल्गोरिथम का उपयोग करता है जो कि gzip और bzip2 की तुलना में अधिक संपीड़न अनुपात के लिए जाना जाता है, जब आप डिस्क स्थान की अधिकतम मात्रा को सहेजना चाहते हैं तो यह एक बढ़िया विकल्प है। हालांकि, यह उच्च स्मृति आवश्यकताओं और समय की खपत की लागत के साथ आता है।

XZ कम्प्रेशन टूल द्वारा बनाई गई फ़ाइल का एक्सटेंशन .xz है। किसी एकल फ़ाइल को संपीड़ित करने के लिए, आप सीधे XZ टूल को कॉल कर सकते हैं।

$xz<विकल्प> <फ़ाइल>

उदाहरण के लिए, test1.txt फ़ाइल को संपीड़ित करने के लिए निम्न आदेश चलाएँ।

$xz-वीtest1.txt

उल्लिखित अन्य संपीड़न विधियों के समान, xz 1 (सबसे कम संपीड़न, सबसे तेज़) से 9 (सर्वोत्तम संपीड़न, सबसे धीमी) से शुरू होने वाली संपीड़न शक्ति की विभिन्न श्रेणियों का भी समर्थन करता है। यदि आपके पास समय के लिए कोई सम्मान नहीं है और आप केवल स्थान बचाना चाहते हैं, तो चरम पर जाएं।

$xz-वी -9 <फ़ाइल>

सभी परीक्षण फ़ाइलों से एक संपीड़ित XZ फ़ाइल बनाने के लिए, इस कमांड को चलाएँ।

$टार -सीवीजेएफtest.tar.xz*

यहां, आउटपुट फ़ाइल का आकार 153.7 एमबी है।

संपीड़ित अभिलेखागार निकालना

हमारे द्वारा बनाए गए संग्रहों को निकालना उन्हें बनाने की तुलना में आसान है। ज़िप फ़ाइल निकालने के लिए, निम्न कमांड संरचना का उपयोग करें।

$खोलना <फ़ाइल का नाम>ज़िप-डी <गंतव्य>

हमारे द्वारा बनाए गए ज़िप संग्रह को निकालने के लिए, इस कमांड को चलाएँ। यह एक ही निर्देशिका में सभी सामग्री निकालेगा।

$खोलनाटेस्ट.ज़िप

tar, tar.gz, tar.bz2 और tar.xz अभिलेखागार निकालने के लिए, हमें इसका उपयोग करना होगा टार उपकरण। निम्नलिखित टार कमांड उन सभी को निकालने के लिए लागू है।

$टार -एक्सवीएफ <संग्रह_फ़ाइलनाम>

उदाहरण के लिए, bz2 संपीड़ित संग्रह से सभी फ़ाइलें निकालें।

$टार -एक्सवीएफtest.tar.bz2

एक gzip (tar.gz नहीं) फ़ाइल को डीकंप्रेस करने के लिए, इस कमांड को चलाएँ।

$गज़िप -डी <gzip_file>

इसी तरह, निम्न कमांड bzip2 आर्काइव को डीकंप्रेस करेगा।

$bzip2 -डी <bzip2_file>

xz संग्रह के लिए समान कमांड संरचना लागू होती है।

$xz-डी <xz_file>

अंतिम विचार

उम्मीद है, अब आपके पास विभिन्न परिस्थितियों में संपीड़न कार्यों को संभालने के लिए पर्याप्त ज्ञान है। विशिष्ट आवश्यकता के आधार पर, सभी संपीड़न विधियाँ बहुत ही आकर्षक सुविधाएँ प्रदान करती हैं।

ध्यान देने वाली एक महत्वपूर्ण बात यह है कि संपीड़न परिणाम हर समय एक जैसा नहीं रहेगा। अलग-अलग डेटा इनपुट के साथ, आउटपुट अलग होगा। उदाहरण के लिए, कुछ मामलों में, xz पागल संपीड़न परिणाम प्रदान कर सकता है जबकि इस उदाहरण में, ऐसा नहीं हुआ। वही अन्य तरीकों के लिए जाता है।

इन उपकरणों के बारे में अधिक गहराई से जानने के लिए, उनके संबंधित मैन पेज को देखें।

$पुरुष ज़िप