Find (Unix)
यूनिक्स जैसे और कुछ अन्य ऑपरेटिंग सिस्टम में, फाइंड एक कमांड-लाइन उपयोगिता है जो कुछ उपयोगकर्ता-निर्दिष्ट मानदंडों के आधार पर फ़ाइलों का पता लगाती है और या तो प्रत्येक मिलान वाली वस्तु के पथनाम को प्रिंट करती है या, यदि किसी अन्य कार्रवाई का अनुरोध किया जाता है, तो प्रत्येक मिलान वाली वस्तु पर उस कार्रवाई को करती है। यह एक वांछित प्रारंभिक स्थान से खोज शुरू करता है और फिर एक पदानुक्रमित संरचना (आमतौर पर एक पेड़) के नोड्स (निर्देशिकाओं) को पुनरावर्ती रूप से पार करता है। प्रारंभिक निर्देशिका के तहत लगे एक या अधिक भंडारण उपकरणों से संबंधित विभाजनों के विभिन्न फ़ाइल प्रणालियों के माध्यम से खोज और खोज कर सकते हैं। संभावित खोज मानदंड में फ़ाइल नाम के साथ मेल खाने के लिए एक पैटर्न या फ़ाइल के संशोधन समय या पहुंच समय के साथ मेल खाने के लिए एक समय सीमा शामिल है। डिफ़ॉल्ट रूप से, वर्तमान कार्यशील निर्देशिका के नीचे सभी फ़ाइलों की एक सूची लौटाता है, हालांकि उपयोगकर्ता खोज को प्रारंभिक निर्देशिका के तहत किसी भी वांछित अधिकतम स्तर तक सीमित कर सकते हैं। संबंधित लोकेट प्रोग्राम फाइंड के माध्यम से प्राप्त अनुक्रमित फ़ाइलों के डेटाबेस का उपयोग करते हैं (नियमित अंतराल पर अद्यतन, आमतौर पर क्रॉन जॉब द्वारा) ताकि नाम से फ़ाइलों के लिए पूरे फ़ाइल सिस्टम को खोजने का एक तेज़ तरीका प्रदान किया जा सके। इतिहास की खोज संस्करण 5 यूनिक्स में प्रोग्रामर के वर्कबेंच परियोजना के हिस्से के रूप में दिखाई दी, और इसे डिक हाईट द्वारा सिपियो के साथ लिखा गया था, जिन्हें एक साथ उपयोग करने के लिए डिज़ाइन किया गया था। जी. एन. यू. खोज कार्यान्वयन मूल रूप से एरिक डेकर द्वारा लिखा गया था। बाद में इसे डेविड मैकेंजी, जे प्लेट्ट और टिम वुड द्वारा बढ़ाया गया। कमांड को आई. बी. एम. आई. ऑपरेटिंग सिस्टम में भी पोर्ट किया गया है। वाक्यविन्यास ढूँढें $ढूँढें [-H।-L] पथ. [ऑपरेंड _ एक्सप्रेशन।] दोनों विकल्प नियंत्रित करते हैं कि ढूँढ कमांड को प्रतीकात्मक लिंक का उपयोग कैसे करना चाहिए। डिफ़ॉल्ट व्यवहार कभी भी प्रतीकात्मक लिंक का पालन नहीं करना है। फ्लैग फाइंड कमांड को प्रतीकात्मक लिंक का पालन करने के लिए प्रेरित करेगा। कमांड लाइन तर्कों को संसाधित करते समय ध्वज केवल प्रतीकात्मक लिंक का पालन करेगा। इन झंडे को खोजने के लिए पोसिक्स मानक में निर्दिष्ट किया गया है। निम्नलिखित सिंलिंक को स्पष्ट रूप से अक्षम करने के लिए एक सामान्य विस्तार ध्वज है। अभिव्यक्ति से पहले कम से कम एक रास्ता होना चाहिए। फाइंड आंतरिक रूप से वाइल्डकार्ड की व्याख्या करने में सक्षम है और शेल ग्लोबबिंग को नियंत्रित करने के लिए आदेशों को सावधानीपूर्वक उद्धृत किया जाना चाहिए। अभिव्यक्ति तत्वों को कमांड-लाइन तर्क सीमा द्वारा अलग किया जाता है, जिन्हें आमतौर पर शेल वाक्यविन्यास में व्हाइटस्पेस के रूप में दर्शाया जाता है। उनका मूल्यांकन बाएं से दाएं किया जाता है। इनमें ए. एन. डी. (या) और ओ. आर. (या) जैसे तार्किक तत्वों के साथ-साथ विधेय (फिल्टर और क्रियाएं) भी हो सकते हैं। जीएनयू फाइंड में बड़ी संख्या में अतिरिक्त सुविधाएँ हैं जो पोसिक्स द्वारा निर्दिष्ट नहीं हैं। आम तौर पर उपयोग किए जाने वाले प्राथमिक अनुमानों में शामिल हैंः-नाम पैटर्नः यह परीक्षण करता है कि क्या फ़ाइल का नाम दिए गए शेल-ग्लोब पैटर्न से मेल खाता है। - प्रकार प्रकारः जाँच करता है कि क्या फ़ाइल एक दिए गए प्रकार की है। स्वीकार किए गए यूनिक्स फ़ाइल प्रकारों में शामिल हैंः बीः ब्लॉक डिवाइस (बफर); सीः कैरेक्टर डिवाइस (अनबफर); डीः डायरेक्टरी; एफः नियमित फ़ाइल; एलः प्रतीकात्मक लिंक; पीः नामित पाइप; एसः साकेट; डीः डोर। - प्रिंटः हमेशा सही लौटता है; वर्तमान फ़ाइल का नाम और एसटीडीएउट पर एक नई पंक्ति प्रिंट करता है। - प्रिंट0: हमेशा सही लौटाता है; वर्तमान फ़ाइल का नाम और एक शून्य वर्ण को एसटीडीएउट पर प्रिंट करता है। पोसिक्स द्वारा आवश्यक नहीं है। - exec प्रोग्राम [तर्क.];: दिए गए तर्कों के साथ प्रोग्राम चलाता है, और सही लौटाता है यदि इसकी निकास स्थिति 0 थी, अन्यथा गलत। यदि प्रोग्राम, या एक तर्क {} है, तो इसे वर्तमान पथ द्वारा प्रतिस्थापित किया जाएगा (यदि प्रोग्राम {} है, तो वर्तमान पथ को निष्पादन योग्य के रूप में चलाने का प्रयास करेगा)। पोसिक्स निर्दिष्ट नहीं करता है कि यदि कई {} निर्दिष्ट किए जाते हैं तो क्या होना चाहिए। अधिकांश कार्यान्वयन सभी {} को वर्तमान पथ से बदल देंगे, लेकिन यह मानक व्यवहार नहीं है। - exec प्रोग्राम [तर्क.] {} +: हमेशा सही लौटाता है; दिए गए तर्कों के साथ प्रोग्राम चलाएँ, उसके बाद जितना संभव हो उतने पथ (यदि अधिकतम कमांड-लाइन आकार से अधिक हो जाए तो कई कमांड चलाए जाएंगे, जैसे xargs के लिए)। - ok प्रोग्राम [तर्क.];: प्रत्येक पथ के लिए, उपयोगकर्ता को पुष्टि के लिए संकेत देता है; यदि उपयोगकर्ता पुष्टि करता है (आमतौर पर y या हाँ दर्ज करके), तो यह-exec प्रोग्राम [तर्क] की तरह व्यवहार करता है; अन्यथा कमांड वर्तमान पथ के लिए नहीं चलाया जाता है, और गलत वापस कर दिया जाता है। यदि अभिव्यक्ति-प्रिंट0,-प्रिंट,-exec, या-ओके में से किसी का भी उपयोग नहीं करती है, तो प्रदर्शन-प्रिंट करने के लिए डिफ़ॉल्ट खोजें यदि शर्तें सही हैं। प्रचालक प्रचालकक उपयोग खोज आदेशक अभिव्यक्तिकेँ बढ़यबा लेल कयल जा सकैत अछि। प्रचालकों को घटती प्राथमिकता के क्रम में सूचीबद्ध किया गया हैः (उदाहरण के लिए): बल वरीयता;! तात्पर्यः सत्य यदि तात्पर्य असत्य है; तात्पर्य 1 तात्पर्य 2 (या तात्पर्य 1-एक तात्पर्य 2: और। यदि गलत है तो मूल्यांकन नहीं किया जाता है; उदाहरण के लिए 1-2: या। यदि सही है तो एक्स. पी. आर. 2 का मूल्यांकन नहीं किया जाता है। $ढूँढें। - नाम 'फाइलए _ *'-ओ-नाम 'फाइलबी _ *' यह कमांड उन फाइलों के लिए वर्तमान कार्यशील निर्देशिका वृक्ष की खोज करता है जिनके नाम या से शुरू होते हैं। हम इसे उद्धृत करते हैं ताकि खोल इसका विस्तार न करे। $ढूँढें। - नाम 'foo.cpp' '!' - पाथ '. एस. वी. एन.' यह कमांड उप-निर्देशिका वृक्ष को छोड़कर वर्तमान कार्यशील निर्देशिका वृक्ष को खोजता है. "एस. वी. एन" उन फ़ाइलों के लिए जिनका नाम "foo.cpp" है। हम उद्धृत करते हैं! ताकि इसकी व्याख्या खोल द्वारा इतिहास प्रतिस्थापन चरित्र के रूप में न की जाए। असीम आउटपुट से पोसिक्स सुरक्षा वास्तविक-विश्व फ़ाइल सिस्टम में अक्सर हार्ड या सॉफ्ट लिंक के उपयोग के माध्यम से बनाई गई लूप संरचनाएं होती हैं। पोसिक्स मानक के लिए आवश्यक है कि वर्तमान कार्यशील निर्देशिका से उदाहरण $फाइंड करें। 'माई *' नाम दें यह उन फाइलों के लिए वर्तमान कार्यशील निर्देशिका वृक्ष की खोज करता है जिनके नाम माई से शुरू होते हैं। एकल उद्धरण शेल विस्तार से बचते हैं-उनके बिना शेल उन फ़ाइलों की सूची के साथ मेरे * को बदल देगा जिनके नाम वर्तमान कार्यशील निर्देशिका में मेरे से शुरू होते हैं। प्रोग्राम के नए संस्करणों में, निर्देशिका को हटा दिया जा सकता है, और यह वर्तमान कार्यशील निर्देशिका को इंगित करेगा। नियमित फाइलों को केवल $find मिलता है। - नाम 'माई *'-टाइप एफ यह उपरोक्त खोज के परिणामों को केवल नियमित फ़ाइलों तक सीमित करता है, इसलिए निर्देशिकाओं, विशेष फ़ाइलों, प्रतीकात्मक लिंक आदि को छोड़कर। मेरा * एकल उद्धरणों (एपोस्ट्रोफ) में संलग्न है अन्यथा खोल इसे वर्तमान कार्यशील निर्देशिका में फ़ाइलों की सूची के साथ बदल देगा जो मेरे से शुरू होता है। पिछले उदाहरणों ने परिणामों की सूची बनाई क्योंकि, डिफ़ॉल्ट रूप से, खोज-मुद्रण कार्रवाई को निष्पादित करता है। (ध्यान दें कि फाइंड कमांड के शुरुआती संस्करणों में कोई डिफ़ॉल्ट कार्रवाई नहीं थी, इसलिए उपयोगकर्ताओं को आश्चर्यचकित करने के लिए फ़ाइलों की परिणामी सूची को त्याग दिया जाएगा।) $ढूँढें। - 'मेरा *'-प्रकार f-ls यह विस्तारित फ़ाइल जानकारी प्रिंट करता है। सभी निर्देशिकाओं को खोजें $फाइंड/- नेम मायफाइल-टाइप एफ-प्रिंट यह प्रत्येक निर्देशिका को एक नियमित फ़ाइल के लिए खोजता है जिसका नाम मायफाइल है और इसे स्क्रीन पर प्रिंट करता है। आम तौर पर इस तरह से फाइलों की तलाश करना एक अच्छा विचार नहीं है। इसमें काफी समय लग सकता है, इसलिए निर्देशिका को अधिक सटीक रूप से निर्दिष्ट करना सबसे अच्छा है। कुछ ऑपरेटिंग सिस्टम गतिशील फ़ाइल सिस्टम को माउंट कर सकते हैं जो खोजने के लिए अनुकूल नहीं हैं। खोल के लिए विशेष वर्णों सहित अधिक जटिल फ़ाइल नामों को एकल उद्धरणों में संलग्न करने की आवश्यकता हो सकती है। एक उप-निर्देशिका ट्री को छोड़कर सभी को खोजें $ढूंढें/- पथ बहिष्कृत _ पथ-प्रून-ओ-प्रकार एफ-नाम मायफाइल-प्रिंट यह उप-निर्देशिका ट्री बहिष्कृत _ पथ (अग्रणी/सहित पूरा पथ) को छोड़कर हर निर्देशिका को खोजता है जिसे-प्रून क्रिया द्वारा काटा जाता है, एक नियमित फ़ाइल के लिए जिसका नाम मायफाइल है। एक निर्देशिका निर्दिष्ट करें $ढूँढें/घर/खरपतवार-नाम मायफ़ाइल-प्रकार एफ-प्रिंट यह माईफ़ाइल नामक नियमित फ़ाइलों के लिए/घर/खरपतवार निर्देशिका वृक्ष की खोज करता है। आपको हमेशा निर्देशिका को सबसे गहरे स्तर तक निर्दिष्ट करना चाहिए जिसे आप याद रख सकते हैं। कई निर्देशिकाएँ खोजें $स्थानीय/टी. एम. पी.-नाम मायडीआर-प्रकार डी-प्रिंट खोजें यह वर्तमान कार्यशील निर्देशिका के स्थानीय उप-निर्देशिका वृक्ष और मायडीआर नामक निर्देशिकाओं के लिए/टी. एम. पी. निर्देशिका वृक्ष की खोज करता है। त्रुटियों को नजरअंदाज करें यदि आप रूट के अलावा एक अन्य उपयोगकर्ता के रूप में ऐसा कर रहे हैं, तो आप अनुमति से इनकार (और किसी अन्य) त्रुटियों को नजरअंदाज करना चाह सकते हैं। चूँकि त्रुटियों को एस. टी. डी. आर. आर. पर मुद्रित किया जाता है, इसलिए उन्हें आउटपुट को/डेव/नल पर पुनर्निर्देशित करके दबाया जा सकता है। निम्नलिखित उदाहरण से पता चलता है कि बैश शेल में इसे कैसे किया जाएः $फाइंड/- नेम मायफाइल-टाइप एफ-प्रिंट 2>/देव/नल यदि आप एक सी. एस. एच. या टी. सी. एस. एच. उपयोगकर्ता हैं, तो आप एस. टी. डी. आउट को पुनर्निर्देशित किए बिना भी एस. टी. डी. आर. आर. को पुनर्निर्देशित नहीं कर सकते। सी. एस. एच. या टी. सी. एस. एच. का उपयोग करते समय आप इसे खोजने के लिए खोज कमांड चलाने के लिए एस. एच. का उपयोग कर सकते हैंः $एस. एच.-सी. "फाइंड/- नेम मायफाइल-टाइप एफ-प्रिंट 2>/देव/नल" एक वैकल्पिक विधि है जो एस. टी. डी. आउट और एस. टी. डी. आर. से आउटपुट को जी. आर. पी. कमांड में पाइप करना है। यह उदाहरण दिखाता है कि उन रेखाओं को कैसे दबाया जाए जिनमें अनुमति से इनकार की गई त्रुटियां हैं। $ढूँढें। - नाम मायफाइल। और ग्रेप-वी 'अनुमति अस्वीकृत' अलग-अलग नाम वाली फ़ाइलों में से किसी एक को ढूंढें। \ (-नाम '* जेएसपी'-ओ-नाम '* जावा'\)-प्रकार एफ-एलएस प्रचालक विस्तारित जानकारी छापता है, और उदाहरण में कोई भी नियमित फ़ाइल मिलती है जिसका नाम या तो 'जेएसपी' या 'जावा' के साथ समाप्त होता है। ध्यान दें कि कोष्ठक आवश्यक हैं। कई कोशों में कोष्ठकों को विशेष कोश वर्णों के रूप में व्याख्या किए जाने से रोकने के लिए एक बैकस्लैश (\(और\)) के साथ बचना चाहिए। - ls प्रचालक खोज के सभी संस्करणों पर उपलब्ध नहीं है। एक क्रिया निष्पादित करें '*. mp3'-प्रकार f-exec chmod 644 {}\; यह आदेश उन सभी नियमित फ़ाइलों की अनुमतियों को बदल देता है जिनके नाम निर्देशिका वृक्ष/वार/ftp/mp3 में. mp3 से समाप्त होते हैं। कमांड में कथन-exec chmod 644 {}\; निर्दिष्ट करके कार्रवाई की जाती है। प्रत्येक नियमित फ़ाइल के लिए जिसका नाम. mp3 में समाप्त होता है, chmod 644 {} कमांड को फ़ाइल के नाम के साथ {} की जगह निष्पादित किया जाता है। अर्धविराम (कवच से बचने के लिए इसे एक कमांड विभाजक के रूप में व्याख्या करने के लिए बैकस्लैश किया गया) आदेश के अंत को इंगित करता है। अनुमति 644, जिसे आमतौर पर rw-r-- r-के रूप में दिखाया जाता है, फ़ाइल के मालिक को फ़ाइल को पढ़ने और लिखने की पूरी अनुमति देता है, जबकि अन्य उपयोगकर्ताओं के पास केवल पढ़ने की अनुमति होती है। कुछ कोशों में, {} को उद्धृत किया जाना चाहिए। पीछे की ओर "पारंपरिक रूप से एक अग्रणी के साथ उद्धृत किया जाता है", लेकिन उतना ही प्रभावी रूप से एकल उद्धरणों में संलग्न किया जा सकता है। ध्यान दें कि कमांड को स्वयं उद्धृत नहीं किया जाना चाहिए; अन्यथा आपको खोज जैसे त्रुटि संदेश मिलते हैंः प्रतिध्वनि "mv./3bfn rel071204": ऐसी कोई फ़ाइल या निर्देशिका नहीं है जिसका अर्थ है कि खोज "नामक फ़ाइल को चलाने का प्रयास कर रही है और विफल हो रही है। यदि आप कई परिणामों पर निष्पादित करेंगे, तो निष्पादन प्राथमिक के एक प्रकार का उपयोग करना अधिक कुशल है जो फ़ाइल नामों को एकत्र करता है और फिर फ़ाइल नामों की सूची के साथ कमांड को निष्पादित करता है। $ढूँढें। - exec COMMAND {} + यह सुनिश्चित करेगा कि सफेद स्थान वाले फ़ाइल नामों को खोल द्वारा विभाजित किए बिना निष्पादित किया जाता है। फ़ाइलों और निर्देशिकाओं को हटाएँ-हटाएँ क्रिया एक जी. एन. यू. विस्तार है, और इसका उपयोग करके-गहराई चालू हो जाती है। इसलिए, यदि आप-डिलीट के बजाय-प्रिंट के साथ एक फाइंड कमांड का परीक्षण कर रहे हैं ताकि यह पता लगाया जा सके कि इसके लिए जाने से पहले क्या होगा, तो आपको-डेप्थ-प्रिंट का उपयोग करने की आवश्यकता है। खाली फाइलों को हटा दें और नामों को प्रिंट करें (ध्यान दें कि-एम्प्टी जीएनयू फाइंड का एक विक्रेता अद्वितीय विस्तार है जो सभी फाइंड कार्यान्वयनों में उपलब्ध नहीं हो सकता है): $फाइंड। - खाली-हटाएँ-प्रिंट खाली नियमित फ़ाइलों को हटाएँः $ढूंढें। - टाइप करें f-खाली-हटाएँ खाली निर्देशिकाएँ हटाएँः $ढूंढें। - टाइप डी-खाली-हटाएँ 'खराब' नामक खाली फ़ाइलों को हटाएँः $ढूंढें। - खराब-खाली-हटाने की चेतावनी का नाम दें। - हटाएँ क्रिया का उपयोग-खाली या-नाम-$ढूँढने जैसी शर्तों के साथ किया जाना चाहिए। #हटाएँ यह सब हटा देता है। स्ट्रिंग के लिए खोजें यह आदेश/tmp निर्देशिका ट्री से सभी फ़ाइलों को एक स्ट्रिंग के लिए खोज करेगाः $find/tmp-type f-exec grep 'सर्च स्ट्रिंग'/dev/null '{}'\+/dev/null तर्क का उपयोग टेक्स्ट से पहले फ़ाइल का नाम दिखाने के लिए किया जाता है जो पाया जाता है। इसके बिना, केवल पाया गया पाठ मुद्रित होता है। (वैकल्पिक रूप से, ग्रेप के कुछ संस्करण एक झंडे का समर्थन करते हैं जो फ़ाइल के नाम को छापने के लिए मजबूर करता है।) इस कार्य को करने के लिए जी. एन. यू. ग्रेप का उपयोग स्वयं किया जा सकता हैः $ग्रेप-आर 'सर्च स्ट्रिंग'/टी. एम. पी. जेस्मिथ के होम डायरेक्टरी ट्री में "लॉग" के लिए खोज का उदाहरण हैः $फाइंड ~ जेस्मिथ-एक्स. ई. सी. ग्रेप लॉग '{}'/देव/नल;-प्रिंट/होम/जेस्मिथ/स्क्रिप्ट्स. शः सी. पी. $लॉग $फिक्स्डलोनाम/होम/जेस्मिथ/स्क्रिप्ट्स/एररप्ट. शः कैट $लॉग/होम/जेस्मिथ/स्क्रिप्ट्स/टाइटलः यू. एस. ई. आर. = $लॉगनाम सभी एक्स में स्ट्रिंग "एरर" के लिए खोज का उदाहरण इस उदाहरण में खोज स्ट्रिंग के आसपास के दोहरे उद्धरण ("") और ब्रेसिज़ के आसपास के एकल उद्धरण ("") वैकल्पिक हैं, लेकिन स्ट्रिंग में रिक्त स्थान और कुछ अन्य विशेष वर्णों की अनुमति देने के लिए आवश्यक हैं। अधिक जटिल पाठ के साथ नोट (विशेष रूप से 'श' और 'सी. एस. एच.' से निकले अधिकांश लोकप्रिय कोशों में) एकल उद्धरण अक्सर आसान विकल्प होते हैं, क्योंकि दोहरे उद्धरण सभी विशेष व्याख्या को नहीं रोकते हैं। अंग्रेजी संकुचन वाले फ़ाइल नामों को उद्धृत करने से पता चलता है कि यह कैसे जटिल हो सकता है, क्योंकि इसमें एक एपोस्ट्रोफी के साथ एक स्ट्रिंग को दोहरे उद्धरणों के साथ संरक्षित करना आसान हैः $फाइंड। - नाम "फाइल-युक्त-नहीं कर सकता"-exec grep "नहीं कर सकता" '{}'\;-उपयोगकर्ता के स्वामित्व वाली सभी फ़ाइलों के लिए खोज प्रिंट करें। - उपयोगकर्ता <यूजरआईडी> असंवेदनशील स्थिति में खोजें ध्यान दें कि-नाम मानक में नहीं है और सभी कार्यान्वयनों द्वारा समर्थित नहीं हो सकता है। $ढूँढें। 'माईफाइल *' नाम दें यदि आपके सिस्टम पर-नाम स्विच समर्थित नहीं है तो समाधान तकनीकें संभव हो सकती हैं जैसे किः $फाइंड। - नाम '[mM] [yY] [fF] [iI] [lL] [eE] *' आकार के अनुसार फ़ाइलों की खोज करें ऐसी फ़ाइलों की खोज करना जिनका आकार 100 किलोबाइट और 500 किलोबाइट के बीच हैः $फाइंड। - साइज + 100k-a-साइज-500k खाली फाइलों की खोजः $ढूँढें। - साइज 0k गैर-खाली फ़ाइलों की खोजः $ढूँढें। ! - साइज 0k फ़ाइलों को नाम और साइज के अनुसार खोजें $/usr/src खोजें! \ (-नाम '*, v'-o-नाम '। *, v '\)' {} '\;-प्रिंट यह आदेश/usr/src निर्देशिका वृक्ष की खोज करेगा। सभी फाइलें जो प्रपत्र की हैं और बहिष्कृत हैं। ध्यान देने योग्य महत्वपूर्ण तर्क टूलटिप में हैं जो माउस-ओवर पर प्रदर्शित होते हैं। $में फ़ाइल के लिए (ढूँढें/चुनें (-नाम त्रुटि _ लॉग-ओ-नाम 'अभिगम _ लॉग'-ओ-नाम 'ssl _ इंजन _ लॉग'-ओ-नाम 'पुनर्लेखन _ लॉग'-ओ-नाम 'catalina.out'\)-आकार + 300000k-एक-आकार-5000000k); बिल्ली/देव/शून्य> $फ़ाइल करें) इकाइयाँ एक होनी चाहिए, 'बी' का अर्थ है 512-बाइट ब्लॉक, 'सी' का अर्थ है बाइट, 'के' का अर्थ है किलोबाइट और 'डब्ल्यू' का अर्थ है 2-बाइट शब्द। आकार अप्रत्यक्ष ब्लॉकों की गिनती नहीं करता है, लेकिन यह विरल फ़ाइलों में ब्लॉकों की गिनती करता है जो वास्तव में आवंटित नहीं हैं। समय तिथि सीमा के अनुसार फ़ाइलों को खोजने का उपयोग, उदाहरण के लिए, बैकअप के बाद से बदली गई फ़ाइलों की सूची बनाने के लिए किया जा सकता है। : संशोधन समयः इनोड परिवर्तन समयः अभिगम समय फ़ाइलों ने कुछ दिन पहले एक सापेक्ष संख्या में संशोधन कियाः + [संख्या] = कम से कम यह कई दिन पहले। - [संख्या] = इतने दिन पहले की तुलना में कम। [संख्या] = ठीक यही कई दिन पहले। वैकल्पिक रूप से पिछले 24 घंटों के बजाय दिन की शुरुआत (0 बजे) से समय को मापने के लिए-डेस्टार्ट जोड़ें। एक सप्ताह के बाद से संशोधित दस्तावेज़ फ़ोल्डर में सभी पाठ फ़ाइलों को खोजने का उदाहरण (जिसका अर्थ है 7 दिन): एक पूर्ण तिथि और समय से पहले या बाद में संशोधित फ़ाइलों का पता लगाएंः-न्यूआर्मट YYYY-MM-DD: तारीख के बाद अंतिम बार संशोधित-नहीं-न्यूआर्मट YYYY-MM-DD: तारीख से पहले अंतिम बार संशोधित फरवरी 2017 में अंतिम बार संपादित सभी पाठ फ़ाइलों का पता लगाने के लिए उदाहरण-$फाइंड ~/दस्तावेज़/- नाम "*. txt"-न्यूआर्मट 2017-02-01-नहीं-न्यूआर्मट 2017-03-01-नई [फ़ाइल]: निर्दिष्ट फ़ाइल की तुलना में हाल ही में संशोधित। - नयाः इनोड परिवर्तन समय के साथ भी ऐसा ही है। - नयाः पहुँच समय के साथ भी ऐसा ही है। इसके अलावा-विपरीत परिणामों या सीमा के लिए नहीं के साथ पूर्व-निर्भर। "document.txt" की तुलना में हाल ही में संपादित सभी पाठ फ़ाइलों को सूचीबद्ध करें-"~/दस्तावेज़/- नाम खोजें" *. txt "-नई document.txt संबंधित उपयोगिताओं का पता लगाना एक यूनिक्स खोज उपकरण है जो फ़ाइल सिस्टम के निर्देशिका पेड़ों के बजाय फ़ाइलों के पूर्व-निर्मित डेटाबेस को खोजता है। यह खोजने की तुलना में तेज़ है लेकिन कम सटीक है क्योंकि डेटाबेस अद्यतित नहीं हो सकता है। जी. आर. ई. पी. एक कमांड-लाइन उपयोगिता है जो एक नियमित अभिव्यक्ति से मेल खाने वाली लाइनों के लिए सादा-पाठ डेटा सेट खोजने के लिए और मानक आउटपुट पर डिफ़ॉल्ट रूप से मिलान करने वाली लाइनों की रिपोर्ट करने के लिए है। ट्री एक कमांड-लाइन उपयोगिता है जो एक निर्देशिका वृक्ष में पाई जाने वाली फ़ाइलों को आवर्ती रूप से सूचीबद्ध करती है, फ़ाइल पदानुक्रम में उनकी स्थिति के अनुसार फ़ाइल नामों को इंडेंट करती है। जी. एन. यू. फाइंड यूटिलिटीज (फाइंडूटिल्स के रूप में भी जाना जाता है) एक जी. एन. यू. पैकेज है जिसमें टूल फाइंड और xargs के कार्यान्वयन शामिल हैं। BusyBox एक ऐसी उपयोगिता है जो एक एकल निष्पादन योग्य फ़ाइल में कई स्ट्रिप-डाउन यूनिक्स उपकरण प्रदान करती है, जिसका उद्देश्य बहुत सीमित संसाधनों के साथ एम्बेडेड ऑपरेटिंग सिस्टम के लिए है। यह खोज का एक संस्करण भी प्रदान करता है। डी. आई. आर. में/एस. विकल्प होता है जो फाइलों या निर्देशिकाओं को बार-बार खोजता है। बेल लैब्स की योजना 9 को बदलने के लिए दो उपयोगिताओं का उपयोग किया जाता हैः एक जो केवल पेड़ पर चलता है और नामों को छापता है और एक जो शेल स्क्रिप्ट के रूप में अभिव्यक्तियों का मूल्यांकन करके केवल फ़िल्टर (जैसे ग्रेप) करता है। पाइप के माध्यम से मनमाने फिल्टर का उपयोग किया जा सकता है। कमांड यूजर स्पेस से प्लान 9 का हिस्सा नहीं हैं, इसलिए गूगल के बेंजामिन बैरनब्लैट के पास गिटहब के माध्यम से उपलब्ध पोसिक्स सिस्टम के लिए एक पोर्टेड संस्करण है। रस्ट प्रोग्रामिंग भाषा में लिखने का एक सरल विकल्प है। mdfind भी देखें, एक समान उपयोगिता जो macOS और डार्विन के लिए मेटाडेटा का उपयोग करती है यूनिक्स आदेशों की सूची DOS आदेशों की सूची फ़िल्टर (उच्च-क्रम कार्य) फ़ाइंड (विंडोज), एक DOS और विंडोज आदेश जो यूनिक्स फ़ाइंड फ़ोर्फ़ाइल्स से बहुत अलग है, एक विंडोज आदेश जो विशेषता द्वारा फ़ाइलों को ढूंढता है, यूनिक्स फ़ाइंड ग्रेप के समान, एक यूनिक्स आदेश जो एक पैटर्न से मेल खाने वाले पाठ को ढूंढता है, विंडोज फ़ाइंड संदर्भों के समान बाहरी लिंक जीएनयू फ़ाइंड कमांड फ़ाइंड के लिए आधिकारिक वेबपेज-25 व्यावहारिक उदाहरण सूचना पुनर्प्राप्ति प्रणाली मानक यूनिक्स प्रोग्राम यूनिक्स एसयूएस2008 उपयोगिताएँ योजना 9 आदेश आईबीएम आई क्यूशेल आदेश