एक ज़िप फ़ाइल कैसे बनाई जाती है, इसके आधार पर, कभी-कभी यह सभी फ़ाइलों को सीधे निकाल देगा, और कभी-कभी यह फ़ाइलों को एक उपनिर्देशिका में निकालेगा।
यदि उत्तरार्द्ध सत्य है, तो मैं unzip
कमांड को पहले स्तर की निर्देशिका को "अनदेखा" करने के लिए कैसे मजबूर कर सकता हूं ?
उदाहरण:
cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll
मुझे जो मिल रहा है वह है /tmp/omeka/omeka-1.5.1/
:
total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/
मैं जो चाहता हूं, वह फ़ाइलों को निकाला जाता है /tmp/omeka/
, (एक स्तर ऊपर और निर्देशिका संरचना में कोई संस्करण संख्या शामिल नहीं है)
/tmp/omeka/(files)
मुझे पता है कि मैं -j
"जंक पाथ" के विकल्प का उपयोग कर सकता हूं लेकिन मैं उपनिर्देशिका संरचना रखना चाहता हूं, न कि केवल शीर्ष स्तर की निर्देशिका संरचना। मैं यह कैसे कर सकता हूँ?
/wordpress/
को ज़िप फ़ाइल के अंदर एक निर्देशिका (कोई संस्करण संख्या) के अंदर नहीं डालते हैं । यह वास्तव में ठीक है unzip
और फिर mv
इस पर कोई नियंत्रण नहीं है और इसे दो चरणों में करने से हमेशा मेरी नसों पर थोड़ा असर पड़ता है। सौभाग्य से Wordpress भी एक .tar.gz
स्वाद में आता है :)
cd /tmp/omeka && ln -s -T . omeka-1.5.1
mv
फ़ाइलों को निकाल सकता हूं , लेकिन मैं यह देखना चाहता था कि क्या यह अनजिप कमांड से सीधे करने का कोई तरीका है