सिस्टम की तरह यूनिक्स और यूनिक्स पर निर्देशिकाओं का अर्थ


112

मैं अब कुछ वर्षों के लिए लिनक्स का उपयोग कर रहा हूं, लेकिन मैंने अभी भी यह पता नहीं लगाया है कि कुछ निर्देशिका नामों का मूल या अर्थ यूनिक्स और यूनिक्स जैसी प्रणालियों पर क्या है। उदाहरण के etcलिए या क्या है var? optनाम कहां से आता है?

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


मजेदार बात यूनिक्स मल्टीिक्स की पैरोडी होने और जीवित रहने के लिए एक होने के नाते ... मुझे लगता है कि मल्टीिक्स यह समय से आगे का रास्ता था।
स्पार्क

जवाबों:


134

लिनक्स फ़ाइल-सिस्टम के लेआउट के अधिक डेटा के लिए, फाइलसिस्टम पदानुक्रम मानक (अब संस्करण 2.3 पर, बीटा 3.0 संस्करण के साथ सबसे हाल के डिस्ट्रोस पर तैनात) को देखें। यह कुछ समझाता है कि नाम कहाँ से आए हैं:

  • / बिन - बिन उठता है।
  • / बूट - बूट आईएनजी केलिए आवश्यक फाइलें।
  • / देव - देव बर्फ फाइलें।
  • / आदि - Et c etera । यह नाम जल्द से जल्द यूनिक्स से विरासत में मिला है, जो तब है जब यह कॉन्फिग-फाइल्स डालने का स्थान बन गया है।
  • / होम - जहां घर निर्देशिकाओं को रखा जाता है।
  • / lib - जहाँ कोड लिबर रिअर्स रखे जाते हैं।
  • / मीडिया - एक और अधिक आधुनिक निर्देशिका, लेकिन जहां हटाने योग्य मीडिया माउंट हो जाता है।
  • / mnt - जहाँ अस्थायी फ़ाइल-सिस्टम m ou nt ed हैं।
  • / ऑप्ट - जहां ऑप्ट ional ऐड-ऑन सॉफ़्टवेयर स्थापित है। यह उन/usr/local/कारणोंसे असतत है जोमुझे बाद में मिलेंगे।
  • / run - जहां रन टाइम चर डेटा रखा जाता है।
  • / sbin - जहाँ s uper- बिन मेष जमा हो जाते हैं। ये आमतौर पर केवल जड़ से काम करते हैं।
  • / srv - " s e rv e" केलिए खड़ा है। यह निर्देशिका उन स्टैटिक फ़ाइलों के लिए अभिप्रेत है, जिनकी सेवा की जाती है। एक FTP सर्वर के लिए/srv/http, स्थैतिक वेबसाइटों के लिए होगा/srv/ftp
  • / tmp - जहाँ t e mp orary फ़ाइलें संग्रहीत की जा सकती हैं।
  • / usr - एक और निर्देशिका पुराने के यूनिक्स से विरासत में मिली है, यह " यू निक्स एस यस्टेम आर एसोर्स" के लिए है। यह"उपयोगकर्ता" के लिए खड़ा नहीं है ( डेबियन विकी देखें)। यह निर्देशिका मेजबानों के बीच मिलाने योग्य होनी चाहिए, और एनएफएस को कई मेजबानों को सुरक्षित रूप से घुड़सवार किया जा सकता है। इसे केवल सुरक्षित रूप से पढ़ा जा सकता है।
  • / var - एक और निर्देशिका पुराने के यूनिक्स से विरासत में मिली, यह " var iable" के लिए है। यह वह जगह है जहाँ सिस्टम डेटा अलग-अलग संग्रहीत किया जा सकता है। स्पूल और कैश निर्देशिका जैसी चीजें यहां स्थित हो सकती हैं। यदि किसी प्रोग्राम को स्थानीय फाइल-सिस्टम को लिखना है और उस डेटा को सीधे किसी को नहीं देना है, तो वह यहां जाएगा।

/ ऑप्ट बनाम / यूएसआर / स्थानीय

मैंने देखा है कि अंगूठे का नियम सबसे अच्छा है:

