Linux tar कमांड संपूर्ण गाइड

अवलोकन

Linux वातावरण में बड़ी फ़ाइलों और डायरेक्टरीज़ को एक साथ बाँधने और संपीड़ित (compress) करने के लिए सबसे व्यापक रूप से उपयोग की जाने वाली tar कमांड की कार्यप्रणाली के बारे में जानें। आर्काइविंग (संग्रहण) और कम्प्रेशन (संपीड़न) के बीच के मूलभूत अंतर को समझें और व्यावहारिक टर्मिनल अभ्यास के माध्यम से आवश्यक विकल्पों के उपयोग में महारत हासिल करें।

tar की मूल अवधारणा: केवल एक साथ बाँधने (Archive) और संपीड़न (Compression) में अंतर

tar आर्काइव अभ्यास के साथ आगे बढ़ने के लिए, एक अभ्यास डायरेक्टरी और उदाहरण टेक्स्ट फ़ाइलें बनाएँ।

mkdir -p ~/tar-demo/sample && echo ‘Hello Linux 1’ > ~/tar-demo/sample/file1.txt && echo ‘Hello Linux 2’ > ~/tar-demo/sample/file2.txt

tar कमांड का उपयोग कई फ़ाइलों और डायरेक्टरीज़ को एक आर्काइव फ़ाइल में संयोजित करने या निकालने के लिए किया जाता है।
-c, -v, -f विकल्पों और -C विकल्प को मिलाकर sample डायरेक्टरी को archive.tar फ़ाइल के रूप में बाँधकर बनाएँ।
⚙️ [मुख्य विकल्प]

-c : एक नई आर्काइव फ़ाइल बनाता है।
-x : आर्काइव फ़ाइल की सामग्री को अनपैक या एक्सट्रेक्ट करता है।
-t : आर्काइव के अंदर शामिल फ़ाइलों की सूची दिखाता है।
-v : आर्काइव निर्माण या निष्कर्षण प्रक्रिया को स्क्रीन पर विस्तार से प्रदर्शित करता है।
-f : कार्य करने के लिए आर्काइव फ़ाइल का नाम निर्दिष्ट करता है।
-z : gzip एल्गोरिदम का उपयोग करके संपीड़ित या निष्कर्षित करता है (.tar.gz)।
-j : bzip2 एल्गोरिदम का उपयोग करके संपीड़ित या निष्कर्षित करता है (.tar.bz2)।
-J : xz एल्गोरिदम का उपयोग करके संपीड़ित या निष्कर्षित करता है (.tar.xz)।
-C : वह लक्ष्य डायरेक्टरी पाथ निर्दिष्ट करता है जहाँ आर्काइव ऑपरेशन निष्पादित किया जाना है।

tar -cvf ~/tar-demo/archive.tar -C ~/tar-demo sample

ls -lh कमांड के साथ बनाई गई archive.tar फ़ाइल और मूल डायरेक्टरी की विस्तृत जानकारी की जाँच करें।
चूँकि यह केवल फ़ाइलों को एक साथ बाँधकर बनाया गया एक संग्रह (archive) है, इसलिए इसमें आकार घटाने के लिए कोई संपीड़न प्रक्रिया लागू नहीं की गई है।

ls -lh ~/tar-demo

व्यावहारिक संपीड़न विकल्प: gzip(-z) और bzip2(-j) का संयुक्त उपयोग

gzip संपीड़न विकल्प -z जोड़कर, sample डायरेक्टरी का आर्काइव बनाने के साथ-साथ संपीड़ित करके एक .tar.gz फ़ाइल बनाएँ।
यह तेज़ संपीड़न गति और उचित संपीड़न अनुपात प्रदान करता है, जिससे यह व्यावहारिक उपयोग में सबसे लोकप्रिय तरीका बन जाता है।

tar -czvf ~/tar-demo/archive.tar.gz -C ~/tar-demo sample

bzip2 संपीड़न विकल्प -j निर्दिष्ट करके, sample डायरेक्टरी को एक साथ बाँधने के साथ ही संपीड़ित करके एक .tar.bz2 आर्काइव बनाएँ।
gzip की तुलना में इसमें संपीड़न प्रक्रिया में अधिक समय लगता है, लेकिन यह आमतौर पर उच्च संपीड़न अनुपात प्रदान करता है।

tar -cjvf ~/tar-demo/archive.tar.bz2 -C ~/tar-demo sample

बनाई गई आर्काइव फ़ाइलों की सूची और आकार की जाँच करने के लिए ls -lh ~/tar-demo/*.tar* कमांड चलाएँ।
बिना संपीड़ित किए गए सामान्य आर्काइव (archive.tar) की तुलना में आप संपीड़न एल्गोरिदम लागू फ़ाइलों के आकार में अंतर देख सकते हैं।

ls -lh ~/tar-demo/.tar

आर्काइव के अंदर फ़ाइल सूची का पूर्वावलोकन(-t) और सुरक्षा सत्यापन

निष्कर्षण से पहले आर्काइव के अंदर फ़ाइल संरचना और डायरेक्टरी पाथ की पहले से पुष्टि करने के लिए tar -tvf ~/tar-demo/archive.tar.gz कमांड चलाएँ।
यदि आप -t विकल्प के साथ विस्तृत आउटपुट विकल्प -v निर्दिष्ट करते हैं, तो आप वास्तव में फ़ाइलों को अनपैक किए बिना भी शामिल फ़ाइलों की अनुमतियाँ (permissions), स्वामी (ownership), आकार और डायरेक्टरी संरचना को सुरक्षित रूप से पहले से सत्यापित कर सकते हैं।

tar -tvf ~/tar-demo/archive.tar.gz

इच्छित पाथ पर सुरक्षित रूप से फ़ाइलें निकालना (-x और -C)

फ़ाइलों को सुरक्षित रूप से निकालने के लिए एक समर्पित डायरेक्टरी बनाने हेतु mkdir -p ~/tar-demo/extracted कमांड चलाएँ।

mkdir -p ~/tar-demo/extracted

वर्तमान कार्यशील डायरेक्टरी को प्रभावित किए बिना निर्दिष्ट लक्ष्य पाथ पर आर्काइव फ़ाइल को निष्कर्षित करने के लिए -x और -C विकल्पों का उपयोग करें।
gzip संपीड़न को निष्कर्षित करने के लिए -z विकल्प और वास्तविक समय में निकाली जा रही फ़ाइलों की सूची देखने के लिए -v विकल्प का उपयोग करें।

tar -xzvf ~/tar-demo/archive.tar.gz -C ~/tar-demo/extracted

यह पुष्टि करने के लिए कि आर्काइव के अंदर की फ़ाइलें निर्दिष्ट पाथ पर ठीक से निकाली गई हैं, ls -la ~/tar-demo/extracted/sample कमांड चलाएँ।
आउटपुट परिणामों से आप पुष्टि कर सकते हैं कि फ़ाइल का स्वामित्व और अनुमतियाँ ठीक उसी स्थिति में पुनर्स्थापित की गई हैं जैसी वे आर्काइव निर्माण के समय थीं।

ls -la ~/tar-demo/extracted/sample

अब तक, हमने Linux tar कमांड के बुनियादी सिद्धांतों से लेकर व्यावहारिक रूप से अक्सर उपयोग किए जाने वाले संपीड़न और निष्कर्षण उदाहरणों तक संक्षेप में समीक्षा की है।
स्थिति के अनुसार मुख्य विकल्पों का सही उपयोग करके, आप Linux वातावरण में फ़ाइल प्रबंधन और बैकअप कार्यों को अधिक सुगमता से निष्पादित कर सकते हैं।