कैसे निर्देशिका को बाहर करने के लिए और एक निर्देशिका ज़िप फ़ाइल?


32

मुझे, कुछ उपनिर्देशिका और फ़ाइल को छोड़कर एक निर्देशिका को ज़िप करने की आवश्यकता है; मैंने इसका उपयोग किया:

zip -r zipfile.zip . -x ".*" -x "app/bower_components" -x "node_modules" -x "*.zip" -x "node_modules"

बिना किसी सफलता के; फ़ोल्डर एप्लिकेशन के अंदर है, node_modulesजबकि प्रिंसिपल एक में एक फ़ोल्डर हैbower_components


आपका परिणाम क्या है और आपके अपेक्षित परिणाम क्या हैं?
DEN

आप सभी उपनिर्देशिकाओं या उनमें से कुछ को ही बाहर करना चाहते हैं?
सर्गी कोलोडियाजनी

जवाबों:


36

मैं बस एक अनुमान लगाता हूं कि आप क्या चाहते हैं।

-x ".*"

एक डॉट के साथ शुरू होने वाली सभी फ़ाइलों को बाहर करें

इसे पसंद करें:

-x .\*

सभी फ़ाइलों को बाहर करें (फ़ाइल नाम में एक डॉट के साथ)

इसे पसंद करें:

-x \*.\*

-

-x "app/bower_components" -x "node_modules"

इस निर्देशिका और इसमें मौजूद सभी फ़ाइलों को बाहर करें

इसे पसंद करें:

-x app/bower_components/\* -x node_modules/\*

-

-x "*.zip"

सभी ज़िप-फ़ाइलों को बाहर करें

इसे पसंद करें:

-x \*.zip

आप दो बार नोड_मॉडल को बाहर करते हैं


2
धन्यवाद मुझे मिल गया, विभिन्न पोस्ट का उपयोग करते हुए यह आया कि: zip -r * app / * -x \ app / bower_compenders / * -x \ node_modules / * -x * .zip
arpho

@arpho आपकी टिप्पणी एक उत्तर होनी चाहिए क्योंकि यह मेरे लिए काम करती प्रतीत होती है ...
chesedo

7

कुछ इस तरह करना चाहिए ट्रिक:

zip -r zipped.zip dir1/ -x */\.* *.git* \.* *.zip *.csv *.json *.rb *.bak *.swp *.back *.merge *.txt *.sh dir1/node_modules/**\* dir1/bower_components/**\* dir1/dist/**.*

निम्नलिखित -xनिर्देशिका और फ़ाइल (विस्तार) प्रकारों को बाहर करने की सूची है।


अब जब मुझे पता है कि **\*पुनरावर्ती बहिष्करण के लिए है। बहुत धन्यवाद।
Duc Tran

6

अपनी निर्देशिका को मान लें कि एक रिपॉजिटरी है (और प्रश्न को देखते हुए, यह बहुत संभावना है), आप उन निर्देशिकाओं को जोड़ सकते हैं जिन्हें आप .gitignoreफ़ाइल से बाहर करना चाहते git archiveहैं और अपनी निर्देशिका की सामग्री को ज़िप करने के लिए कमांड का उपयोग करें :

git archive --format=zip HEAD -o zipfile.zip

आपके उदाहरण में, .gitignoreफ़ाइल को इस तरह देखना होगा:

node_modules
app/bower_components

3

यह मेरे लिए Ubuntu 16.04 पर सही काम करता है:

sudo zip -r /home/user/backup/$(date +"%Y-%m-%d")/home_user.zip /home/user -x "*backup*" -x "*.cache*" -x "*test*"

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