FreeBSD में फ़ाइल कैसे खोजें


14

मैं example.filenameअपने FreeBSD सर्वर पर सभी प्रतियों का पता लगाने की कोशिश कर रहा हूं । ऐसा करने के लिए सबसे अच्छा / सबसे आसान / सबसे कुशल तरीका क्या है?


1
हालांकि उत्तर समान होंगे, आप स्पष्ट करना चाह सकते हैं कि आप लिनक्स का उपयोग कर रहे हैं, या फ्रीबीएसडी का। वे एक ही चीज नहीं हैं।
ग्रेग हेवगिल

ओएस को और अधिक विशिष्ट बनाने के लिए संपादित शीर्षक
इयान

यह शायद FreeBSD को टैग किया जाना चाहिए, लेकिन मुझे ऐसा करने के लिए प्रतिष्ठा की कमी है।
मिकाल

जवाबों:


18
find / -name example.filename

2
विश्वसनीय, लेकिन धीमी गति से। कभी कभी बहुत धीमी गति से।
dmckee --- पूर्व-मध्यस्थ ने बिल्ली के बच्चे को

3
अन्य 'खोज' झंडे जो आवश्यकता के आधार पर उपयुक्त हो सकते हैं: -Type f (निर्देशिकाओं या समान नाम के साथ सहानुभूति से परेशान नहीं होंगे) -ls (जैसे फ़ाइल के आकार जैसे विवरण दिखाने के लिए, जैसे कि फ़ाइलें समान हों नाम लेकिन विभिन्न सामग्री)
Zac थॉम्पसन

19
locate filename

बहुत तेजी से find, यदि आप खोज सेवा चला रहे हैं, और यह केवल उन फ़ाइलों को खोजती है जो उस समय अस्तित्व में updatedbथीं जब अंतिम बार (सामान्य रूप से क्रोन जॉब के नियंत्रण में रात हो)।

आप हाथ से चला सकते हैं updatedb, लेकिन यह उस बात से भी धीमा है, जब आपको findपता चलता है कि रूट की आवश्यकता है। मैं कभी-कभी नए सामान का एक गुच्छा स्थापित करने के बाद डेटाबेस को हाथ से अपडेट करता हूं।


3
केवल तभी पता लगाएँ जब आपके पास पता लगाने के लिए चलने के लिए सेवा चल रही हो (भूल जाएं कि इसे क्या कहा जाता है)। यह समय की देरी से भी ग्रस्त हो सकता है (इसमें आप जिस फ़ाइल की तलाश कर रहे हैं वह पिछले बिल्ड के बाद से जोड़ी जा सकती है)।
cletus

संपादन और टिप्पणियाँ तार पर पार की गईं। ठंडा। आप निश्चित रूप से, दोनों मायने रखते हैं।
dmckee --- पूर्व-मध्यस्थ ने बिल्ली के बच्चे को

4
यदि आप find /सप्ताह में एक से अधिक बार खुद को या किसी बड़े पेड़ पर करते हैं, तो locateसेवा चलाना संभवत: सार्थक है, क्योंकि locate(1)यह बहुत तेज है।
ड्रयू स्टीफंस

@ क्लेटस रनिंग डेटाबेस को sudo periodic weeklyअपडेट करता locateहै। किसी भी इंस्टॉल या डाउनलोड के बाद उसे चलाएं जिसमें आपकी इच्छा की फाइलें हो सकती हैं।
बेसिल बोर्ख

2

यदि आपको पता चला है (उर्फ स्लोकेट) स्थापित है, तो

locate example.filename

हर रात एक क्रॉन जॉब का पता लगाएं, जो आपकी मशीन की सभी फाइलों को रिवाइंड करे। यह हमेशा उस कारण के लिए अद्यतित नहीं होता है।


2

कभी-कभी आप एक विशिष्ट निर्देशिका स्तर पर फाइलें ढूंढना चाहते हैं। इस मामले में शेल वाइल्डकार्ड का उपयोग करना सुविधाजनक हो सकता है:

ls /data/*/example.filename

स्पष्ट रूप से यह केवल तभी काम करता है जब आपके पास एक कठोर निर्देशिका संरचना हो।


1

locate

जैसा कि दूसरों ने उल्लेख किया है, locateफ़ाइल खोजने का तेज़ तरीका है। यह कमांड फ़ाइल और फ़ोल्डर नामों के पूर्व-संकलित सूचकांक का उपयोग करता है। आपके फ़ाइल सिस्टम के माध्यम से क्रॉल करने के बजाय, नामों का यह डेटाबेस खोजा जाता है।

locate example.filename 

केस-असंवेदनशील होने के लिए, जोड़ें -i

locate -i eXAmPle.FileName

locateडेटाबेस अद्यतन करें

डेटाबेस का उपयोग locateअप-टू-डेट होना चाहिए। इंस्टॉल या डाउनलोड करने के बाद जिसमें आपकी वांछित फ़ाइल हो सकती है, आपको locateडेटाबेस को अपडेट करना होगा ।

locateडेटाबेस अंततः अपने FreeBSD प्रणाली द्वारा स्वचालित रूप से अद्यतन किया जाएगा। इस कार्य को शामिल करने का एक साप्ताहिक सेट है। ये काम /etc/periodic/weekly/310.locateस्क्रिप्ट में सूचीबद्ध हैं ।

locateडेटाबेस के शुरुआती अद्यतन को मजबूर करने का सबसे आसान तरीका यह है कि साप्ताहिक सेट को अब करने के लिए मजबूर किया जाए।

sudo periodic weekly

या, आप सभी नियमित कार्यों को करने के लिए बाध्य कर सकते हैं। आप एक नया FreeBSD सिस्टम स्थापित करने के तुरंत बाद ऐसा करना चाह सकते हैं।

sudo periodic daily weekly monthly

यदि locateडेटाबेस को अपडेट करने के लिए अन्य रास्ते का उपयोग कर रहे हैं , तो आपको असुरक्षित होने के बारे में एक संदेश मिल सकता है, फ्रीबीएसडी सिस्टम पर किसी भी उपयोगकर्ता के लिए आपके सिस्टम की सभी फ़ाइलों के नाम का खुलासा कर सकता है। periodicमार्ग का उपयोग करने से इस समस्या से बचा जाता है।



0

मैं कभी-कभी करता हूं


  find . | grep example.filename

शायद बेहद अक्षम है।


हाँ, वह सब कुछ मेल खाता है और फिर वह सब कुछ छोड़ देता है, जिस नाम को आप खोज रहे थे। इसके बजाय आप बस 'find -name "example.filename" कर सकते हैं, जो कि पहले सामान को सब कुछ प्रिंट किए बिना और एक अतिरिक्त grep प्रक्रिया को चलाने के बिना एक ही सामान करता है।
मिहाई लिम्बायसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.