tar: --exclude = "। git": स्टेट नहीं कर सकता: ऐसी कोई फ़ाइल या निर्देशिका नहीं


11

यह मुझे पागल बना रहा है। मैं tarएक डायरेक्टरी चाहता हूं , लेकिन कुछ फाइलों को छोड़ देता हूं । यह मेरी आज्ञा है:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'

जबकि उपरोक्त कमांड RedHat EL5 पर काम करता है, यह Mac OS 10.8.2 पर काम नहीं करता है। मैं के 'साथ की जगह की कोशिश की है ", \'और \"। मैंने बराबर संकेतों को हटाने की कोशिश की है। कुछ भी काम नहीं करता है।

मैं क्या गलत कर रहा हूं?


gnutarब्रू, मैकपोर्ट, आदि से उपयोग करें Apple का टार बहुत अपंग है।
jww

जवाबों:


23

तर्कों से पहले सभी विकल्पों को एक साथ करने की आवश्यकता है, और -fध्वज को टार फ़ाइल से पहले करने की आवश्यकता है:

tar -zcv --exclude = '। git' --exclude = '। gitignore' -f $ NAME- $ VERSION.tar.gz $ NAME- $ संस्करण

यदि आप करते हैं tar --help, तो --excludeविकल्प मदद में दिखाई देता है? मैं OSX नहीं जानता, लेकिन शायद gtarस्टॉक के बजाय वहाँ है tar
फ्लॉप

2
आह मैं देख रहा हूँ यह :) इस प्रयास करें: झंडा अगले तर्क के रूप में एक फ़ाइल नाम की उम्मीद है। tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION-f
फ्लॉप

क्षमा करें हाँ, संपादित किया गया। मैं यहाँ नया हूँ इसलिए मेरे साथ सहन करो!
फ्लॉप

2
यह देख सकता है कि यह एक मैक पर काम करता है - 10.9। मुझे इसका सही संस्करण खोजने में थोड़ा समय लगा, यही कारण है कि मैं अपनी टिप्पणी यहां छोड़ता हूं!
जॉन एलेन

2

यह आपको वह देता है जो आप चाहते हैं:

tar czvf $NAME-$VERSION.tar.gz $NAME-$VERSION --wildcards --exclude=.git --exclude=.gitignore

1

ऐसा लगता है कि आप .git मेटा निर्देशिकाओं को फ़िल्टर करना पसंद करते हैं, सबसे आसान तरीका है --exclude-vcs का उपयोग संस्करण सिस्टम सिस्टम को बाहर करने के लिए:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude-vsc

मैंने अपने लिनक्स मशीन पर "टार (जीएनयू टार) 1.27.1" का उपयोग किया है, ऐसा लगता है कि मैक का बीएसडी जनरल कमांड (गैर जीएनयू संस्करण) इस विकल्प का समर्थन नहीं करता है।


क्या आप निश्चित हैं कि यह Apple के टार के साथ काम करता है? देखें Apple का tar(1)मैन पेज । यह सूची नहीं है --exclude-vscया --exclude-vcs
jww

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