शुरुआती लिनक्स उपयोगकर्ताओं को सीखने के लिए जानकारी के एक विशाल पहाड़ से मुलाकात की जाती है। यह टर्मिनल चीज़ क्या है? मैं सॉफ़्टवेयर अद्यतन कैसे चलाऊँ? मैं कौन सा डिस्ट्रो चुनूं? वे सभी सामान्य प्रश्न हैं। हालांकि, एक सवाल है जो अभी भी कई अनुभवी लिनक्स उपयोगकर्ताओं को परेशान करता है:लिनक्स वर्चुअल निर्देशिका प्रणाली में प्रत्येक निर्देशिका में क्या है? यहां हम लिनक्स वर्चुअल डायरेक्टरी सिस्टम के लिए हमारे गाइड में "/" से "/boot" तक सब कुछ कवर करते हैं।
Linux वर्चुअल डायरेक्ट्री सिस्टम क्या है?
वर्चुअल डायरेक्ट्री सिस्टम कंप्यूटर ऑपरेटिंग सिस्टम में फाइलों और निर्देशिकाओं को व्यवस्थित करने का एक तरीका है। इसे "वर्चुअल" कहा जाने का कारण यह है कि कोई वास्तविक भौतिक घटक नहीं है - विंडो पर, आपके पास "सी:" ड्राइव, "डी:" ड्राइव, और इसी तरह है। Linux पर, सभी भौतिक डिस्क को आपके वर्चुअल निर्देशिका सिस्टम में फ़ाइलों के रूप में माना जाता है। यह वह जगह है जहाँ वाक्यांश "सब कुछ एक फ़ाइल है" से आता है। यहां तक कि आपके सिस्टम में जिस डिस्क से आप अपने ऑपरेटिंग सिस्टम के लिए काम कर रहे हैं, उसे भी एक फाइल के रूप में माना जाता है।
वर्चुअल डायरेक्ट्री सिस्टम को समझना
रूट निर्देशिका:/
चलिए शुरुआत से ही शुरू करते हैं। "/" (या "रूट") निर्देशिका वह है जो सिस्टम में सब कुछ समाहित करती है। cd /
चलाकर आदेश, आप अपने सिस्टम पर जितना संभव हो ज़ूम आउट कर रहे हैं। "/" निर्देशिका में बदलें और ls
. चलाएँ आज्ञा। आप देखना शुरू कर देंगे कि मेरा क्या मतलब है। "दस्तावेज़," "डाउनलोड," या "चित्र" के बजाय, आपको "बिन," "देव," और "होम" जैसी चीज़ें मिलती हैं। यह आपके डिस्ट्रो के आधार पर थोड़ा अलग होगा, लेकिन कुछ मुख्य निर्देशिकाएं हैं जो हमेशा बहुत अधिक रहेंगी। यहां से सभी निर्देशिकाओं की शुरुआत में "/" होगा क्योंकि यही सब कुछ का मूल है - इसलिए इसका नाम "रूट" है।
द्विआधारी निर्देशिका:/bin
"/ बिन" निर्देशिका आपके सिस्टम में सभी बाइनरी प्रोग्राम रखती है। यदि आप वहां देखें, तो आपको cd
. जैसे सामान्य आदेश दिखाई देंगे और ls
जिसका हम पहले ही उपयोग कर चुके हैं। आप उन्हें which cd
. चलाकर भी ढूंढ सकते हैं या which ls
आदेश। आधुनिक डिस्ट्रोस पर अधिकांश समय, "/ बिन" निर्देशिका "/ usr/bin" निर्देशिका से जुड़ी होती है। "/usr" निर्देशिका को बाद में कवर किया गया है, लेकिन संक्षेप में, उनका उपयोग "/bin" निर्देशिका में सिस्टम और प्रशासकों के लिए बायनेरिज़ और "/usr/bin" में सिस्टम उपयोगकर्ताओं को अलग करने के लिए किया जाता है।
बूट निर्देशिका:/boot
"/boot" निर्देशिका में सभी मूलभूत जानकारी होती है जिसे आपके सिस्टम को शुरू करने की आवश्यकता होगी। आपके सिस्टम पर आपके द्वारा स्थापित सभी कर्नेल, उन कर्नेल के लिए सभी कॉन्फ़िगरेशन फ़ाइलें, ग्रब के लिए जानकारी - यह सब। यह एक बहुत ही महत्वपूर्ण निर्देशिका है, और इसे आपके सिस्टम से अलग EFI सिस्टम विभाजन के रूप में माना जाता है। इसलिए जब आप मैन्युअल विभाजन बनाते हैं, तो आपको कम से कम "/" और "/boot" को अलग-अलग बनाने की आवश्यकता होती है।
डिवाइस निर्देशिका:/dev
"/ dev" निर्देशिका सिस्टम में सभी डिवाइस फ़ाइलों को रखती है, जो आपके सिस्टम के सभी हार्डवेयर घटक हैं (साथ ही कुछ अन्य महत्वपूर्ण वर्चुअल डिवाइस जैसे "नल" और "रैंडम")। "cpu," "sda," "tty," "stderr," "stdin," और "stdout" जैसी चीज़ों पर ध्यान दें। वे सभी महत्वपूर्ण डिवाइस फ़ाइलें हैं जिनसे आप दैनिक आधार पर सहभागिता करेंगे।
आदि निर्देशिका:/etc
यह यादृच्छिक सामान के लिए है। "/ etc" निर्देशिका, Etsy की तरह उच्चारित, वह जगह है जहाँ आपको अपने सिस्टम की अधिकांश चीज़ों के लिए बहुत सारी कॉन्फ़िगरेशन फ़ाइलें मिलेंगी। SSH, Pipewire, systemD और Firefox जैसी सभी चीज़ों में यहाँ कॉन्फ़िगरेशन फ़ाइलें हैं। यह वर्चुअल डायरेक्ट्री सिस्टम के जंक ड्रॉअर की तरह है - बहुत महत्वपूर्ण लेकिन चीजों को खोजने के लिए थोड़ा बोझिल।
होम डायरेक्टरी:/होम
"/ होम" निर्देशिका में उपयोगकर्ताओं के लिए सभी व्यक्तिगत फ़ाइलें होती हैं। जब कोई उपयोगकर्ता बनाया जाता है, तो उन्हें आम तौर पर "/ होम" निर्देशिका और केवल "/ होम" निर्देशिका में फ़ाइलों को संपादित करने की अनुमति दी जाती है। कुछ यूजर्स को एडमिन राइट्स भी दिए जाते हैं, जो कि sudo
है आपको नेट करता है, लेकिन यह सिर्फ रूट उपयोगकर्ता के अधिकारों को मान रहा है। अगर आप whoami
चलाते हैं और sudo whoami
क्रमिक रूप से, आप उसे देखना शुरू कर देंगे। यह वह निर्देशिका है जिससे आप सबसे अधिक परिचित हैं।
लाइब्रेरी निर्देशिका:/lib, /lib32, और /lib64
"/ लिब" निर्देशिकाओं में सभी विशिष्ट पुस्तकालय होते हैं जो "/ बिन" या "/ एसबिन" (बाद में कवर किए गए) में प्रोग्राम का उपयोग करेंगे। यह वह जगह है जहां कर्नेल और कर्नेल मॉड्यूल के विभिन्न भागों को स्थापित करने के लिए अन्य पुस्तकालयों के साथ फर्मवेयर संग्रहीत किया जाता है। बहन निर्देशिका "/ lib32" और "/ lib64" में केवल 32-बिट और 64-बिट ऑपरेटिंग सिस्टम के संस्करण होते हैं और लगभग आधार "/ lib" निर्देशिका के समान होते हैं।
मीडिया निर्देशिका:/मीडिया और /mnt
मैं इन्हें एक साथ समूहित कर रहा हूं क्योंकि वे अक्सर एक ही उद्देश्य की पूर्ति करते हैं। "/ मीडिया" निर्देशिका वह जगह है जहां सीडी, डीवीडी या अन्य हटाने योग्य मीडिया की सामग्री संग्रहीत की जाती है। यदि मैं USB ड्राइव प्लग इन करता हूं, तो आप इसे अधिकांश सिस्टम पर "/media" में पॉप अप देखेंगे।
"/mnt" निर्देशिका का उपयोग लंबी अवधि के आरोह के लिए किया जाता है। उदाहरण के लिए, अगर मुझे अपने सिस्टम में एक और एसएसडी जोड़ना था, तो मैं इसके लिए "/ mnt" निर्देशिका में एक स्थायी माउंट पॉइंट सेट कर सकता हूं। या, अगर मेरे घर में NAS है, तो मैं उस जानकारी को "/mnt" निर्देशिका में भी माउंट कर सकता हूं।
/opt
"/ ऑप्ट" निर्देशिका में उपयोगकर्ता द्वारा उपयोग के लिए अतिरिक्त सॉफ़्टवेयर पैकेज होते हैं। यह आपके विचार से बहुत छोटा है - मेरे पास केवल बहादुर, Google Chrome और उदात्त पाठ के लिए फ़ाइलें हैं। यदि आप सॉफ़्टवेयर के एक भाग के लिए एक संग्रह जोड़ते हैं, तो आप शायद "/opt" में पाएंगे।
/proc
"/ proc" निर्देशिका में हार्डवेयर जानकारी और चल रही प्रक्रिया की जानकारी होती है। जैसा कि सिस्टम यह पता लगाता है कि हार्डवेयर परिदृश्य कैसा दिखता है, वह "/ proc" निर्देशिका में संग्रहीत हो जाएगा। उदाहरण के लिए, यदि आप cat /proc/cpuinfo
. कमांड चलाते हैं , आप अपने CPU के बारे में जितना आपने सोचा था उससे कहीं अधिक सीखेंगे।
/root
यह "/ होम" निर्देशिका का केवल मूल उपयोगकर्ता का संस्करण है। यदि आप रूट उपयोगकर्ता के रूप में बहुत काम करते हैं, तो आपको वहां सामान मिल जाएगा।
/run
"/ रन" निर्देशिका कुछ हद तक "/ proc" के समान है - बस हार्डवेयर के बजाय, "/ रन" सॉफ़्टवेयर पर केंद्रित है। दोनों स्टोर करते हैं जिसे "अस्थिर रनटाइम डेटा" कहा जाता है, जिसका अर्थ है कि हर बार जब आप सिस्टम को रीबूट करते हैं तो इन निर्देशिकाओं को काफी हद तक साफ़ कर दिया जाता है, लेकिन जब ओएस आपके सिस्टम के बारे में अधिक सीखता है और आप इसका उपयोग किस लिए कर रहे हैं, तो वे सहायक सामान संग्रहीत करते हैं।
/sbin
"/sbin" निर्देशिका में बाइनरी प्रोग्राम होते हैं जिन्हें केवल रूट उपयोगकर्ता के लिए उपलब्ध कराया जाना चाहिए। उदाहरण के लिए, बाइनरी प्रोग्राम जो आपके सिस्टम को बंद कर देता है (poweroff
) शायद "/sbin" में रहना चाहिए।
/srv
यह वह निर्देशिका है जो आपके द्वारा चलाई जा रही वेब-सुलभ सेवाओं के आधार पर साइट-विशिष्ट डेटा रखती है। एफ़टीपी और एचटीटीपी जैसी चीज़ों में विशिष्ट जानकारी यहाँ संग्रहीत होगी। मैं कोई भी नहीं चला रहा हूं, इसलिए मेरी "/srv" निर्देशिका खाली है।
/sys
"/ sys" निर्देशिका सिस्टम में प्रमुख उपकरणों के बारे में जानकारी रखती है। माइन में, आपको "/sys/dev," "/sys/फर्मवेयर," और "/sys/kernel" जैसी चीज़ें दिखाई देंगी। यह "/ dev" निर्देशिका में सुपर महत्वपूर्ण हार्डवेयर उपकरणों की चेरी-पिकिंग है।
/tmp
"/tmp" निर्देशिका का उपयोग आपके सिस्टम पर विभिन्न प्रोग्रामों से अस्थायी जानकारी संग्रहीत करने के लिए किया जाता है। रीबूट के बिना जानकारी केवल कुछ दिनों के लिए यहां संग्रहीत की जाती है, इसलिए यह अन्य संग्रहण स्थान को मुक्त रखने के लिए जानकारी पर केवल अस्थायी लॉक है। अधिकांश उपयोगकर्ताओं को "/ tmp" निर्देशिका के साथ बहुत कुछ नहीं करना होगा।
/usr
"/ usr" निर्देशिका अधिक से अधिक सामान्य रूप से छुआ जा रहा है। अब, "/bin," "/lib," और "/sbin" जैसी निर्देशिकाएं "/usr" में उन निर्देशिकाओं के संस्करणों से जुड़ी हुई हैं। आप देख सकते हैं कि जब मैं ll
. चलाता हूं मेरे सिस्टम पर कमांड।
वे सॉफ्ट लिंक हैं, इसलिए उन्हें अनलिंक किया जा सकता है, लेकिन सिस्टम "/ बिन" या "/ sbin" निर्देशिकाओं के बजाय "/ usr / bin" या "/ usr / sbin" निर्देशिकाओं से पढ़ना समाप्त कर देता है। यह सब वर्तमान पदानुक्रम को सरल बनाने और इन कार्यक्रमों को खोजने में आसान बनाने के लिए किया जाता है। यह जीवन की एक अच्छी गुणवत्ता वाली चीज है जो लिनक्स से यूनिक्स पर स्विच करना आसान बनाती है या अलग-अलग बायनेरिज़ में निश्चित स्थान नहीं रखती है।
/var
"/ var" निर्देशिका "/ tmp" निर्देशिका के समान है, लेकिन यह थोड़ी देर के लिए डेटा रखती है। यह लॉग फाइल और KVM वर्चुअल मशीन डिस्क इमेज जैसी चीजों को भी स्टोर करता है।
जैसा कि आप देख सकते हैं, Linux वर्चुअल निर्देशिका प्रणाली उन फ़ाइलों को व्यवस्थित करने के लिए है जिनका उपयोग आपका सिस्टम करेगा और आपके सिस्टम को प्रशासित और प्रबंधित करने के लिए इसे आसान बना देगा। जाहिर है, आप इस प्रणाली के साथ जो चाहें कर सकते हैं (यह लिनक्स की सुंदरता है), लेकिन चीजों को वैसे ही छोड़ना ठीक है और अधिकांश डेस्कटॉप उपयोगकर्ताओं के लिए बांका है। आप यह भी जानना चाहेंगे कि 2021 में Linux के लिए कौन सा फ़ाइल सिस्टम सबसे अच्छा है।