लिनक्स पर पांच फाइल सर्चिंग कमांड

परिचय

वहाँ लिनक्स पर पाँच फ़ाइल खोज आदेशों हैं: whereis, locate, which, type, और find। उनमें से प्रत्येक की अपनी विशेषताएं हैं और विशेष रूप से खोज परिदृश्यों के लिए डिज़ाइन किया गया है। यह मार्गदर्शिका आपको प्रत्येक कमांड से परिचित कराएगी और उदाहरण usages को दिखाएगी। इनमें से किसी भी कमांड पर आगे पढ़ने के लिए, उपयुक्त मैनपेज की समीक्षा करना सबसे अच्छा है।

whereis

whereisआदेश कई मानक पर बाइनरी फ़ाइलें, स्रोत कोड, और ऑनलाइन मैनुअल पृष्ठों खोज करने के लिए किसी भी कार्यक्रम निर्दिष्ट नाम के लिए निर्देशिका स्थापित किया जाता है।

क्योंकि whereisआपके सिस्टम पर हर स्थान खोज नहीं करता है, इन विशिष्ट निर्देशिकाओं में से कोई भी फ़ाइल नहीं मिलेगी। उसी कारण से, आपको अपना खोज परिणाम जल्दी मिल जाएगा, चाहे मिला या नहीं।

साथ ही, यह उन कमांड की खोज नहीं करेगा, जो सीधे शेल में बनाए गए हैं।

उदाहरण के लिए, यदि आप lsकमांड के बारे में जानकारी प्राप्त करना चाहते हैं, तो अपने टर्मिनल पर निम्न कमांड चलाएँ:

whereis ls

आपको कुछ प्रतिक्रिया मिलेगी जैसे:

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

परिणाम में, /bin/lsवह बाइनरी है जिसे आप ढूंढना चाहते हैं, अन्य दो lsप्रोग्राम के लिए मैनपेज हैं, प्रोग्राम के लिए कोई स्रोत कोड नहीं lsमिला।

/bin/lsफ़ाइल को अपने होम डायरेक्टरी और डायरेक्टरी में कॉपी करें /usr/bin, और फिर whereisकमांड फिर से चलाएँ:

cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls

जैसा कि आप देखते हैं, केवल /bin/lsऔर केवल /usr/bin/lsखोज परिणाम में पाए गए थे। lsक्योंकि आपकी होम निर्देशिका मानक निर्देशिका स्थापित उन में से एक नहीं है अपने घर निर्देशिका में कार्यक्रम नहीं मिला था।

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

यदि आप निम्न आदेश चलाते हैं:

whereis cd

आप नीचे दिए गए लाइन के समान आउटपुट देखेंगे। कोई बाइनरी फ़ाइल नहीं खोजी गई क्योंकि cdशेल का एक अंतर्निहित कमांड है।

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

locateआदेश एक डेटाबेस की मदद से नाम से फ़ाइलें ढूंढने के लिए प्रयोग किया जाता है ( /var/lib/mlocate/mlocate.db)। यह डेटाबेस मूल रूप से आपके फाइल सिस्टम के लेआउट का एक स्नैपशॉट है। इस डेटाबेस में कोई भी रिकॉर्ड जो आपकी क्वेरी से मेल खाता है, उसे खोज परिणाम में सूचीबद्ध किया जाएगा। डिफ़ॉल्ट रूप से, locateकमांड आपके क्वेरी का उपयोग पथ रिकॉर्ड सहित प्रत्येक रिकॉर्ड के पूरे नाम के किसी भी भाग से मेल खाने के लिए करेगा। इसलिए, खोज परिणाम में मिलान की गई फ़ाइलों की संख्या आपकी अपेक्षा से अधिक हो सकती है।

जैसे-जैसे डेटाबेस पुराना होता जाता है, locateकमांड का सर्च रिजल्ट कम सटीक होता जाता है। आप उन फ़ाइलों को देख सकते हैं जो अब मौजूद नहीं हैं, या आप नई बनाई गई फ़ाइलों के लिए मैच नहीं देखेंगे। डिफ़ॉल्ट रूप से, mlocate.dbडेटाबेस स्वचालित रूप से दिन में एक बार अपडेट किया जाता है। आप updatedbइसे मैन्युअल रूप से अपडेट करने के लिए कमांड का उपयोग कर सकते हैं ।

