क्या लिनक्स में केवल निर्देशिकाएँ पुनरावर्ती हैं?

Is List Only Directories Recursively Linux



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

सरल सूची निर्देशिकाओं के उदाहरण

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







$ एलएस -एल



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



$ एलएस -ला





अतिरिक्त जानकारी के बिना निर्देशिकाओं को आसानी से सूचीबद्ध करने के लिए, नीचे दिए गए आदेश के बाद ध्वज -d का प्रयास करें।

$ एलएस -डी * /



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

$ एलएस -एल -डी * /

केवल विशिष्ट होम निर्देशिका में फ़ाइलों की कुल संख्या की जाँच करने के लिए, शेल में नीचे प्रस्तुत कमांड का प्रयास करें। आपको अपने Linux ऑपरेटिंग सिस्टम में फाइलों की कुल संख्या मिल जाएगी।

$ एलएस -एल | egrep -v '^ डी'

लिस्टिंग निर्देशिकाओं का उदाहरण पुनरावर्ती

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

पुनरावर्ती रूप से -lR ध्वज का उपयोग करके सूची बनाएं

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

$ एलएस -एलआर

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

$ ls -lR / होम / अक्सायासिन / दस्तावेज़ /

फाइंड कमांड का उपयोग करके रिकर्सिवली लिस्ट करें

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

$ ढूँढें /घर/अकसायसिन/दस्तावेज़/ -प्रिंट-एलएस

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

$ ढूँढें /घर/अकसायसिन/दस्तावेज़/ -प्रिंट

-डु कमांड का उपयोग करके पुनरावर्ती सूची बनाएं

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

$ डु-ए / होम / अक्सायासिन / दस्तावेज /

ट्री कमांड का उपयोग करके पुनरावर्ती रूप से सूचीबद्ध करें

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

$ पेड़ /घर/अकसायसिन/दस्तावेज़/

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

$ पेड़ /घर/अकसायसिन/

निष्कर्ष

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