कमांड लाइन का उपयोग कर लिनक्स में फ़ाइलें और फ़ोल्डर्स कैसे खोजें

विषयसूची:

कमांड लाइन का उपयोग कर लिनक्स में फ़ाइलें और फ़ोल्डर्स कैसे खोजें
कमांड लाइन का उपयोग कर लिनक्स में फ़ाइलें और फ़ोल्डर्स कैसे खोजें

वीडियो: कमांड लाइन का उपयोग कर लिनक्स में फ़ाइलें और फ़ोल्डर्स कैसे खोजें

वीडियो: कमांड लाइन का उपयोग कर लिनक्स में फ़ाइलें और फ़ोल्डर्स कैसे खोजें
वीडियो: wifi connected but no internet access How to fix internet connection problem in oppo f17 pro #shorts - YouTube 2024, अप्रैल
Anonim
अधिकांश लोग लिनक्स में फ़ाइलों को खोजने के लिए एक ग्राफिकल फ़ाइल प्रबंधक का उपयोग करते हैं, जैसे कि नोमिलस इन जीनोम, केडीई में डॉल्फिन और एक्सफस में थुनार। हालांकि, लिनक्स में फ़ाइलों को खोजने के लिए कमांड लाइन का उपयोग करने के कई तरीके हैं, इससे कोई फर्क नहीं पड़ता कि आप किस डेस्कटॉप मैनेजर का उपयोग करते हैं।
अधिकांश लोग लिनक्स में फ़ाइलों को खोजने के लिए एक ग्राफिकल फ़ाइल प्रबंधक का उपयोग करते हैं, जैसे कि नोमिलस इन जीनोम, केडीई में डॉल्फिन और एक्सफस में थुनार। हालांकि, लिनक्स में फ़ाइलों को खोजने के लिए कमांड लाइन का उपयोग करने के कई तरीके हैं, इससे कोई फर्क नहीं पड़ता कि आप किस डेस्कटॉप मैनेजर का उपयोग करते हैं।
Image
Image

ढूँढें कमांड का उपयोग करना

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

प्रॉम्प्ट पर निम्न आदेश टाइप करने से वर्तमान निर्देशिका में मिली सभी फाइलें सूचीबद्ध होती हैं।

find.

"खोज" के बाद बिंदु वर्तमान निर्देशिका को इंगित करता है।

किसी विशिष्ट पैटर्न से मेल खाने वाली फ़ाइलों को ढूंढने के लिए, का उपयोग करें
किसी विशिष्ट पैटर्न से मेल खाने वाली फ़ाइलों को ढूंढने के लिए, का उपयोग करें

-name

तर्क। आप फ़ाइल नाम मेटाएक्टएक्टर्स का उपयोग कर सकते हैं (जैसे

*

), लेकिन आपको या तो एक बच निकलने वाला चरित्र रखना चाहिए (

) उनमें से प्रत्येक के सामने या उद्धरण में संलग्न करें।

उदाहरण के लिए, यदि हम दस्तावेज़ निर्देशिका में "प्रो" से शुरू होने वाली सभी फाइलें खोजना चाहते हैं, तो हम इसका उपयोग करेंगे

cd Documents/

दस्तावेज़ निर्देशिका में बदलने के लिए आदेश, और उसके बाद निम्न आदेश टाइप करें:

find. -name pro*

"प्रो" से शुरू होने वाली मौजूदा निर्देशिका में सभी फ़ाइलें सूचीबद्ध हैं।

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

-iname

खोज कमांड के साथ विकल्प। यह मामला असंवेदनशील संस्करण है

-name

आदेश।

अगर
अगर

find

आपके मानदंड से मेल खाने वाली किसी भी फाइल का पता नहीं लगाता है, यह कोई आउटपुट नहीं बनाता है।

खोज कमांड में खोज को परिष्कृत करने के लिए कई विकल्प उपलब्ध हैं। खोज कमांड के बारे में अधिक जानकारी के लिए, चलाएं

man find

टर्मिनल विंडो में और एंटर दबाएं।

लोकेट कमांड का उपयोग करना

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

डेटाबेस को समय-समय पर क्रॉन से अपडेट किया जाता है, लेकिन आप इसे किसी भी समय अपने आप अपडेट भी कर सकते हैं ताकि आप मिनट-दर-मिनट परिणाम प्राप्त कर सकें। ऐसा करने के लिए, प्रॉम्प्ट पर निम्न आदेश टाइप करें:

sudo updatedb

संकेत मिलने पर अपना पासवर्ड दर्ज करें।

locate mydata

उदाहरण के लिए, उपरोक्त आदेश में दो फाइलें मिलीं जिनमें "mydata" और एक फ़ाइल "डेटा" है।

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

-b

निम्नानुसार, आदेश कमांड के साथ विकल्प।

locate -b ‘mydata’

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

), जो एक एकल चरित्र और तारांकन के लिए खड़ा है (

*

), जो पात्रों की एक संकीर्ण स्ट्रिंग के लिए खड़ा है। उपर्युक्त उदाहरण में, बैकस्लैश "mydata *" द्वारा "mydata" के निहित प्रतिस्थापन को अक्षम करता है ताकि आप केवल "mydata" वाले परिणामों के साथ समाप्त हो जाएं।

Mlocate कमांड का पता लगाने का एक नया कार्यान्वयन है। यह संपूर्ण फ़ाइल सिस्टम को अनुक्रमित करता है, लेकिन खोज परिणामों में केवल उन फ़ाइलों को शामिल किया जाता है जिनके लिए वर्तमान उपयोगकर्ता का उपयोग होता है। जब आप mlocate डेटाबेस को अद्यतन करते हैं, तो यह डेटाबेस में टाइमस्टैम्प जानकारी रखता है। यह mlocate को यह जानने की अनुमति देता है कि किसी निर्देशिका की सामग्री फिर से सामग्री को पढ़ने के बिना बदली गई है और डेटाबेस को अपडेट को तेज़ और कम हार्ड ड्राइव पर कम मांग करता है।
Mlocate कमांड का पता लगाने का एक नया कार्यान्वयन है। यह संपूर्ण फ़ाइल सिस्टम को अनुक्रमित करता है, लेकिन खोज परिणामों में केवल उन फ़ाइलों को शामिल किया जाता है जिनके लिए वर्तमान उपयोगकर्ता का उपयोग होता है। जब आप mlocate डेटाबेस को अद्यतन करते हैं, तो यह डेटाबेस में टाइमस्टैम्प जानकारी रखता है। यह mlocate को यह जानने की अनुमति देता है कि किसी निर्देशिका की सामग्री फिर से सामग्री को पढ़ने के बिना बदली गई है और डेटाबेस को अपडेट को तेज़ और कम हार्ड ड्राइव पर कम मांग करता है।

जब आप mlocate स्थापित करते हैं, तो mococate को इंगित करने के लिए / usr / bin / बाइनरी फ़ाइल का पता लगाएं। Mlocate को स्थापित करने के लिए, अगर यह आपके लिनक्स वितरण में पहले से शामिल नहीं है, तो प्रॉम्प्ट पर निम्न आदेश टाइप करें।

sudo apt-get install mlocate

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

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

sudo /etc/cron.daily/mlocate

Mlocate कमांड तब तक काम नहीं करेगा जब तक डेटाबेस मैन्युअल रूप से बनाया गया हो या जब स्क्रिप्ट क्रॉन से चलती है।

या तो पता या mlocate कमांड के बारे में अधिक जानकारी के लिए, टाइप करें
या तो पता या mlocate कमांड के बारे में अधिक जानकारी के लिए, टाइप करें

man locate

या

man mlocate

टर्मिनल विंडो में और एंटर दबाएं। दोनों कमांड के लिए एक ही मदद स्क्रीन प्रदर्शित करता है।

कौन सा कमान का उपयोग करना

"कौन सा" आदेश निष्पादन योग्य का पूर्ण पथ देता है जिसे कमांड जारी होने पर बुलाया जाता है। डेस्कटॉप पर, पैनल पर, या डेस्कटॉप मैनेजर में अन्य स्थान पर प्रोग्राम के लिए शॉर्टकट बनाने के लिए निष्पादन योग्य स्थान खोजने में यह उपयोगी है। उदाहरण के लिए, कमांड टाइप करना

which firefox

नीचे दी गई छवि में दिखाए गए परिणाम प्रदर्शित करता है।

डिफ़ॉल्ट रूप से, कौन सा आदेश केवल पहले मिलान निष्पादन योग्य प्रदर्शित करता है। सभी मिलान करने वाले निष्पादन योग्य प्रदर्शित करने के लिए, का उपयोग करें
डिफ़ॉल्ट रूप से, कौन सा आदेश केवल पहले मिलान निष्पादन योग्य प्रदर्शित करता है। सभी मिलान करने वाले निष्पादन योग्य प्रदर्शित करने के लिए, का उपयोग करें