/usr/localउन चीजों के लिए उपयोग करें जो आम तौर पर /usrचलेंगी, या पहले से मौजूद चीजों को ओवरराइड कर रही हैं /usr/optउन चीजों के लिए उपयोग करें जो सभी को एक निर्देशिका में स्थापित करते हैं, या अन्यथा विशेष हैं।


2
दस्तावेज़ मेरे प्रश्न के पहले छमाही का जवाब बहुत अच्छी तरह से देता है। हालांकि, नाम कहां से लिए गए हैं यह अभी भी एक रहस्य है। कारण मैं जानना चाहता हूँ क्योंकि मुझे लगता है कि यह मुझे और अधिक संदर्भ देगा।
ल्यूक

नामकरण लगभग सभी आत्म व्याख्यात्मक है। खासकर यदि आप उस लिंक में विवरण के माध्यम से पढ़ते हैं।
डैन कार्ले

3
नहीं, यह नहीं है। यह बताता है कि 'आदि' का उपयोग किस लिए किया जाता है, लेकिन यह नहीं बताया गया है कि यह नाम कहां से आया है या इसका क्या अर्थ है।
ल्यूक

@ sysadmin1138, तो /runमूल रूप से RAM को संदर्भित कर रहा है?
5

@ स्पेसर यह एक फाइल सिस्टम है, लेकिन रैम-डिस्क के रूप में सुरक्षित रूप से माउंट किया जा सकता है। उस ने कहा, कई कार्यक्रमों में एक निर्धारित संरचना होती है, इसलिए वास्तव में दृढ़ता की आवश्यकता होती है।
sysadmin1138

22

ऐतिहासिक रूप से, /etc"वगैरह" के लिए खड़ा है और /var"चर" के लिए छोटा है। मुझे लगता है कि पूर्व क्योंकि असंबंधित सिस्टम कॉन्फ़िगरेशन फ़ाइलों का एक बड़ा संग्रह है /etc। उत्तरार्द्ध है क्योंकि फ़ाइलों /varको बदलने की उम्मीद है। आप अक्सर माउंट कर सकते हैं /usrऔर /केवल पढ़ने के लिए (अपडेट करने के अलावा), लेकिन आप /varकेवल पढ़ने के लिए माउंट नहीं कर सकते । यह सिस्टम लॉगफ़ाइल्स, लॉक फ़ाइल्स, स्पूल फ़ाइल्स और अन्य चीज़ें जो गतिशील रूप से बदलती हैं, रखती है।

अन्य लोगों ने आपको यह बताने में मदद करने के लिए संकेत दिया कि सबसे अच्छा कहाँ जाता है।


22

एक पुराने धागे को पुनर्जीवित करने के लिए क्षमा करें, लेकिन मुझे लगता है कि यह विवरण इस जानकारी के सभी भावी चाहने वालों के लिए एक महत्वपूर्ण स्पष्टीकरण है:

  • / ऑप्ट वैकल्पिक के लिए खड़ा है (वैकल्पिक ऐड-ऑन पैकेज में)।
  • / बिन बाइनरी के लिए खड़ा है (इसमें ओएस द्वारा उपयोग किए जाने वाले निष्पादन योग्य हैं)।
  • / लायब्रेरी के लिए लिब का अर्थ है (फाइलसिस्टम द्वारा इस्तेमाल की गई साझा लाइब्रेरी और बूटिंग के लिए, संभवतः बिन में निष्पादन योग्य द्वारा उपयोग किया जाता है)
  • / खरीद प्रक्रियाओं के लिए खड़ा है।
  • / रूट का मतलब है रूट यूजर।
  • / होम किसी भी गैर-रूट उपयोगकर्ताओं के लिए होम सब-डायरेक्टरी रखता है।
  • / dev डिवाइस के लिए खड़ा है (विशेष और डिवाइस फ़ाइलों को रखता है)।
  • / tmp अस्थायी के लिए खड़ा है।
  • / srv सेवा के लिए खड़ा है।
  • / माउंट माउंट बिंदु के लिए खड़ा है (यहां एक अस्थायी फाइल सिस्टम माउंट करें)।
  • / इसमें #include फाइलें, यानी हेडर फाइलें (जैसे, stdio.h) शामिल हैं।
  • / var का मतलब है वेरिएबल
  • / etc का अर्थ वगैरह है

  • / usr यूनिक्स सिस्टम रिसोर्सेज ( सोर्स ) के लिए है


