उदाहरण के साथ लिनक्स फाइंड कमांड

क्या आप जानते हैं कि लिनक्स(Linux) के नए इंस्टाल में कितनी फाइलें होती हैं ? यदि आप पॉपोस का उपयोग करते हैं! एक उदाहरण के रूप में लिनक्स वितरण , 31,000 से अधिक फाइलें हैं। (Linux distribution)इससे पहले कि आप कोई दस्तावेज़ बनाना, संगीत संग्रहित करना, PDF(PDFs) डाउनलोड करना या चित्रों को व्यवस्थित करना शुरू करें।

इस वजह से, जरूरत पड़ने पर लिनक्स(Linux) में सही फाइल या फोल्डर ढूंढना एक चुनौती बन जाता है। इस लेख में, आप सीखेंगे कि लिनक्स फाइंड(Linux FIND) कमांड का उपयोग कैसे करें, और हम आपको वे सभी उदाहरण देने जा रहे हैं जो हम कर सकते हैं।

लिनक्स फाइंड कमांड सिंटेक्स(Linux FIND Command Syntax)

सिंटैक्स से तात्पर्य है कि शब्दों, या आदेशों को एक साथ कैसे रखा जाता है। जिस(Just) तरह एक सामान्य वाक्य केवल शब्दों को फेरबदल करने से बकवास हो सकता है, ठीक उसी तरह कमांड विफल हो सकते हैं यदि उनका उचित सिंटैक्स में उपयोग नहीं किया जाता है।

[पथ] [शर्तें] [क्रियाएं] खोजें(find [path] [conditions] [actions])

यहाँ इसका क्या अर्थ है:

फाइंड - (find )लिनक्स में (Linux)फाइंड(Find) यूटिलिटी शुरू करता है

पथ(path ) - कहाँ देखना है

शर्तें(conditions ) - तर्क जो आप खोज पर लागू करना चाहते हैं

क्रियाएँ(actions ) - आप परिणामों के साथ क्या करना चाहते हैं

तीनों का उपयोग करके एक साधारण उदाहरण इस तरह दिखता है:

पाना । -नाम फ़ाइल-sample.rtf -प्रिंट(find . -name file-sample.rtf -print)

जैसा कि आपने अनुमान लगाया था, यह फ़ाइल नाम file-sample.rtf ढूंढेगा(file-sample.rtf) । 

अवधि ( ) पथ वर्तमान निर्देशिका और उसके अंदर किसी भी निर्देशिका को देखने के लिए कहता है। 

-नाम(-name ) शर्त उस विशिष्ट नाम के साथ फ़ाइल प्राप्त करने के लिए खोज को बताती है।

-प्रिंट(-print ) क्रिया FIND को स्क्रीन पर परिणाम दिखाने के लिए कहती है ।

खोज कमांड के लिए अवधि और -प्रिंट डिफ़ॉल्ट हैं। तो यह तब भी वही काम करेगा यदि आप उनका उपयोग नहीं करते हैं। तो, find -name file-sample.rtf आपको वही परिणाम देगा।

किसी अन्य निर्देशिका में लिनक्स खोजें(Linux FIND In Another Directory)

आप जिस निर्देशिका में हैं उससे भिन्न निर्देशिका में खोज सकते हैं। बस (Just)FIND के बाद निर्देशिका में पथ डालें । यदि आप रूट पर हैं और आप जानते हैं कि फ़ाइल home/user निर्देशिका में कहीं है जिसका आप उपयोग करेंगे:

find home/user -name file-sample.rtf

यह अभी भी एक पुनरावर्ती खोज है, इसलिए यह उपयोगकर्ता(user) के अंतर्गत प्रत्येक निर्देशिका के माध्यम से जाएगी ।

लिनक्स कई निर्देशिका खोजें(Linux FIND Search Multiple Directories)

यदि आप एक साथ कई निर्देशिकाओं में खोजना चाहते हैं, तो बस उन्हें रिक्त स्थान से अलग किए गए कमांड में सूचीबद्ध करें।

find /lib /var /bin -name file-sample.rtf

बिना रिकर्सन या सीमित रिकर्सन के साथ लिनक्स खोजें(Linux FIND with No Recursion or Limiting Recursion)

यदि आपने रूट स्तर पर उपरोक्त FIND कमांड का उपयोग किया है, तो यह सिस्टम की प्रत्येक निर्देशिका को देखेगा। (FIND)इसलिए यदि आप केवल वर्तमान निर्देशिका से चिपके रहना चाहते हैं, तो -मैक्सडेप्थ(-maxdepth ) विकल्प का उपयोग करें। -मैक्सडेप के बाद की संख्या बताती है कि रुकने से पहले कितनी गहराई तक जाना है। 

-मैक्सडेप 1(-maxdepth 1 ) का उपयोग करने का मतलब सिर्फ यह निर्देशिका है। 

ढूंढें -नाम फ़ाइल-नमूना.आरटीएफ -मैक्सडेप्थ 1(find -name file-sample.rtf -maxdepth 1)

-मैक्सडेप 2(-maxdepth 2 ) या अधिक संख्या का उपयोग करने का अर्थ है कि कई स्तरों को गहरा करना।

