मैं एक ज़िप फ़ाइल बनाने की कोशिश कर रहा हूं और अधिकांश निर्देशिका संरचना को संरक्षित करना चाहता हूं, लेकिन कमांड लाइन से परिभाषित रूटडिर नहीं। आदेश मैं उपयोग कर रहा हूँ है:संपूर्ण निर्देशिका संरचना के बिना ज़िप फ़ाइल कैसे बनाएं
zip -r out.zip /foo/bar/
मैं इसे बार के माध्यम से recurse और संरक्षित निर्देशिका संरचना के साथ सभी फ़ाइलों को जोड़ने (जो यह करता है) करना चाहते हैं। हालांकि मैं नहीं चाहता कि बनाई गई ज़िप फ़ाइल में 'foo' शीर्ष स्तर निर्देशिका हो। मैं बार को शीर्ष स्तर की निर्देशिका बनाना चाहता हूं।
क्या इस बारे में जाने का कोई आसान तरीका है? मुझे एहसास है कि समस्या से बचने के लिए मैं ज़िप से पहले निर्देशिका बदल सकता हूं, लेकिन मैं ऐसे समाधान की तलाश में हूं जिसके लिए इसकी आवश्यकता नहीं है।
मुझे संदेह है कि 'tar -C/foo/bar -c out.tar *' उसे किसी भी खुश बनाता है। –
मैं इसे दूसरा करता हूं। मैं एक मैक पर हूं और ज़िप की आवश्यकता है और tar.gz नहीं। pushd वास्तव में एक अच्छा विकल्प की तरह लगता है। – slott