एक फ़ोल्डर 'gzip' को कमांड करें?


66

मैं मैक कमांड प्रॉम्प्ट सामान के लिए नया हूँ। आप मैक ओएस एक्स में एक फ़ोल्डर की गज़िप कैसे बनाते हैं? मुझे कुछ लोगों द्वारा बताया गया था कि यदि आप एक फ़ोल्डर की gzip बनाना चाहते हैं, तो आपको इसे पहले 'tar' करना चाहिए और फिर इसे 'gzip' करना चाहिए। क्या ये सही है?


1
यह एक प्रोग्रामिंग सवाल नहीं है? आपकी पोस्ट को टैग किया गया है objective-cलेकिन आप कमांड-लाइन के बारे में पूछ रहे हैं।
राक्यो १५

जवाबों:


130

टार पुरालेख उपकरण है और gzip संपीड़न उपकरण है। एक पूर्ण निर्देशिका को संपीड़ित करने के लिए, पहले आपको इसे एक फ़ाइल में संग्रहीत करना होगा। यही काम टार है। और फिर आप संग्रहीत फ़ाइल को संपीड़ित करते हैं। आप उचित विकल्प के साथ एक ही टार कमांड में दोनों कार्य कर सकते हैं।

tar -czf folder_name.tar.gz folder_name /

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

gzip file.txt

यह file.txt.gz नामक एक संपीड़ित फ़ाइल बनाएगा


30
यह ध्यान देने योग्य है कि इसके -czfबाद के विकल्प क्या tarहैं: cइंगित करता है कि आप एक टार संग्रह बनाना चाहते हैं, मध्यवर्ती टार संग्रह पर zलागू होता है gzip, और fबाद के अंतिम फ़ाइल नाम के लिए है folder_name.tar.gz
फिडेली

13
चेतावनी: gzip file.txtमूल फ़ाइल को बदल देता है।
ज़ोल्टन

6
@ Zoltán gzip -k file.txtइनपुट फ़ाइल को "रखना" (हटाना नहीं) का उपयोग करें।
thohl

13

यदि "मैक में gzip" की खोज करते समय किसी को यह प्रश्न अभी भी मिल रहा है, तो मैंने एक गाइड लिखा कि यह किसी और के लिए उपयोगी हो सकता है। ये रहा:

को संपीड़ित

सबसे बुनियादी कमांड फ़ाइल को संपीड़ित करेगा filename.extऔर फिर filename.ext.gzउसी निर्देशिका में इसे बदल देगा ।

gzip filename.ext

यदि आप अपनी मूल फ़ाइल नहीं खोना चाहते हैं, तो आपको फ़ाइल के आउटपुट को पाइप करना होगा gzip -c

gzip -c filename.ext > anotherfile.gz

हम मानक इनपुट से भी संपीड़ित कर सकते हैं, इसलिए हम अन्य कमांड के आउटपुट को संपीड़ित कर सकते हैं।

cat filename.ext | gzip > anotherfile.gz

ओएस एक्स भी compressऔर uncompressकमांड के साथ आता है । वे एक "होशियार" gzip के लिए बनाते हैं, क्योंकि यह फ़ाइल को संपीड़ित नहीं करता है अगर यह संपीड़न प्रक्रिया के बाद बढ़ेगा। निम्न आदेश की जगह filename.extके साथ filename.ext.Zएक ही निर्देशिका में।

compress filename.ext

decompressing

किसी फ़ाइल को पुनर्स्थापित करने के लिए यह असम्बद्ध प्राकृतिक अवस्था है जिसे आप gzip या अन्य आवरणों का उपयोग कर सकते हैं। गज़िप के विघटन मोड को -dध्वज के साथ कहा जाता है । यह मोड फ़ाइल का स्थान ले लेगा filename.ext.gzसाथ filename.extही निर्देशिका में। वहाँ एक शॉर्टकट भी कहा जाता है gunzipजो ऐसा ही करेगा।

gzip -d filename.ext.gz
gunzip filename.ext.gz

हम विखंडित फ़ाइल को मानक आउटपुट में दूसरी फ़ाइल में सहेजने के लिए पाइप भी कर सकते हैं।

gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile

मानक आउटपुट के लिए gzip की सामग्री को पढ़ने का एक और त्वरित तरीका है zcat, यह मूल रूप से कॉलिंग के समान है , gzip -cdलेकिन आप कई फ़ाइलों को कॉल कर सकते हैं और उन्हें उसी तरह से catसंक्षिप्त कर सकते हैं जैसे कमांड पाठ फ़ाइलों को छुपाता है। एकमात्र दोष यह है कि आपकी फ़ाइलों .Zको काम करने के लिए प्रत्यय के साथ प्रत्यय लगाने की आवश्यकता है ...

zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z

लेकिन डर नहीं! zcatयह अभी भी उपयोगी है, क्योंकि यह मानक आउटपुट से विघटित हो सकता है। तो आप मूल रूप से अपनी फाइलों को टर्मिनल विंडो पर विघटित करने के लिए zcat में पाइप कर सकते हैं।

cat filename.ext.gz | zcat

यह बहुत उपयोगी है अगर आपको किसी फ़ाइल की सामग्री को वास्तव में त्वरित जांचने की आवश्यकता है, और आप फ़ाइल के रूप में zcat के आउटपुट को भी आसानी से सहेज सकते हैं।

cat filename.ext.gz | zcat > anotherfile

uncompressआवरण की तरह काम करता gzip -cdहै, लेकिन .Z विस्तार के साथ फ़ाइलें उन्हें मौजूदा निर्देशिका में बदलने के लिए के लिए है, तो आप केवल फ़ाइल नाम आप पुनर्स्थापित करना चाहते निर्दिष्ट करने की आवश्यकता यह लग रहा है, लेकिन यह ठीक है अगर आप इसे .Z विस्तार के साथ कहते हैं, के रूप में कार्यक्रम इसे नजरअंदाज करेगा।

compress filename.ext
uncompress filename.ext

मुझे आशा है कि आपको मेरी गाइड उपयोगी लगेगी :)


4

MacOS X यूनिक्स है इसलिए इसे काम करना चाहिए (GNU / Linux पर यह काम)

tar czvf compress.tar.gz फ़ोल्डर

3

हां, आप पहले निर्देशिका को टारगेट करते हैं। टार-कमांड दोनों कर सकते हैं:

tar -czf archiv.tar.gz mydir/

अपना पुरालेख निकालें:

tar -xzf archiv.tar.gz

3

@Taskinoor द्वारा उत्तर में जोड़ने के लिए: यदि आप एकल फ़ाइल संस्करण का उपयोग करते हैं, उर्फ

gzip file.txt

ध्यान रखें कि मूल फ़ाइल (file.txt) को हटा दिया जाएगा और आपके पास केवल file.txt.gz होगा

मैं इसे टिप्पणी के रूप में रखूंगा, लेकिन ऐसा करने के लिए पर्याप्त कर्म नहीं करना चाहिए: =)


1
gzip --keep file.txtमूल रखेंगे और बनाएँगे file.txt.gz। देख लो gzip --help
ब्लेज़

1

हां यह सही है। gzipकेवल एक फ़ाइल को संपीड़ित कर सकता है। tarएक एकल फाइल है, जो आगे का उपयोग कर संकुचित किया जा सकता है में निर्देशिका सामग्री encodes gzip, bzip2, lzmaया कुछ और।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.