एक/
find .
मतलब है, "लगता है (वर्तमान निर्देशिका में शुरू)।" यदि आप पूरी प्रणाली खोजना चाहते हैं, तो find /
का उपयोग करें; /System/Library
के तहत खोज करने के लिए, find /System/Library
का उपयोग, आदि
बी/
यह वाइल्डकार्ड के आसपास एकल उद्धरण का उपयोग करने के लिए सुरक्षित है। अगर नाम की कोई फाइल नहीं है *।
find . -name *.jdk
अगर, हालांकि, आप हो सकता है जब आप इसे चलाने फ़ाइलों junk.jdk
और वर्तमान निर्देशिका में foo.jdk
है,: काम कर निर्देशिका में JDK जब आप इस चलाने के लिए, तो find
की एक कमांड लाइन मिल जाएगा find
बजाय के साथ शुरू किया जाएगा:
find . -name junk.jdk foo.jdk
... जो होगा (के बाद से वहाँ दो हैं) यह भ्रमित, और इसे बाहर त्रुटि के कारण। आप तो foo.jdk
हटा सकते हैं और ठीक उसी बात फिर से करते हैं, तो आप
find . -name junk.jdk
... जो (जैसे) 1.6.0.jdk
नाम की एक फ़ाइल कभी नहीं मिलेगा होगा।
क्या आप शायद इस संदर्भ में चाहते हैं,
find /System -name '*.jdk'
है ... या, आप "पलायन" कर सकते हैं *
के रूप में:
find /System -name \*.jdk
@ प्रोस्टाक, यह केवल नियमित फाइलें दिखाएगा, निर्देशिका नहीं। '-type f' प्रतीकात्मक लिंक, निर्देशिका, डिवाइस, और ऐसे फ़िल्टर को फ़िल्टर करना है। – BRFennPocock
मैं इसे सही उत्तर के रूप में चिह्नित कर रहा हूं। लेकिन आपकी मदद के लिए आप दोनों को धन्यवाद! – Prostak