क्या आप जानते हैं कि Linux के नए इंस्टाल में कितनी फ़ाइलें हैं? यदि आप पॉपोस का उपयोग करते हैं! एक उदाहरण के रूप में लिनक्स वितरण, 31,000 से अधिक फाइलें हैं। इससे पहले कि आप कोई दस्तावेज़ बनाना, संगीत संग्रहित करना, PDF डाउनलोड करना या चित्रों को व्यवस्थित करना शुरू करें।
इस वजह से, जरूरत पड़ने पर लिनक्स में सही फाइल या फोल्डर ढूंढना एक चुनौती बन जाता है। इस लेख में, आप सीखेंगे कि Linux FIND कमांड का उपयोग कैसे करें, और हम आपको वे सभी उदाहरण देने जा रहे हैं जो हम कर सकते हैं।
लिनक्स फाइंड कमांड सिंटेक्स
सिंटैक्स से तात्पर्य है कि शब्दों, या आदेशों को एक साथ कैसे रखा जाता है। जिस तरह एक सामान्य वाक्य केवल शब्दों को फेरबदल करने से बकवास हो सकता है, ठीक उसी तरह कमांड विफल हो सकते हैं यदि उनका उचित सिंटैक्स में उपयोग नहीं किया जाता है।
ढूंढें [पथ] [शर्तें] [क्रियाएं]
इसका मतलब यह है:
ढूंढें - लिनक्स में फाइंड यूटिलिटी शुरू करता है
पथ - कहाँ देखना है
शर्तें - तर्क जो आप खोज पर लागू करना चाहते हैं
कार्रवाइयां - आप परिणामों के साथ क्या करना चाहते हैं
तीनों का उपयोग करने वाला एक साधारण उदाहरण इस तरह दिखता है:
<मजबूत>ढूंढें। -नाम फ़ाइल-sample.rtf -प्रिंट
जैसा कि आपने अनुमान लगाया था, यह फ़ाइल नाम file-sample.rtf . मिलेगा .
अवधि (. ) पथ वर्तमान निर्देशिका और उसके अंदर किसी भी निर्देशिका को देखने के लिए खोज को बताता है।
-नाम शर्त फ़ाइल को उस विशिष्ट नाम से प्राप्त करने के लिए कहता है।
-प्रिंट कार्रवाई स्क्रीन पर परिणाम दिखाने के लिए FIND को बताती है।
खोज कमांड के लिए अवधि और -प्रिंट डिफ़ॉल्ट हैं। तो यह तब भी वही काम करेगा यदि आप उनका उपयोग नहीं करते हैं। तो, ढूंढें -name file-sample.rtf आपको वही परिणाम देगा।
लिनक्स किसी अन्य निर्देशिका में खोजें
आप जिस निर्देशिका में हैं उससे भिन्न निर्देशिका में खोज सकते हैं। FIND के बाद बस निर्देशिका में पथ डालें। यदि आप मूल में हैं और आप जानते हैं कि फ़ाइल होम/उपयोगकर्ता . में कहीं है निर्देशिका आप उपयोग करेंगे:
घर/उपयोगकर्ता -नाम फ़ाइल-sample.rtf ढूंढें
यह अभी भी एक पुनरावर्ती खोज है, इसलिए यह उपयोगकर्ता . के अंतर्गत प्रत्येक निर्देशिका के माध्यम से जाएगी ।
लिनक्स एक से अधिक निर्देशिका खोजें
यदि आप एक साथ कई निर्देशिकाओं में खोजना चाहते हैं, तो बस उन्हें रिक्त स्थान से अलग करके कमांड में सूचीबद्ध करें।
ढूंढें /lib /var /bin -name file-sample.rtf
लिनक्स फाइंड विद नो रिकर्सन या लिमिटिंग रिकर्सन
यदि आपने रूट स्तर पर उपरोक्त FIND कमांड का उपयोग किया है, तो यह सिस्टम की प्रत्येक निर्देशिका को देखेगा। इसलिए यदि आप केवल वर्तमान निर्देशिका से चिपके रहना चाहते हैं, तो -maxdepth . का उपयोग करें विकल्प। -मैक्सडेप के बाद की संख्या बताती है कि रुकने से पहले कितनी गहराई तक जाना है।
-अधिकतम गहराई 1 . का उपयोग करना मतलब सिर्फ यह निर्देशिका।
ढूंढें -नाम file-sample.rtf -maxdepth 1
-अधिकतम गहराई 2 . का उपयोग करना या अधिक संख्या का अर्थ है कि कई स्तरों को और गहरा करना।
ढूंढें -मैक्सडेप्थ 5 -नाम file-sample.rtf
लिनक्स फाइंड वाइल्डकार्ड उदाहरण
FIND कमांड तारांकन का उपयोग करता है (* ) वाइल्डकार्ड के रूप में। नाम के किसी भी भाग के लिए इसका उपयोग करें जिसके बारे में आप अनिश्चित हैं। इसे नाम में एक से अधिक बार इस्तेमाल किया जा सकता है। फ़ाइल नाम के भाग के रूप में फ़ाइल प्रकार के बिना, परिणामों में मेल खाने वाली निर्देशिकाएं भी शामिल होंगी।
घर/उपयोगकर्ता-नाम फ़ाइल खोजें*नमूना*
Linux FIND प्रकार उदाहरण द्वारा
केवल फ़ाइल या निर्देशिका खोजने के लिए, -टाइप विकल्प और उपयुक्त डिस्क्रिप्टर का उपयोग करें। कुछ हैं, लेकिन फ़ाइल और निर्देशिका वाले सबसे आम हैं:
एफ - फ़ाइल
डी - निर्देशिका
b - डिवाइस को ब्लॉक करें
c - कैरेक्टर डिवाइस
एल - प्रतीकात्मक लिंक
एस - सॉकेट
घर/उपयोगकर्ता-नाम फ़ाइल खोजें*नमूना* -प्रकार d
लिनक्स FIND केस असंवेदनशील उदाहरण
विंडोज के विपरीत, लिनक्स इस बात की परवाह करता है कि कोई अक्षर कैपिटल है या लोअरकेस। इसलिए यदि आप चाहते हैं कि यह File-Sample.rtf और file-sample.rtf दोनों की खोज करे, तो -iname का उपयोग करें विकल्प।
घर/उपयोगकर्ता -नाम फ़ाइल-Sample.rtf ढूंढें
लिनक्स कई फाइलों का उदाहरण खोजें
मान लें कि आप किसी फ़ाइल के .rtf और .html संस्करण खोजना चाहते हैं। यह -o . का उपयोग करके एक कमांड में किया जा सकता है (या) ऑपरेटर। कुछ डिस्ट्रो में, आपको नामों को कोष्ठक के अंदर रखना पड़ सकता है, जैसे ( -name file-sample.rtf -o -name file-sample.html ) .
घर/उपयोगकर्ता -नाम file-sample.rtf -o -name file-sample.html ढूंढें
लिनक्स उन फाइलों को ढूंढता है जो किसी नाम से मेल नहीं खाती हैं
शायद आप जानते हैं कि एक फ़ाइल का .html संस्करण होता है, लेकिन यदि अन्य हैं तो नहीं। आप -नहीं . का उपयोग करके .html संस्करण को खोज से फ़िल्टर कर सकते हैं विकल्प.
घर ढूंढें/उपयोगकर्ता -नाम फ़ाइल-नमूना* -नहीं -नाम *.html
Linux FIND बिना त्रुटि परिणाम
बिना किसी रिकर्सन उदाहरण के खोज में, ध्यान दें कि यह प्रत्येक निर्देशिका को सूचीबद्ध करता है जिसे वह खोज नहीं सका और सही परिणाम। यह परेशान करने वाला है। आइए इसे उन सभी "अनुमति अस्वीकृत" निर्देशिकाओं को दिखाने से रोकें। इसे किसी अन्य Linux टर्मिनल कमांड, grep के साथ संयोजित करें। आप विशिष्ट शब्दों वाली फ़ाइलों को खोजने के लिए फाइंड के साथ grep का भी उपयोग कर सकते हैं।
ढूंढें -मैक्सडेप्थ 5 -नाम फ़ाइल-sample.rtf 2>&1 | grep -v "अनुमति अस्वीकृत"
आइए विश्लेषण करते हैं 2>&1 ।
2 - stderr . का प्रतिनिधित्व करता है जो मानक त्रुटि आउटपुट के लिए छोटा है।
1 - stdout . का प्रतिनिधित्व करता है जो मानक आउटपुट के लिए छोटा है
> - इसका मतलब है कि जो कुछ भी आउटपुट इसके बाईं ओर है उसे उसके दाईं ओर जो कुछ भी है उसे पुनर्निर्देशित करना।
& - का अर्थ है एक साथ रखना।
तो 2>&1 इसका मतलब है कि मानक त्रुटियां लें और उन्हें पुनर्निर्देशित करें, और फिर उन्हें मानक आउटपुट के साथ एक आउटपुट में डालें।
अब देखते हैं | grep -v "अनुमति अस्वीकृत" ।
| (पाइप कहा जाता है) - लिनक्स को इसके बाईं ओर जो कुछ भी है उसके परिणामों को उसके दाईं ओर खिलाने के लिए कहता है। इसे grep कमांड को फीड किया जा रहा है।
ग्रेप - एक टेक्स्ट सर्च यूटिलिटी है।
-v - grep को कुछ भी खोजने के लिए कहता है जो -v के बाईं ओर के टेक्स्ट से मेल नहीं खाता। इस मामले में, यह grep को केवल कुछ भी खोजने के लिए कह रहा है जिसमें टेक्स्ट या स्ट्रिंग नहीं है, "अनुमति अस्वीकार कर दी गई है।" तो grep आपको केवल वही परिणाम दिखाएगा जो आप खोज रहे हैं और कोई भी त्रुटि जो "अनुमति अस्वीकृत" से मेल नहीं खाती है।
Linux FIND by Permissions उदाहरण
इसे अच्छी तरह से उपयोग करने के लिए, आपको लिनक्स अनुमतियों को सीखना होगा।
उदाहरण फ़ाइलों में सभी अनुमतियाँ 664 हैं, एक को छोड़कर 775 अनुमतियाँ हैं। -perm का उपयोग करें इसे खोजने का विकल्प।
दस्तावेज़ खोजें/ -नाम फ़ाइल-नमूना* -प्रकार f -perm 775
लिनक्स आकार के अनुसार खोजें उदाहरण
आकार के अनुसार फ़ाइलें ढूँढना उन बड़ी फ़ाइलों को आपकी हार्ड ड्राइव में भरने के लिए आसान है। -आकार विकल्प, वांछित आकार और निम्न में से किसी एक प्रत्यय का उपयोग करें। यदि किसी प्रत्यय का उपयोग नहीं किया जाता है, तो -आकार डिफ़ॉल्ट रूप से b . हो जाता है . एक निश्चित आकार के बराबर और उससे बड़ी फ़ाइलों को खोजने के लिए, आकार के आगे प्लस-चिह्न (+) लगाएं।
एम - मेगाबाइट्स
जी - गीगाबाइट्स
k - किलोबाइट्स
b - ब्लॉक (512 बाइट्स - डिफ़ॉल्ट)
c - बाइट्स
w - शब्द (दो बाइट्स एक साथ)
ढूंढें -आकार +500k
स्वामी द्वारा Linux FIND
स्वामी द्वारा फ़ाइलें खोजने के दो तरीके हैं। एक मालिक के उपयोगकर्ता नाम से है, और दूसरा उपयोगकर्ता के समूह द्वारा है। उपयोगकर्ता नाम से खोजने के लिए, -उपयोगकर्ता . का उपयोग करें विकल्प, उसके बाद उपयोगकर्ता नाम। उपयोगकर्ता समूह द्वारा खोजने के लिए, -समूह . का उपयोग करें उसके बाद समूह का नाम..
ढूंढें -उपयोगकर्ता समूहनाम या खोज -उपयोगकर्ता उपयोगकर्ता नाम
Linux अंतिम संशोधित उदाहरण द्वारा फ़ाइलें खोजें
पिछले X दिनों में संशोधित या संपादित की गई फ़ाइलों को खोजने के लिए, -mtime का उपयोग करें एक नंबर के बाद। ऋण चिह्न लगाना (– ) नंबर के सामने अब से कई दिनों पहले कुछ भी बदला हुआ मिलेगा। एक धन चिह्न (+ ) का अर्थ है कि अब से कई दिन पहले।
ढूंढें -नाम "फ़ाइल-नमूना*" -एमटाइम +5 (5 दिन पहले से अधिक)
ढूंढें -नाम "फ़ाइल-नमूना*" -एमटाइम -5 (5 दिन से कम पहले)
मिनटों में अंतिम बार संशोधित करके खोजने के लिए, मिनट की संख्या के बाद -mmin विकल्प का उपयोग करें। ऊपर की तरह + और – का उपयोग करें।
ढूंढें -नाम "फ़ाइल-नमूना*" -मिमिन -5
ढूंढें -नाम "फ़ाइल-नमूना*" -मिमिन +5
Linux फ़ाइलों को अंतिम बार एक्सेस किए गए समय के उदाहरण द्वारा खोजें
पिछली बार कब खोली गई फाइलों के आधार पर फाइलों को खोजने के लिए इस्तेमाल किया जाने वाला विकल्प है -समय दिनों के लिए और -अमीन मिनटों के लिए। वापस जाने के लिए दिनों या मिनटों की संख्या के साथ इसका पालन करें और + और – चिह्न का उपयोग इससे अधिक और कम के रूप में करें।
ढूंढें -नाम "फ़ाइल-नमूना*" -समय -5
ढूंढें -नाम "फ़ाइल-नमूना* -अमीन -5
FIND को अन्य Linux कमांड के साथ संयोजित करें
grep कमांड के साथ खोज का उपयोग करने के ऊपर एक उदाहरण है, और आप इसे कई अन्य लोगों के साथ उपयोग कर सकते हैं। आप देख सकते हैं कि खोज और अन्य कमांड का उपयोग करना बहुत शक्तिशाली और एक बड़ा समय बचाने वाला हो सकता है। कल्पना कीजिए कि किसी विशेष प्रकार की फ़ाइल का एक गुच्छा हटाना है। फ़ाइल एक्सप्लोरर में इधर-उधर खोजने के बजाय, बस सही कमांड तैयार करें, और यह सेकंड में हो जाता है। अब आप फाइंड कमांड का उपयोग कैसे करेंगे?