क्योंकि फ़ाइल सिस्टम के बजाय डेटाबेस पर खोज की जाती है, खोज की गति बहुत तेज़ है।

यदि आप निम्न आदेश चलाते हैं:

locate ls

आपको अपने अपेक्षित परिणाम के बजाय कई रिकॉर्ड मिलेंगे।

खोज परिणाम को अधिक सटीक बनाने के लिए, आप -bखोज श्रेणी को सीमित करने के लिए ध्वज का उपयोग कर सकते हैं , अपनी क्वेरी का उपयोग केवल प्रत्येक रिकॉर्ड के बेसनेम से करने के लिए कर सकते हैं:

locate -b "\ls"

इस बार, आपको प्रत्येक फाइल का स्थान बिल्कुल lsआपके फाइल सिस्टम पर मिलेगा :

/bin/ls

which

whichआदेश आदेश आप वातावरण चर के मूल्य में निर्दिष्ट के लिए खोज करेंगे PATHऔर डिफ़ॉल्ट रूप से पहला परिणाम लौटने। यदि आप किसी अन्य को क्वेरी कर रहे हैं, तो whichकमांड आपकी खोज करने से पहले उपनाम के लिए वास्तविक कमांड का निर्धारण करेगा।

whichआदेश भी अपनी सादगी की वजह से बहुत तेजी से है।

whichकमांड का उपयोग सरल है:

which your_command

यदि आप पहले वाले के बजाय सभी मिलान आदेशों को दिखाना चाहते हैं, तो -aध्वज का उपयोग करें :

which -a your_command

यहाँ एक आदेश के लिए खोज करने के लिए एक उदाहरण है जो अलियास किया गया है:

which ll

खोज परिणाम होगा:

alias ll='ls -l --color=auto'
    /bin/ls

type

डिफ़ॉल्ट रूप से, typeकमांड इंगित करेगा कि कमांड नाम की व्याख्या कैसे की जाएगी। संभावित परिणामों में एक उपनाम, एक कीवर्ड, एक फ़ंक्शन, एक बिलिन या एक फ़ाइल शामिल है। whereisकमांड की तरह, कमांड typeकेवल आपकी क्वेरी का उत्तर देने के लिए कई मानक स्थापित निर्देशिकाओं में खोज करेगा।

विभिन्न कमांड टाइप करने के लिए कुछ उदाहरण:

एक शेल बिलिन कमांड:

type cd

cd is a shell builtin

फाइलसिस्टम पर एक बाइनरी फाइल:

type sudo

sudo is /usr/bin/sudo

एक उपनाम:

type ls

ls is aliased to `ls --color=auto'

find

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

findकमांड के लिए खोज मानदंड इतने छोटे लेख में व्याख्या करने के लिए बहुत परिष्कृत हैं, यहां कुछ उदाहरण दिए गए हैं।

findकमांड का मूल प्रारूप :

find [path] [option] [action]

कार्यशील निर्देशिका की सभी फ़ाइलों और इसके सभी उप-निर्देशिकाओं को खोजने के लिए:

find

aaaअपने घर निर्देशिका और इसके सभी उप-निर्देशिकाओं में कॉल की गई फ़ाइल खोजने के लिए :

find ~ -name 'aaa'

पिछले 24 घंटों में संशोधित की गई फाइल सिस्टम की सभी फाइलों को खोजने के लिए:

find / -mtime 0

वेब निर्देशिका और उपयोगकर्ता के अंतर्गत आने वाली सभी उप-निर्देशिकाओं की सभी फ़ाइलों को खोजने के लिए nginx:

find /usr/share/nginx/html/ -user nginx

वर्किंग डायरेक्टरी की सभी फाइलों को खोजने के लिए जिनकी अनुमति है 0744:

find -perm -0744

aaaकार्य निर्देशिका में नाम के साथ एक फ़ाइल खोजने के लिए और इसकी विस्तृत जानकारी सूचीबद्ध करने के लिए:

find -name 'aaa' -exec ls -l {} \;


Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