पता लगाएं और अद्यतन करें - फ़ाइलें नहीं मिलीं


8

मैं भागा

sudo /usr/libexec/locate.updatedb

फिर

locate Radium3

लेकिन यह कुछ भी नहीं लौटाता है!

परंतु

$ ls ~/Library/Containers/com.catpigstudios.Radium3/
Container.plist Data

तो क्यों locateसभी फ़ाइलों को नहीं देखता है?

क्या मैं ओएस एक्स पर इस कमांड का सही उपयोग कर रहा हूं?

जवाबों:


5

प्रयत्न:

sudo /usr/libexec/locate.updatedb

और विन्यास देखो:

/etc/locate.rc कॉन्फ़िगरेशन फ़ाइल

संपादित:

यहाँ पोस्ट उत्पादन:

echo $LOCATE_CONFIG

तथा:

cat /etc/locate.rc

तथा:

echo $0

अपडेट करें:

https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/locate.1.html#//apple_ref/doc/man/1/locate

पता लगाने का कार्यक्रम उन सभी मार्गों के लिए एक डेटाबेस खोजता है जो निर्दिष्ट पैटर्न से मेल खाते हैं। डेटा-बेस डेटाबेस बेस को समय-समय पर (आमतौर पर साप्ताहिक या दैनिक) पुन: प्रतिष्ठित किया जाता है, और इसमें सभी फ़ाइलों के मार्गनाम शामिल होते हैं जो सार्वजनिक रूप से सुलभ होते हैं

प्रयास करें mdfind बजाय का पता लगाने

Updated2:

mdfind -name पाठ जो अधिक सटीक है। बस mdfind टेक्स्ट आपको ऐसी फाइलें देता है जिनमें टेक्स्ट भी होता है। - डेविड क्रैम्पोटिक

mdfind -name text

मैंने #SEARCHPATHS="/"कॉन्फिग में अनफिट किया, इससे कोई मदद नहीं मिली। -vविकल्प किसी भी अतिरिक्त उत्पादन का उत्पादन करने के लिए प्रतीत नहीं होता है: /
davidhq

मेरे लिए अतिरिक्त जानकारी दीजिए plz जवाब में "संपादित" खंड।
user3439968


1
$ ls -la /var/db/locate.database -r - r-- 1 कोई भी पहिया 19463861 अप्रैल 6 20:08 /var/db/locate.database $ का पता लगाएं david.jpg (उपयोगकर्ता / david / अस्थायी) /david.jpg
davidhq

1
आपको अपना उत्तर अपडेट करना चाहिए mdfind -name textजो अधिक सटीक है। बस mdfind textआपको फ़ाइलें देता है जिसमें पाठ भी होता है।
दाविदक

3

अनुमतियाँ अपराधी हो सकती हैं क्योंकि स्पष्ट रूप से उन फ़ाइलों को नहीं पढ़ा जा सकता है जो दुनिया में पढ़ने योग्य नहीं हैं। अधिक स्पष्टीकरण के लिए प्लांड्रा के इस उत्तर को देखें ।

Findutils से पैकेज homebrew सक्षम है gupdatedbऔर glocateआदेशों निर्मित उपयोगिताओं की सीमाओं से कुछ दूर करने के लिए लग रहे हैं।


धन्यवाद! लेकिन अब जब मैं इसके बारे में जानता हूं mdutilतो इस बात की जांच करने का कोई मतलब नहीं है। एक उपयोग मामला जिसके बारे में मैं सोच सकता हूं कि मैं रेसकॉन को मैन्युअल रूप से ट्रिगर कर सकता हूं gupdatedb- स्पॉटलाइट के साथ इतना आसान नहीं है या इसमें अधिक समय लगेगा (यह फाइलों की सामग्री को भी अनुक्रमित करता है)। क्या अन्य फायदे हैं?
davidhq

1
Mdutil / स्पॉटलाइट के साथ रीइंडेक्सिंग सुनिश्चित करने के लिए कुछ समय ले सकता है। updatedbउसके लिए तेज है। glocateलगता है कि सिस्टम फ़ाइलों को अनुक्रमित करने में कोई समस्या नहीं है, जबकि मुझे लगता है कि mdfindअनदेखा ~ ~ लाइब्रेरी और अन्य सिस्टम फ़ाइलें। मैं निश्चित रूप से मैं के साथ और अधिक हिट मिल पाते हैं glocateअधिक mdfindअधिकांश परिस्थितियों में। YMMV।
वोगोनपोएट्लौरिएट

ठीक है, मैं अब यह परीक्षण कर रहा हूं। मुझे लगता है कि मुझे कुछ समस्या मिली ... मुट्ठी मैं भागा sudo gupdatedb, फिर glocate Radiumआउटपुट बचाया । फिर मैं भागा gupdatedbऔर उसने कहा: /.Trashes: Permission deniedकुछ अन्य फ़ोल्डरों के लिए भी ऐसा ही है। मैंने दोनों के लिए आउटपुट की तुलना की और यह समान था! अजीब ...
davidhq

आप जो कह रहे हैं, उससे आप पहले भाग गए sudo gupdatedb(इसे रूट के रूप में चला रहे हैं), फिर आपने बाद gupdatedbमें एक सामान्य उपयोगकर्ता के रूप में भाग लिया, जिसकी उन फ़ाइलों तक पहुंच नहीं होगी, जिनकी जड़ उपयोगकर्ता तक पहुंच होगी, जिसका अर्थ आपको मिलेगा अनुमति त्रुटियों से इनकार किया। यदि आप अपने पूरे सिस्टम के लिए फाइलनेम का पूरा डेटाबेस चाहते हैं, तो इसे रूट के रूप में चालू रखें। यह सिस्टम पर अन्य उपयोगकर्ताओं के लिए आपकी फ़ाइलों को उजागर करता है जो glocateकमांड का उपयोग कर सकते हैं । लेकिन अगर आप एकमात्र उपयोगकर्ता हैं, जो ठीक होना चाहिए।
VogonPoetLaureate

2

यदि आप उसी डेटाबेस को खोजना चाहते हैं जो स्पॉटलाइट उपयोग करता है, तो आप mdfindकमांड को एक विकल्प के रूप में उपयोग कर सकते हैं (हालांकि सटीक प्रतिस्थापन नहीं है) locate:

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