
ऐसे कुछ तरीके हैं जिनसे आप Linux में टर्मिनल से फ़ाइलें ढूंढ़ सकते हैं और ढूंढ सकते हैं, और find
, find
, which
और whereis
ऐसा करने के लिए आमतौर पर उपयोग किए जाने वाले कुछ कमांड हैं। आइए इन चार सर्च कमांड्स, उनकी समानताएं और अंतरों पर एक नजर डालते हैं।
1. ढूँढें
किसी भी निर्दिष्ट निर्देशिका में फ़ाइलों को खोजने का सीधा तरीका find
. का उपयोग करना है आज्ञा। यदि खोज करने के लिए निर्देशिका स्पष्ट रूप से निर्दिष्ट नहीं है, तो खोज वर्तमान निर्देशिका पर की जाएगी।
निम्न स्क्रीनशॉट दिखाता है कि वर्तमान निर्देशिका (.) के भीतर एक्सटेंशन .txt के साथ समाप्त होने वाले सभी फ़ाइल नामों के लिए एक खोज कैसे की जाती है।

खोज टाइमस्टैम्प, फ़ाइल अनुमतियों, फ़ाइल आकार, फ़ाइल प्रकार, फ़ाइल स्वामी आदि के आधार पर भी की जा सकती है। खोज मापदंडों को नियंत्रित करने के लिए नियमित अभिव्यक्तियों का उपयोग किया जा सकता है। find
. पर अधिक विस्तृत निर्देश आदेश यहां पाया जा सकता है।
2. पता लगाएं
यह कमांड नाम से फाइलों को खोजने का एक और तरीका है। पिछला कमांड निर्दिष्ट निर्देशिका की खोज करता है और फिर उपयोगकर्ता को परिणाम प्रदान करता है। यह उपकरण "mlocate.db" नामक डेटाबेस के विरुद्ध खोज करता है, जो "/var/lib/mlocate/mlocate.db" में स्थित है। यह डेटाबेस हर सुबह क्रॉन यूटिलिटी द्वारा अपडेट किया जाता है।
कमांड find
. की तुलना में अधिक तेजी से निष्पादित होता है क्योंकि खोज एक मौजूदा डेटाबेस के खिलाफ है जिसने पहले ही सिस्टम पर सभी फाइलों और निर्देशिकाओं की सूची तैयार कर ली है।
find
फ़ाइल नाम के बाद पूर्ण पथ नाम प्रदर्शित करता है जहाँ वह फ़ाइल मौजूद है।

मान लें कि होम डायरेक्टरी में एक स्क्रिप्ट बनाई गई है।

अगर हम नई बनाई गई और कॉपी की गई स्क्रिप्ट का पता लगाने की कोशिश करते हैं, तो हमें कोई आउटपुट नहीं मिलेगा।
locate myscript

चूंकि क्रोन केवल सुबह डेटाबेस को अपडेट करता है, दिन के दौरान सिस्टम में कोई भी फाइल जोड़ी जाती है, फिर डेटाबेस को मैन्युअल रूप से अपडेट करने की आवश्यकता होती है। यह updatedb
. का उपयोग करके किया जा सकता है आदेश।
sudo updatedb
यदि हम कस्टम स्क्रिप्ट को "पता लगाने" का प्रयास करते हैं, तो यह फ़ाइल का पता लगाने में सक्षम होगी।

3. जो
फाइलों को खोजने के लिए कमांड पर चर्चा करने के बाद, आइए हम एक कमांड पर जाएं जो सिस्टम पर निष्पादन योग्य के पूर्ण पथ की खोज में मदद कर सके:which
।
एक निष्पादन योग्य/स्क्रिप्ट/बाइनरी सिस्टम में कई स्थानों पर मौजूद हो सकता है। which
निर्दिष्ट निष्पादन योग्य के अस्तित्व के लिए $PATH और $MANPATH पर्यावरण चर में निर्दिष्ट निर्देशिकाओं में खोज करता है।
बिना किसी स्विच के, which
निष्पादन योग्य के लिए पाया गया पहला पूर्ण पथ प्रदर्शित करता है।

-a
स्विच निर्दिष्ट निष्पादन योग्य के लिए पाए गए पूर्ण पथ की सभी घटनाओं को प्रदर्शित करता है।

एक के बाद एक एक्जिक्यूटिव को निर्दिष्ट करके कई निष्पादन योग्य के लिए पूर्ण पथ पाया जा सकता है।

4. जहां
whereis
एक और कमांड है और एक निष्पादन योग्य के बारे में जानकारी के तीन टुकड़े प्राप्त करने के लिए प्रयोग किया जाता है:
- बाइनरी का पूर्ण पथ
- पूर्ण पथ जहां उस बाइनरी का स्रोत कोड सिस्टम पर मौजूद है
- मैनुअल का पूर्ण पथ जो उस बाइनरी के लिए मौजूद है

"Bzgrep" के लिए, बाइनरी "/bin" में मौजूद है और मैनुअल "/usr/share/man/man1" में मौजूद है। इसका स्रोत कोड सिस्टम पर मौजूद नहीं है।
whereis
-b
. का उपयोग करके केवल बाइनरी के पूर्ण पथ की खोज करने का निर्देश दिया जा सकता है बदलना। खोज केवल -B
. के बाद सूचीबद्ध निर्देशिकाओं में ही की जा सकती है बदलना। -f
. के बाद के नाम उन सभी बायनेरिज़ को निर्दिष्ट करें जिनके लिए जानकारी प्राप्त करने की आवश्यकता है।

इसी तरह, -s
. का उपयोग करके खोज को केवल स्रोत कोड या केवल मैनुअल तक ही सीमित रखा जा सकता है और -m
स्विच। -S
और -M
निर्देशिका नाम के बाद क्रमशः स्रोत कोड और मैनुअल खोजने के लिए निर्देशिका निर्दिष्ट करता है।
-l
स्विच whereis
. द्वारा उपयोग की जाने वाली सभी निर्देशिकाओं के पूर्ण पथ की विस्तृत सूची प्रदान करेगा खोज करने के लिए।

निष्कर्ष
टर्मिनल में फ़ाइलों को खोजने और खोजने के लिए आपके पास टूल की कोई कमी नहीं है। मुझे आशा है कि अब आपको Linux सिस्टम पर चार उपयोगी खोज टूल के बारे में अच्छी जानकारी हो गई होगी। यदि आपको उनके उपयोग के बारे में अधिक विवरण की आवश्यकता है, तो आप विस्तृत दस्तावेज़ीकरण के लिए उनके मैन्युअल पृष्ठ देख सकते हैं।