फ़ोल्डर नाम में इसकी निर्देशिका के बिना एक फ़ोल्डर (टार) को संपीड़ित करना


21

मैं tarकमांड के साथ एक फ़ोल्डर को संपीड़ित करने की कोशिश कर रहा हूं ।

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

स्रोत पथ:

/data/file/

गंतव्य पथ:

/data/repo/temp/file.tar.gz

tar zcvf $srcpath $destinationpath

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


1
टार सिंटैक्स है: tar zcvf file.tar.gz /path/dir/to/compressशायद आपको अपनी कमांड बदलनी चाहिए tar zcvf $destinationpath $srcpathलेकिन यह मेरे लिए स्पष्ट नहीं है कि आपको क्या चाहिए। क्या आप अपने प्रश्न का उदाहरण दे सकते हैं कि आप टार कमांड से क्या अपेक्षा करते हैं?
लिली

टिप्पणी के लिए धन्यवाद, मेरी समस्या उस टिप्पणी के बाद है जो आपने यहाँ साझा की है "tar zcvf file.tar.gz / path / dir / to / compres" यह ठीक काम करता है अगर हम उसी निर्देशिका "फ़ाइल" में मेरा मामला है हम एक अलग निर्देशिका से काम कर रहे हैं जैसे: / घर / testuser1 / फ़ाइल: फ़ाइल वह फ़ोल्डर है जिसे मैं संपीड़ित करना चाहता हूं और कमांड को रूट से घर में नहीं छोड़ रहा हूं, इसलिए हमें बाहर निकलते समय फ़ोल्डर को पूरा रास्ता देने की आवश्यकता हो सकती है मुझे फ़ाइल फ़ोल्डर के बजाय / होम / testuser1 / फ़ाइल से सभी उपनिर्देशिकाएँ मिल रही हैं
सेथा रमन

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

जवाबों:


50

सबसे आसान तरीका यह है कि पहले निर्देशिका में सीडी को देखें:

cd /path/to/containing/folder && tar -zcvf tarfile.tar.gz foldername_tocompress

ताकि (युक्त) फ़ोल्डर की निर्देशिका आपकी संपीड़ित फ़ाइल की रूट निर्देशिका बन जाए।

थोड़ा अधिक उन्नत -C विकल्प का उपयोग कर रहा है:

tar -zcvf tarfile.tar.gz -C /path/to/foldername_tocompress .

यह tar.gzकरंट (वर्किंग) डायरेक्टरी में एक फाइल बनाता है , जिसमें सभी फाइल्स / फोल्डर होते हैं foldername_tocompress(डॉट को ध्यान में रखते हुए, सभी फाइल्स / फोल्डर को शामिल किया जाना चाहिए)।


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