2012-12-04 15 views
12

क्या निम्न आदेश का gzip बराबर है:
दबाव हटाना gzip फ़ाइल

tar xvzf /usr/local/file/file/file.tar.gz -C /usr/local/extract_here 

मैं

gzip -d /usr/local/file/file/file.tar.gz -C /usr/local/extract_here 

कोशिश कर रहा हूँ, लेकिन यह काम नहीं करता, मैं gzip से कि कैसे करते हो ?

उत्तर

22

को देखते हुए सच है कि आप एक .tar.gz फ़ाइल, पहले जिस तरह से आप की कोशिश की, -सी विकल्प के साथ है, ठीक से काम करेगा:,

tar xvzf /dir/to/file.tar.gz -C /dir/to/output/

tar कॉल को संपीड़ित gzip और फिर टैर स्ट्रीम से फ़ाइलों को निकालता है। gzip केवल डिकंप्रेस कर सकता है, इसलिए gunzip file.tar.gz बस डिकंप्रेस्ड file.tar के साथ छोड़ देगा, जिस पर आपको tar xvf file.tar की आवश्यकता होगी। ztar का विकल्प बस फ़ाइलों को निकालने के साथ gzip के साथ डिकंप्रेशन करने के लिए एक शॉर्टकट है।

यदि आप किसी भिन्न निर्देशिका में एक .gz फ़ाइल (जैसे .tar.gz फ़ाइल निकालने के विपरीत) को डिकंप्रेस करना चाहते हैं, तो बस वहां पाइप करें। जैसे gzip -dc <file.gz> /somewhere/file

cat file_to_uncompress.tar.gz | gzip -d > /destination_directory/packet_uncompressed.tar 

कुछ स्थितियों में पैकेट प्रबंधन के लिए एक उपयोगी और सहज रूप है यही कारण है कि:

+0

यदि आप प्रश्न को एक अलग एसएक्स मंच पर ले जाना चाहते हैं तो मेरा मानना ​​है कि इसके लिए एक प्रक्रिया है – mit

3

आदेश GZIP संपीड़न के बिना .tar फ़ाइल बचाने के लिये, मैं अच्छे परिणाम के साथ इस तरह की एक पंक्ति का उपयोग करें।

1
cd /mydir_with_gz_files 
for i in *gz 
do 
gzip -dkc < $i > /my_destination_dir/${i%%.gz} 
done 

इस वाक्य रचना एक अलग निर्देशिका में कई*.gz/mydir_with_gz_files में निहित फ़ाइलें निकालने के लिए है।

1) -k विकल्प यहां उपयोग किया गया क्योंकि अन्यथा gzip संग्रह को स्वयं संरक्षित नहीं करेगा। याद रखना अच्छा है!

2) मैं उन लोगों पर भी जोर देना चाहता हूं जो सही उत्तर देने वाले लोगों के लिए स्पष्ट प्रतीत होते हैं लेकिन मेरे लिए ऐसा नहीं था और प्रश्न के लेखक: gzip फ़ाइलों को एक अलग निर्देशिका में नहीं निकालेगा, लेकिन उम्मीद करेगा कि परिणामी असम्पीडित फ़ाइल NAME को भी निर्दिष्ट किया जाना चाहिए।

यह $i > ${i%%.gz}बैशparameter substitution कि अपनी ".gz" प्रत्यय "file.gz" की तरह एक नाम स्ट्रिप्स द्वारा यहां हासिल की है। अन्य गोले के साथ वाक्यविन्यास अलग होगा (यदि संभव हो तो)।

संबंधित मुद्दे