मैं कमांड को अधिक कुशलता से कैसे उपयोग कर सकता हूं?


15

मैं जानना चाहता था, कि खोज कमांड का कुशलता से उपयोग करने का सबसे अच्छा तरीका क्या है?

मैं आमतौर पर उपयोग करता हूं, find [filename] [dir]जो मुझे फ़ाइल नामों की एक लंबी सूची देता है , उनमें से कोई भी मेरी खोज से संबंधित नहीं है।

मुझे बस एक विशेष निर्देशिका में एक फ़ाइल खोजने की आवश्यकता है। उसके लिए क्या आज्ञा है?

जवाबों:


24

आप आमतौर पर बताते हैं कि खोज कहां से शुरू करें, और क्या देखें। इसलिए खोज करने के लिए रास्तों के लिए सिंटैक्स और जो आप वास्तव में खोजने की कोशिश कर रहे हैं वह अलग है।

आपके द्वारा उल्लेखित उपयोग के मामले में, मान लें कि आप passwdफ़ाइल को खोजना चाहते हैं /etc:

find /etc/ -name passwd

आप कह रहे हैं "आदि में शुरू, एक फ़ाइल जिसका नाम है के लिए देखोpasswd

यदि आप मानदंड (या "विकल्प" को समानता में खोजने के लिए) निर्दिष्ट नहीं करते हैं, तो जो कुछ भी करता है, वह आपके द्वारा निर्दिष्ट पथ (या पथ) में शुरू होता है, और सभी फ़ाइलों और निर्देशिकाओं को पुन: प्राप्त करता है। तो विकल्प उन फ़ाइलों को "फ़िल्टर" करते हैं जिन्हें आप खोज रहे हैं।

अपने फाइलसिस्टम में कहीं भी सभी JPG फाइल खोजें:

find / -name "*jpg" 

अपने विकल्पों में उद्धरण का उपयोग करने की अनुशंसा की जाती है क्योंकि अन्यथा शेल विस्तार से आपको सिरदर्द हो सकता है।

किसी भी दस्तावेज़ या डाउनलोड में, मामले की परवाह किए बिना, कोई भी पीडीएफ फाइलें खोजें:

find Documents/ Downloads/ -iname "*pdf"

यदि आप करते हैं man findऔर टीईएसटीएस पर स्क्रॉल करते हैं , तो आप सभी "मानदंड" पाएंगे जो खोज को कम करने के लिए उपयोग कर सकते हैं। आप विशिष्ट उपयोगकर्ताओं या समूहों के स्वामित्व वाली विशिष्ट फ़ाइलनाम वाली फ़ाइलों की खोज कर सकते हैं, एक विशिष्ट फ़ाइल की अनुमति हो सकती है, एक विशिष्ट प्रकार की हो सकती है (जैसे -type dकेवल निर्देशिकाएँ मिलेंगी, जबकि -type fकेवल सादे फ़ाइलें मिलेंगी, निर्देशिकाओं को छोड़कर), फ़ाइलों को नए या पुराने की तुलना में दिनों की एक विशिष्ट संख्या (या मिनट), जो फाइलें खाली हैं, जो निष्पादन योग्य हैं, और इसी तरह।

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

लेकिन निश्चित रूप से मूल सिंटैक्स रहता है:

find [starting path(s)] [conditions or criteria]

धन्यवाद यह महान काम करता है। मैं वास्तव में उलझन में था और इससे चीजों को सीधे सेट करने में मदद मिलती है
Sam007

1
+1 यह खोजने के लिए एक अच्छा परिचय है, और ओपी को यह भी सिखाता है कि आगे की जानकारी कैसे प्राप्त करें।
लार्जो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.