Cd का उपयोग करके कमांड-लाइन ऑटो-कम्प्लीट से .DS_Store कैसे निकालें?


16

मैं समझता हूं कि .DS_storeफाइलें किसी उद्देश्य की पूर्ति करती हैं। उस ने कहा, वे एक उपद्रव हैं जब cdआदेश के साथ ऑटो पूरा होता है । जब मैं cdटर्मिनल में टाइप करता हूं और टैब को दो बार दबाता हूं तो यह कार्यशील निर्देशिका की सभी निर्देशिकाओं को सूचीबद्ध करता है।

क्या .DS_storeटर्मिनल में इस ऑटो-पूर्ण निर्देशिका सूची से हटाने का एक तरीका है ?


जब मैं cdटर्मिनल में टाइप करता हूं तो दो बार कुंजी टैब: सभी संभावनाओं से पहले एक संकेत है (न केवल निर्देशिका) सूचीबद्ध हैं।
ग्राहम पेरिन

ऐसा लगता है कि बेहतर व्यवहार; क्या आप जानते हैं कि cd के बाद डबल टेबिंग होने पर फाइलों की लिस्टिंग को कैसे रोका जाए?
जेरोमे एंग्लीम

cd */दो टैब के बाद वर्तमान निर्देशिका के सभी उपनिर्देशिकाओं को सूचीबद्ध करता है। लेकिन आपको एक का चयन करने के लिए बैकस्पेस देना होगा ...
lhf

@lhf धन्यवाद उस विकल्प का होना अच्छा है। यह बेहतर होगा यदि cdडिफ़ॉल्ट रूप से केवल सूची निर्देशिकाओं के लिए पर्याप्त स्मार्ट था।
जेरोमे एंग्लीम

जवाबों:


14

export FIGNORE=DS_Store मेरे लिये कार्य करता है।

जीएनयू बैश मैनुअल प्रोग्राम पूरा होने पर विस्तृत जानकारी प्रदान करता है

विशेष रूप से, बैश चर पर प्रलेखन से

फ़ाइल नाम पूरा होने पर अनदेखा करने के लिए प्रत्ययों की उपनिवेश-सूची अलग है। एक फ़ाइल नाम जिसका प्रत्यय FIGNORE में प्रविष्टियों में से एक से मेल खाता है, को मिलान फ़ाइल नामों की सूची से बाहर रखा गया है। एक नमूना मूल्य '.o: ~' है

यदि आप चिंतित हैं कि मौजूदा प्रत्यय FIGNOREहो सकते हैं, तो आप उपयोग कर सकते हैं:

export FIGNORE=$FIGNORE:DS_Store

आपके बारे में निश्चित नहीं है, लेकिन यह $FIGNORE:.DS_Storeमेरे लिए मैक पर होना चाहिए था । "" के बिना काम नहीं किया।
टाइपोनियरर

@typeoneerror, मेरे लिए वही। शायद अतीत में यह पोस्ट के रूप में काम करता था। मुझे बताने के लिए धन्यवाद।
lhf

1
MacOS सिएरा 10.12.5 में, यह मेरे लिए तभी काम करता है जब मैं इसे छोड़ देता हूं.

2

मुझे लगता है कि आप वास्तव में जिस चीज की तलाश कर रहे हैं वह बैश कमांड के लिए संदर्भ-जागरूक टैब पूरा करना है। उदाहरण के लिए, .DS_Storeएक नियमित फ़ाइल है, निर्देशिका नहीं है, इसलिए इसे संभावित पूर्णता के रूप में नहीं दिखाना चाहिए cd

इस समस्या को हल करने वाले पैकेज को कहा जाता है bash-completion। मैं फिंक के संस्करण ( fink install bash-completion) का उपयोग करता हूं , और यह मैकपोर्ट ( port install bash-completion) और होमब्रे ( brew install bash-completion) से भी उपलब्ध है ।

पैकेज स्थापित होने और आपके .bashrc या .bash_profile में कॉन्फ़िगर होने के बाद, नियमित फ़ाइलें अब cd के लिए पूर्णता के रूप में दिखाई नहीं देंगी, और कई अन्य सामान्य बैश कमांड संदर्भ के रूप में अच्छी तरह से अवगत हो जाते हैं (जैसे। gunzip)।


1

जब आप केवल .DS_Store के बारे में पूछ रहे हैं, तो मुझे लगता है कि स्वतः पूर्ण से सभी छुपी हुई फ़ाइलों को हटाना सामान्य रूप से बेहतर होगा। यह कमांड द्वारा किया जा सकता है:

बाइंड 'सेट मैच-हिडन-फाइल्स ऑफ'

आप इसे जोड़ सकते हैं ~ / .bash_profile आपके लिए हर बार इसे लागू करने के लिए। यह पूरी तरह से छिपी हुई फ़ाइलों के लिए स्वत: पूर्णता को अक्षम नहीं करेगा, आप अभी भी टाइप कर सकते हैं '।' (डॉट) और इसके लिए टैब मारा।


-1

मैं इस कमांड का उपयोग करूंगा:

zip -r foo.zip foo -x "*.DS_Store"

यहाँ मिले: /superuser/198569/compressing-folders-on-a-mac-without-the-ds-store


यह हटाने की समस्या को कैसे हल करता है। स्वत: पूर्ण से .DS_Store?
GRG

खैर, वास्तव में ऐसा नहीं है। लेकिन मैं "मैक ज़िप के बिना .DS_STORE" की खोज करते हुए उस पृष्ठ पर ठोकर खाई। तो मैंने सोचा कि शायद यह किसी और की मदद कर सकता है। यह हालांकि एक बुरा विचार है।
लिंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.