ढूँढें -मैक्सडेप्थ 5 -नाम फ़ाइल-नमूना.rtf(find -maxdepth 5 -name file-sample.rtf)

लिनक्स फाइंड वाइल्डकार्ड उदाहरण(Linux FIND Wildcard Example)

FIND कमांड वाइल्डकार्ड के रूप में तारक ( * ) का उपयोग करता है। नाम के किसी भी भाग के लिए इसका उपयोग करें जिसके बारे में आप सुनिश्चित नहीं हैं। इसे नाम में एक से अधिक बार इस्तेमाल किया जा सकता है। फ़ाइल नाम के भाग के रूप में फ़ाइल प्रकार के बिना, परिणामों में मेल खाने वाली निर्देशिकाएं भी शामिल होंगी।

find home/user -name file*sample*

Linux FIND प्रकार उदाहरण के द्वारा:(Linux FIND by Type Example)

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

एफ - फ़ाइल

डी - निर्देशिका

बी - ब्लॉक डिवाइस

सी - कैरेक्टर डिवाइस

एल - प्रतीकात्मक लिंक

एस - सॉकेट

find home/user -name file*sample* -type d

Linux FIND केस असंवेदनशील उदाहरण(Linux FIND Case Insensitive Example)

विंडोज(Windows) के विपरीत , लिनक्स(Linux) इस बात की परवाह करता है कि कोई अक्षर कैपिटल है या लोअरकेस। इसलिए यदि आप चाहते हैं कि यह File-Sample.rtf और file-sample.rtf दोनों की खोज करे, तो -iname विकल्प का उपयोग करें(-iname )

find home/user -iname File-Sample.rtf

लिनक्स कई फाइलें उदाहरण खोजें(Linux FIND Several Files Example)

मान लें कि आप किसी फ़ाइल के .rtf और .html संस्करण खोजना चाहते हैं। यह -o (या) ऑपरेटर का उपयोग करके एक कमांड में किया जा सकता है। कुछ डिस्ट्रोस में, आपको नामों को कोष्ठक के अंदर रखना पड़ सकता है, जैसे ( -name file-sample.rtf -o -name file-sample.html ) । 

find home/user -name file-sample.rtf -o -name file-sample.html

लिनक्स उन फाइलों को ढूंढता है जो किसी नाम से मेल नहीं खाती(Linux FIND Files That Don’t Match a Name)

शायद आप जानते हैं कि एक फ़ाइल का .html संस्करण होता है, लेकिन अगर अन्य हैं तो नहीं। आप -not विकल्प का उपयोग करके .html संस्करण को खोज से बाहर फ़िल्टर कर सकते हैं

find home/user -name file-sample* -not -name *.html

त्रुटि परिणाम के बिना लिनक्स खोजें(Linux FIND Without Error Results)

बिना किसी रिकर्सन उदाहरण के खोज में, ध्यान दें कि यह प्रत्येक निर्देशिका को सूचीबद्ध करता है जिसे वह खोज नहीं सका और सही परिणाम। यह परेशान करने वाला है। आइए इसे उन सभी " अनुमति(Permission) अस्वीकृत" निर्देशिकाओं को दिखाने से रोकें । इसे किसी अन्य Linux टर्मिनल कमांड(Linux terminal command) , grep के साथ संयोजित करें । आप विशिष्ट शब्दों वाली फ़ाइलों को खोजने के लिए (find files with specific words in them)फाइंड(Find) के साथ grep का भी उपयोग कर सकते हैं ।

find -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v “Permission denied”

आइए 2>&1 को तोड़ें ।

2 - स्टैडर(stderr ) का प्रतिनिधित्व करता है जो मानक त्रुटियों के आउटपुट के लिए छोटा है। 

1 - स्टडआउट(stdout) का प्रतिनिधित्व करता है जो मानक आउटपुट के लिए छोटा है

> - का अर्थ है कि जो कुछ भी आउटपुट इसके बाईं ओर है, जो कुछ भी इसके दाईं ओर है, उसे पुनर्निर्देशित करना।

& - का अर्थ है एक साथ रखना।

तो 2>&1 का अर्थ है मानक त्रुटियों को लेना और उन्हें पुनर्निर्देशित करना, और फिर उन्हें मानक आउटपुट के साथ एक आउटपुट में रखना।

अब देखते हैं | grep -v “Permission denied”

| (पाइप कहा जाता है) - लिनक्स(Linux) को इसके बाईं ओर जो कुछ भी है उसके परिणामों को उसके दाईं ओर खिलाने के लिए कहता है। इसे grep कमांड को फीड किया जा रहा है।

grep - एक टेक्स्ट सर्च यूटिलिटी है। 

-v - grep को कुछ भी खोजने के लिए कहता है जो -v के बाईं ओर के टेक्स्ट से मेल नहीं खाता। इस मामले में, यह grep को केवल कुछ भी खोजने के लिए कह रहा है जिसमें टेक्स्ट या स्ट्रिंग नहीं है, " अनुमति(Permission) अस्वीकार कर दी गई है।" तो grep आपको केवल वही परिणाम दिखाएगा जो आप खोज रहे हैं और कोई भी त्रुटि जो " अनुमति(Permission) अस्वीकृत" से मेल नहीं खाती है।

