Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

Linux 'locate' कमांड में मास्टरी: उदाहरणों के साथ एक व्यावहारिक गाइड

आपके Linux फ़ाइल खोज टूलबॉक्स के लिए एक और टूल – locate कमांड। यह बताता है कि इसका उपयोग कैसे करें।

locate कमांड विशेष रूप से उनके नाम से फ़ाइलों और फ़ोल्डर्स को खोजने के लिए बनाया गया है। यह उपयोग में आसान है और पैटर्न का उपयोग करके फ़ाइलों को खोज सकता है। यह मददगार है यदि आप किसी विशिष्ट प्रकार/फ़ाइल एक्सटेंशन वाली फ़ाइलों की तलाश कर रहे हैं।

locate इंस्टॉल करना

locate आपके सिस्टम पर डिफ़ॉल्ट रूप से इंस्टॉल नहीं हो सकता है।

Debian/Ubuntu-आधारित डिस्ट्रीब्यूशन्स पर इंस्टॉल करने के लिए, चलाएं:

sudo apt install mlocate

या Redhat/CentOS/Fedora पर:

sudo yum install mlocate

Linux locate कमांड सिंटैक्स

locate कमांड तेज़ है। ऐसा इसलिए है क्योंकि यह फ़ाइल सिस्टम को सीधे खोजने के बजाय, फ़ाइलों के एक डेटाबेस को खोजता है जिसे समय-समय पर अपडेट किया जाता है। यह खोज को बहुत तेज़ बनाता है।

हालांकि, इसका मतलब यह है कि यदि कोई फ़ाइल डेटाबेस के अंतिम रिफ्रेश के बाद से मूव, रीनेम, या हटा दी गई है, तो यह अभी भी परिणामों में दिखाई देगी।

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

डेटाबेस अपडेट करना

locate द्वारा फ़ाइलों को खोजने के लिए उपयोग किए जाने वाले डेटाबेस को अपडेट करने के लिए, चलाएं:

sudo updatedb

फ़ाइलों का पता लगाना

locate का उपयोग करके फ़ाइलों को खोजने का सिंटैक्स इस प्रकार है:

locate OPTIONS PATTERN

ध्यान दें कि:

  • OPTIONS वैकल्पिक हैं और locate कमांड के डिफ़ॉल्ट व्यवहार को बदलने के लिए नीचे दी गई तालिका से सप्लाई किए जा सकते हैं
  • PATTERN वह पैटर्न है जिससे फ़ाइल नामों को मेल खाना चाहिए ताकि खोज के लिए मैच माना जाए
  • मिलते-जुलते फ़ाइलों के परिणाम डिफ़ॉल्ट रूप से पूरे फाइलसिस्टम से होंगे – न कि केवल वर्तमान वर्किंग डायरेक्ट्री
  • यदि locate कमांड के उपयोग के लिए कोई डेटाबेस जनरेट नहीं किया गया है, तो आपको एक जनरेट करने के लिए प्रेरित किया जा सकता है
  • locate कमांड स्टेटस कोड 0 वापस करेगा यदि मिली फ़ाइल मिलती है और 1 यदि कोई फ़ाइल नहीं मिलती या त्रुटि होती है।

कमांड विकल्प

यहाँ आधिकारिक डॉक्स से सीधे locate कमांड के लिए कुछ आमतौर पर उपयोग किए जाने वाले विकल्प हैं:

विकल्प विवरण
-b निर्दिष्ट पैटर्न के विरुद्ध केवल बेस नाम से मिलान करें।
-c मानक आउटपुट पर फ़ाइल नाम लिखने के बजाय, केवल मिलते-जुलते एंट्रीज की संख्या लिखें।
-e केवल उन एंट्रीज को प्रिंट करें जो locate चलाने के समय मौजूद फ़ाइलों को संदर्भित करती हैं।
-i पैटर्न मिलान करते समय केस अंतर को अनदेखा करें।
-l LIMIT एंट्रीज मिलने के बाद सफलतापूर्वक बाहर निकलें। यदि –count विकल्प निर्दिष्ट है, तो परिणामी काउंट भी LIMIT तक सीमित है।
-P जब फ़ाइलें मौजूद हैं या नहीं जांच रहे हों (यदि –existing विकल्प निर्दिष्ट है), तो ट्रेलिंग सिम्बोलिक लिंक्स को फॉलो न करें। यह टूटे हुए सिम्बोलिक लिंक्स को अन्य फ़ाइलों की तरह रिपोर्ट करने का कारण बनता है।
-q डेटाबेस पढ़ने और प्रोसेसिंग करते समय मिली त्रुटियों के बारे में कोई संदेश न लिखें।
-r बेसिक रेगेक्स REGEXP के लिए खोजें। यदि इस विकल्प का उपयोग किया जाता है तो कोई PATTERNs अनुमत नहीं हैं, लेकिन इस विकल्प को कई बार निर्दिष्ट किया जा सकता है।
–regex सभी PATTERNs को एक्सटेंडेड रेगेक्स्प्स के रूप में व्याख्या करें।

