किसी प्रोजेक्ट में स्रोत फ़ाइलों की खोज करना
एक सरल कमांड का उपयोग करें
आम तौर पर, एक परियोजना के लिए स्रोत एक ही स्थान पर होने की संभावना है, शायद कुछ उपनिर्देशिकाओं में दो या तीन से अधिक गहरी घोंसले नहीं होते हैं, इसलिए आप एक (संभवतः) तेज कमांड का उपयोग कर सकते हैं जैसे
(cd /path/to/project; ls *.c */*.c */*/*.c)
परियोजना मेटाडेटा का उपयोग करें
एक सी परियोजना में आप आम तौर पर एक मेकफाइल होगा। अन्य परियोजनाओं में आपके पास कुछ समान हो सकता है। ये फाइलों की एक सूची निकालने का एक तेज़ तरीका हो सकता है (और उनके स्थान) एक स्क्रिप्ट लिखता है जो फ़ाइलों का पता लगाने के लिए इस जानकारी का उपयोग करता है। मेरे पास एक "स्रोत" स्क्रिप्ट है, ताकि मैं जैसे कमांड लिख सकूं grep variable $(sources programname)
।
तेजी से खोज
जहाँ संभव हो , find / …
उपयोग के बजाय कम स्थान खोजें find /path/to/project …
। जितना संभव हो चयन मानदंडों को सरल बनाएं। अधिक कुशल होने पर कुछ चयन मानदंडों को टालने के लिए पाइपलाइनों का उपयोग करें।
इसके अलावा, आप खोज की गहराई को सीमित कर सकते हैं। मेरे लिए, यह 'खोजने' की गति को बहुत सुधारता है। आप -maxdepth स्विच का उपयोग कर सकते हैं। उदाहरण के लिए '-Maxdepth 5'
गति का पता लगाना
सुनिश्चित करें कि यह उन स्थानों को अनुक्रमित कर रहा है, जिनमें आप रुचि रखते हैं। मैन पेज पढ़ें और अपने कार्य के लिए जो भी विकल्प उपयुक्त हों, उसका उपयोग करें।
-U <dir>
Create slocate database starting at path <dir>.
-d <path>
--database=<path> Specifies the path of databases to search in.
-l <level>
Security level. 0 turns security checks off. This will make
searchs faster. 1 turns security checks on. This is the
default.
खोज की आवश्यकता को निकालें
शायद आप खोज रहे हैं क्योंकि आप भूल गए हैं कि कुछ कहाँ है या नहीं बताया गया है। पूर्व मामले में, उत्तर में नोट्स (प्रलेखन) लिखें, पूछें? सम्मेलनों, मानकों और स्थिरता से बहुत मदद मिल सकती है।
locate
पहले से ही काफी तेज होना चाहिए, यह देखते हुए कि यह एक पूर्व-निर्मित सूचकांक (प्राथमिक कैविट का उपयोग किया जा रहा है जिसे इसे अद्यतित रखने की आवश्यकता है), जबकिfind
निर्देशिका लिस्टिंग को पढ़ना होगा।