अच्छा जवाब: रसीला, प्रश्न के स्तर पर निर्देशित, और अन्य लिंक देखने के लिए कोई ज़रूरत नहीं है। +1
स्कॉट बिग्स

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

19

इसे इस्तेमाल करे:

$ man hier

1
अच्छा है। हालाँकि, अन्य उत्तरों में संदर्भित दस्तावेज़ की तरह, यह मैन पेज केवल इस बारे में बात करता है कि निर्देशिकाओं का उपयोग किस लिए किया जाता है। मुझे इस बात में भी दिलचस्पी है कि कुछ खास नाम क्यों चुने गए, जैसे / आदि जैसे
ल्यूक

2
/ आदि के बारे में आपके प्रश्न का उत्तर यहाँ है: en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
बेनामी



1

यदि आप यूनिक्स ऑपरेटिंग सिस्टम के कई स्वादों का निरीक्षण करते हैं, तो आपको निर्देशिका के नामों में कुछ अंतर मिलेगा, लेकिन अधिकांश आम नीचे दिए गए हैं ...

/ बिन बाइनरी के लिए खड़ा है (बाइनरी फाइलें शामिल हैं और इसमें उपयोगकर्ता द्वारा उपयोग किए जाने वाले कमांड भी शामिल हैं। यह कमांड निष्पादन के लिए डिफ़ॉल्ट पथ भी है)।

/ sbin (इसमें विशेष कमांड शामिल हैं जो आम तौर पर सुपर उपयोगकर्ता द्वारा निकाल दिए जाते हैं)

/ लायब्रेरी के लिए लिब का अर्थ है (फाइलसिस्टम द्वारा इस्तेमाल की गई साझा लाइब्रेरी और बूटिंग के लिए, संभवतः बिन में निष्पादन योग्य द्वारा उपयोग किया जाता है) / प्रक्रिया के लिए खड़ा है (यदि आप सिर्फ इस निदेशक की जाँच करना चाहते हैं तो इसमें कई निर्देशिकाएँ होंगी जिनका नाम यादृच्छिक संख्याओं में है, जो हैं कुछ भी नहीं बल्कि प्रक्रिया संख्या जिसे आप ps - ef) द्वारा जांच सकते हैं

/ रूट का मतलब रूट यूजर है। (रूट यूजर के लिए डिफॉल्ट डायरेक्टरी) / होम (सभी नॉन-रूट यूजर्स के पास इस डायरेक्टरी के तहत होम डायरेक्टरी है) / डिवाइस के लिए देव स्टैंड्स (विशेष और डिवाइस फाइल्स रखती है, अगर आप इस डायरेक्टरी में ls के माध्यम से देखें) - l कमांड मेजर और माइनर नंबर भी इस डायरेक्टरी में दिखाए गए हैं, ls - l result में प्रत्येक लाइन को शुरू करने के दौरान दिखाया गया डिवाइस टाइप। B का मतलब है ब्लॉक स्पेशल डिवाइस, c का मतलब है कैरेक्टर स्पेशल डिवाइस)। / tmp अस्थायी है। (अस्थायी रूप से यहाँ रखी गई किसी प्रक्रिया के लिए आवश्यक अस्थायी संसाधन) / mnt आरोह बिंदु के लिए खड़ा है (यहाँ एक अस्थायी फाइल सिस्टम को माउंट करें)। / var का मतलब होता है वेरिएबल (यह वैरिएबल डेटा रखता है, इसमें जो डायरेक्टरी होती है, वह हर बार साइज में बदलती रहती है) / ऑप्शनल के लिए ऑप्ट स्टैंड्स (आमतौर पर थर्ड पार्टी सॉफ्टवेयर इस डायरेक्टरी में इन्स्टॉल होते हैं)। / usr यूनिक्स सिस्टम रिसोर्सेज के लिए है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.