locate कमांड के लिए यूजर मैनुअल चलाकर विकल्पों की पूरी सूची देख सकते हैं:

man locate

locate कमांड उदाहरण

locate फ़ंक्शन का सबसे बुनियादी उपयोग दिए गए नाम से मेल खाने वाली फ़ाइल को खोजना है:

locate filename

फाइल सिस्टम में प्रत्येक मिलती-जुलती फ़ाइल के लिए फ़ाइल पथों की एक सूची वापस की जाएगी।

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

-e विकल्प locate को परिणाम सूची में जोड़ने से पहले फ़ाइल सिस्टम में फ़ाइल के अभी भी मौजूद होने की जांच करने के लिए मजबूर करेगा:

locate -e filename

यह नई बनाई गई या मूव की गई फ़ाइलों के परिणामों में न होने (या उनके पुराने स्थान पर दिखाई देने) की समस्या को हल नहीं करता है लेकिन हटाई गई फ़ाइलों के परिणामों में दिखाई देने की समस्या को हल करता है।

पैटर्न सप्लाई किए जा सकते हैं ताकि आप फ़ाइल एक्सटेंशन द्वारा आसानी से खोज सकें:

locate *.mp3

उपरोक्त उदाहरण डेटाबेस में पाई गई सभी mp3 फ़ाइलों को वापस करेगा।

locate कमांड डिफ़ॉल्ट रूप से केस-सेंसिटिव है – इसे -i विकल्प का उपयोग करके ओवरराइड किया जा सकता है:

locate -i FILENAME

आप -c विकल्प का उपयोग करके मिलती-जुलती फ़ाइलों की संख्या भी गिन सकते हैं:

locate -c filename
  1. रूबी की `select` मेथड में महारत हासिल करें: व्यावहारिक उदाहरण और उपयोग गाइड रूबी की `select` मेथड में महारत हासिल करें: व्यावहारिक उदाहरण और उपयोग गाइड

    आप ऑब्जेक्ट्स के ऐरे को फ़िल्टर करने के लिए रूबी में select मेथड का उपयोग कर सकते हैं। उदाहरण के लिए, आप किसी सूची में सभी सम संख्याएँ ढूंढ सकते हैं। select के बिना यह कुछ इस तरह दिखता है: even_numbers = [] [1,2,3,4,5,6].each do |n| if n.even? even_numbers << n end end even_numbers इतने सरल

  1. Ruby के grep मेथड में महारत: कोड उदाहरणों के साथ एक व्यावहारिक गाइड Ruby के grep मेथड में महारत: कोड उदाहरणों के साथ एक व्यावहारिक गाइड

    आइए grep मेथड के बारे में बात करते हैं। यह मेथड आपके लिए क्या कर सकता है? आप enumerable ऑब्जेक्ट्स को फ़िल्टर करने के लिए Grep का उपयोग कर सकते हैं, जैसे Arrays और Ranges। "लेकिन select पहले से ही ऐसा करता है!" हाँ, लेकिन grep अलग तरीके से काम करता है और अलग परिणाम उत्पन्न करता है। आइए कुछ

  1. Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण Linux Watch कमांड में मास्टरी: सिंटैक्स, विकल्प और व्यावहारिक उदाहरण

    Linux में watch कमांड एक काम करता है – एक कमांड को दोहराता है और परिणाम को बार-बार आउटपुट करता है, जिससे आप परिवर्तनों को देख सकते हैं। यहाँ इसका उपयोग कैसे करें। watch कमांड सिंटैक्स watch कमांड का सिंटैक्स इस प्रकार है: watch OPTIONS COMMAND ध्यान दें कि: OPTIONS नीचे दी गई तालिका से विकल्पों की