अनुमतियों के उदाहरण द्वारा लिनक्स खोजें(Linux FIND by Permissions Example)

इसे अच्छी तरह से उपयोग करने के लिए, आपको लिनक्स अनुमतियों को सीखना(learn Linux permissions) होगा । 

उदाहरण फ़ाइलों में सभी अनुमतियाँ 664 हैं, एक को छोड़कर 775 अनुमतियाँ हैं। इसे खोजने के लिए -perm विकल्प का उपयोग करें।

find Documents/ -name file-sample* -type f -perm 775

आकार उदाहरण के अनुसार लिनक्स खोजें(Linux FIND by Size Example)

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

एम - मेगाबाइट

जी - गीगाबाइट

के - किलोबाइट्स

बी - ब्लॉक (512 बाइट्स - डिफ़ॉल्ट)

सी - बाइट्स

डब्ल्यू - शब्द (दो बाइट्स एक साथ)

find -size +500k

स्वामी द्वारा लिनक्स खोजें(Linux FIND by Owner)

स्वामी द्वारा फ़ाइलें खोजने के दो तरीके हैं। एक मालिक के उपयोगकर्ता नाम से है, और दूसरा उपयोगकर्ता के समूह द्वारा है। उपयोगकर्ता नाम द्वारा खोजने के लिए, उपयोगकर्ता नाम के बाद -उपयोगकर्ता(-user) विकल्प का उपयोग करें । उपयोगकर्ता समूह द्वारा खोजने के लिए, समूह नाम के बाद -समूह का उपयोग करें।(-group )

ढूँढें -उपयोगकर्ता समूहनाम(find -user groupname ) या ढूँढें -उपयोगकर्ता उपयोक्तानाम(find -user username)

Linux अंतिम संशोधित उदाहरण के द्वारा फ़ाइलें ढूँढें(Linux FIND Files by Last Modified Example)

पिछले X दिनों में संशोधित या संपादित की गई फ़ाइलों को खोजने के लिए, -mtime के बाद एक संख्या का उपयोग करें। संख्या के आगे ऋण चिह्न ( - ) लगाने से अब से कई दिनों पहले कुछ भी बदल जाएगा। एक प्लस चिह्न ( + ) का अर्थ है कि अब से कई दिन पहले। 

find -name “file-sample*” -mtime +5 (greater than 5 days ago)

find -name “file-sample*” -mtime -5 (less than 5 days ago)

मिनटों में अंतिम बार संशोधित करके खोजने के लिए, मिनट की संख्या के बाद -mmin विकल्प का उपयोग करें। ऊपर की तरह + और - का प्रयोग करें।

find -name “file-sample*” -mmin -5

find -name “file-sample*” -mmin +5

अंतिम बार एक्सेस किए गए समय उदाहरण के अनुसार Linux फ़ाइलें खोजें(Linux FIND Files by Last Accessed TIme Example)

फ़ाइलों को अंतिम बार खोले जाने के आधार पर खोजने के लिए उपयोग किया जाने वाला विकल्प है -दिनों(-atime ) के लिए समय और मिनटों के लिए -अमीन(-amin ) । वापस जाने के लिए दिनों या मिनटों की संख्या के साथ इसका पालन करें और + और - चिह्न को इससे बड़ा और कम का उपयोग करें।

find -name “file-sample*” -atime -5

find -name “file-sample* -amin -5

अन्य लिनक्स कमांड के साथ FIND को मिलाएं(Combine FIND with Other Linux Commands)

grep कमांड के साथ खोज का उपयोग करने के ऊपर एक उदाहरण है, और आप इसे कई अन्य लोगों के साथ उपयोग कर सकते हैं। आप देख सकते हैं कि खोज और अन्य कमांड का उपयोग करना बहुत शक्तिशाली और एक बड़ा समय बचाने वाला हो सकता है। कल्पना कीजिए(Imagine) कि किसी विशेष प्रकार की फ़ाइल का एक गुच्छा हटाना है। फ़ाइल एक्सप्लोरर में इधर-उधर खोजने के बजाय, बस सही कमांड तैयार करें, और यह सेकंड में हो जाता है। अब आप फाइंड कमांड का उपयोग कैसे करेंगे?



About the author

मैं एक विंडोज 10 तकनीशियन हूं और कई वर्षों से व्यक्तियों और व्यवसायों को नए ऑपरेटिंग सिस्टम का लाभ उठाने में मदद कर रहा हूं। मेरे पास माइक्रोसॉफ्ट ऑफिस के बारे में ज्ञान का खजाना है, जिसमें विभिन्न उपयोगकर्ताओं के लिए उपस्थिति को अनुकूलित करने और एप्लिकेशन को वैयक्तिकृत करने का तरीका शामिल है। इसके अतिरिक्त, मैं अपने कंप्यूटर पर फ़ाइलों और फ़ोल्डरों को एक्सप्लोर करने और खोजने के लिए एक्सप्लोरर ऐप का उपयोग करना जानता हूं।



Related posts