-a

आदेश के साथ विकल्प:

which -a firefox

आप निम्न छवियों में दिखाए गए अनुसार, एक साथ कई निष्पादन योग्य खोज कर सकते हैं। केवल निष्पादन योग्य पथों के पथ प्रदर्शित होते हैं।नीचे दिए गए उदाहरण में, केवल, Äúps,Äù निष्पादन योग्य पाया गया था।

नोट: कौन सा आदेश केवल वर्तमान उपयोगकर्ता के पैथ चर की खोज करता है। यदि आप एक निष्पादन योग्य खोजते हैं जो केवल रूट उपयोगकर्ता के लिए सामान्य उपयोगकर्ता के रूप में उपलब्ध है, तो कोई परिणाम प्रदर्शित नहीं होगा।
नोट: कौन सा आदेश केवल वर्तमान उपयोगकर्ता के पैथ चर की खोज करता है। यदि आप एक निष्पादन योग्य खोजते हैं जो केवल रूट उपयोगकर्ता के लिए सामान्य उपयोगकर्ता के रूप में उपलब्ध है, तो कोई परिणाम प्रदर्शित नहीं होगा।

टर्मिनल विंडो में कमांड प्रॉम्प्ट पर कौन सा कमांड, टाइप, whichúman (उद्धरण के बिना) के बारे में अधिक जानकारी के लिए एंटर दबाएं।

Whereis कमांड का उपयोग करना

जहां कमांड का उपयोग यह पता लगाने के लिए किया जाता है कि कमांड के लिए बाइनरी, स्रोत और मैन पेज फाइल कहां स्थित हैं। उदाहरण के लिए, टाइपिंग

whereis firefox

प्रॉम्प्ट पर निम्न छवियों में दिखाए गए परिणाम दिखाते हैं।

यदि आप केवल निष्पादन योग्य के पथ को प्रदर्शित करना चाहते हैं, न कि स्रोत और मनुष्य (ual) पृष्ठों के पथ, तो इसका उपयोग करें
यदि आप केवल निष्पादन योग्य के पथ को प्रदर्शित करना चाहते हैं, न कि स्रोत और मनुष्य (ual) पृष्ठों के पथ, तो इसका उपयोग करें

-b

विकल्प। उदाहरण के लिए, आदेश

whereis -b firefox

केवल प्रदर्शित होगा

/usr/bin/firefox

जैसा कि परिणाम है। यह आसान है क्योंकि आप उस कार्यक्रम के लिए स्रोत और मैन पेजों की खोज करने की अपेक्षा अधिक से अधिक प्रोग्राम निष्पादन योग्य फ़ाइल की खोज करेंगे। आप केवल स्रोत फ़ाइलों को भी खोज सकते हैं (

-s

) या केवल मैन पेज के लिए (

-m

).

जहां कमांड के बारे में अधिक जानकारी के लिए, टाइप करें

man whereis

टर्मिनल विंडो में और एंटर दबाएं।

व्हाटिस कमांड और कौन सा कमान के बीच अंतर को समझना

जहांिस कमांड आपको कमांड के लिए बाइनरी, स्रोत और मैन पेजों के लिए स्थान दिखाता है, जबकि कौन सा आदेश आपको कमांड के लिए बाइनरी का स्थान दिखाता है।

जहांिस कमांड बाइनरी, स्रोत और मैन फाइलों के लिए विशिष्ट निर्देशिकाओं की सूची के माध्यम से खोज करता है, जबकि कौन सा कमांड वर्तमान उपयोगकर्ता के पाथ पर्यावरण चर में सूचीबद्ध निर्देशिकाओं की खोज करता है। जहां कमांड के लिए, विशिष्ट निर्देशिकाओं की सूची कमांड के लिए मैन पेज के FILES अनुभाग में पाई जा सकती है।

जब डिफ़ॉल्ट रूप से प्रदर्शित परिणामों की बात आती है, तो जहां कमांड यह सब कुछ दिखाता है, जबकि यह आदेश केवल पहले निष्पादन योग्य को प्रदर्शित करता है। आप इसका उपयोग कर बदल सकते हैं

-a

विकल्प, पहले किस पर चर्चा की, किस आदेश के लिए।

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

-a

पूरे सिस्टम में कमांड की सभी घटनाओं को खोजने का विकल्प।

सिफारिश की: