मैं example.filenameअपने FreeBSD सर्वर पर सभी प्रतियों का पता लगाने की कोशिश कर रहा हूं । ऐसा करने के लिए सबसे अच्छा / सबसे आसान / सबसे कुशल तरीका क्या है?
मैं example.filenameअपने FreeBSD सर्वर पर सभी प्रतियों का पता लगाने की कोशिश कर रहा हूं । ऐसा करने के लिए सबसे अच्छा / सबसे आसान / सबसे कुशल तरीका क्या है?
जवाबों:
find / -name example.filename
locate filename
बहुत तेजी से find, यदि आप खोज सेवा चला रहे हैं, और यह केवल उन फ़ाइलों को खोजती है जो उस समय अस्तित्व में updatedbथीं जब अंतिम बार (सामान्य रूप से क्रोन जॉब के नियंत्रण में रात हो)।
आप हाथ से चला सकते हैं updatedb, लेकिन यह उस बात से भी धीमा है, जब आपको findपता चलता है कि रूट की आवश्यकता है। मैं कभी-कभी नए सामान का एक गुच्छा स्थापित करने के बाद डेटाबेस को हाथ से अपडेट करता हूं।
find /सप्ताह में एक से अधिक बार खुद को या किसी बड़े पेड़ पर करते हैं, तो locateसेवा चलाना संभवत: सार्थक है, क्योंकि locate(1)यह बहुत तेज है।
sudo periodic weeklyअपडेट करता locateहै। किसी भी इंस्टॉल या डाउनलोड के बाद उसे चलाएं जिसमें आपकी इच्छा की फाइलें हो सकती हैं।
यदि आपको पता चला है (उर्फ स्लोकेट) स्थापित है, तो
locate example.filename
हर रात एक क्रॉन जॉब का पता लगाएं, जो आपकी मशीन की सभी फाइलों को रिवाइंड करे। यह हमेशा उस कारण के लिए अद्यतित नहीं होता है।
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मार्ग का उपयोग करने से इस समस्या से बचा जाता है।
यदि आपके पास अप-टू-डेट डेटाबेस है, तो बस:
locate example.filename
मैं कभी-कभी करता हूं
find . | grep example.filename
शायद बेहद अक्षम है।