सवाल उबंटू फ़ाइल सिस्टम लेआउट को कैसे समझें?


विंडोज़ में इंस्टॉलेशन ड्राइव में शायद कुछ महत्वपूर्ण फ़ोल्डर्स (महत्वपूर्ण रूप से विंडोज़ फाइल सिस्टम की मेरी तार्किक तस्वीर में महत्वपूर्ण है) (मेरे मामले में) C:\)। यानी Program Files तथा Windows। मैं बस से दूर रहो Windows फ़ोल्डर और "प्रोग्राम निकालें निकालें" को संभालने के लिए पर्याप्त है program files विंडोज़ का फ़ोल्डर बेशक वहाँ एक फ़ोल्डर नाम दिया गया है Users जहां उपयोगकर्ता (जो व्यवस्थापक नहीं हैं) केवल उनके फ़ोल्डरों तक पहुंच सकते हैं।

इस प्रकार विंडोज फ़ाइल सिस्टम के मेरे दिमाग में कुछ स्तर पर एक स्पष्ट तस्वीर है। उबंटू में, जब मैं स्थान तक पहुंच जाता हूं /, फ़ोल्डरों की एक बड़ी सूची है, जिनमें से अधिकांश में उनके पास कोई सुराग नहीं है कि वे क्या हैं। /bin फ़ोल्डर के बराबर लगता है Windows खिड़कियों में फ़ोल्डर। /usr फ़ोल्डर लगता है जैसे यह बराबर है Users विंडोज़ में फ़ोल्डर। लेकिन यहां तक ​​कि /home फ़ोल्डर दिखता है जैसे यह बिल फिट कर सकता है।

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

 यह प्रश्न एक बड़े प्रश्न का एक हिस्सा है जिसे मैं इसे अधिक उत्तरदायी बनाने के लिए विभाजित हूं। मूल प्रश्न यहां पाया जा सकता है:
http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/ 


202
2018-05-17 18:12


मूल


यह भी देखें निर्देशिका संरचना लगा दो यूनिक्स और लिनक्स। सभी लिनक्स वितरण एक ही मॉडल का पालन करते हैं। - Gilles
आपके सभी उत्तरों के लिए धन्यवाद। मैं कुछ बिंदुओं के बारे में थोड़ा उलझन में हूं: विंडोज़ में सेटअप आमतौर पर सभी उपयोगकर्ताओं के लिए एक सॉफ्टवेयर स्थापित करने के लिए एक विकल्प के माध्यम से प्रदान करता है। उबंटू में उस भेद को कैसे बनाया जाए? साथ ही, विकास आईडी को उनके आईडीई में कॉन्फ़िगर करने में यह एक सामान्य समस्या है। विंडोज़ में, उदाहरण के लिए, "प्रोग्राम फाइल \ miktex \ bin" में फ़ाइल "pdflatex.exe" है। इस प्रकार मैं आईडीई को इस फ़ाइल में इंगित कर सकता हूं और इसे कॉन्फ़िगर कर सकता हूं। उबंटू में इस प्रक्रिया के बारे में कैसे जाना है? सॉफ़्टवेयर से जुड़े सामान्य बाइनरी फ़ाइल (कॉन्फ़िगरेशन बिंदु से esp) कहां है? - Shashank Sawant
उबंटू में, आप आमतौर पर सभी उपयोगकर्ताओं के लिए सॉफ्टवेयर स्थापित करते हैं। पैकेज प्रबंधक के माध्यम से आप जो कुछ भी करते हैं वह सभी उपयोगकर्ताओं के लिए होता है। मैं आपकी बाकी टिप्पणी को समझ नहीं पा रहा हूं; कोई "सॉफ़्टवेयर से जुड़ी बाइनरी फ़ाइल" कॉन्फ़िगर नहीं करता है। आपको इसे एक अलग प्रश्न के रूप में पूछना चाहिए, और आप जो करने की कोशिश कर रहे हैं उसके बारे में बेहतर स्पष्टीकरण दें। - Gilles
समझ गया। मैं एक नया सवाल तैयार करूंगा। यहां तक ​​कि यहां मेरा मतलब था कि एक छोटा सा स्पष्टीकरण है: विंडोज़ में, .exe फ़ाइलों को आसानी से स्थित किया जा सकता है। उदाहरण के लिए: "सी: \ पायथन 27 \ python.exe"। तो मुझे पता है कि प्रोग्राम पाइथन कहां से शुरू होता है। अब अगर मुझे ग्रहण आईडीई का उपयोग करना है, तो मैं इसे आसानी से python.exe पर इंगित कर सकता हूं, और यही मेरा मतलब है "कॉन्फ़िगर"। मैंने पायथन के लिए आईडीई कॉन्फ़िगर किया। उबंटू में वह स्थान कहां स्थित है जहां प्रोग्राम स्थापित है? यही वह है जो अभी भी मुझे बचाता है। - Shashank Sawant
@Gilles कहने पर सावधान रहें all। गोबोलिंक्स परियोजना वास्तव में निर्देशिका संरचना जैसे अधिक विंडोज का उपयोग करता है। - new123456


जवाब:


उदाहरण के लिए आप विकिपीडिया पर इस पर पढ़ सकते हैं। अंश:

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

एफएचएस को लिनक्स फाउंडेशन, एक गैर-लाभकारी संगठन द्वारा बनाए रखा जाता है जिसमें प्रमुख सॉफ्टवेयर और हार्डवेयर विक्रेता, जैसे एचपी, रेड हैट, आईबीएम और डेल शामिल हैं।   वर्तमान संस्करण 3.0 है, जिसे 3 जून, 2015 को जारी किया गया था।

एक संक्षिप्त विवरण के साथ एक दृश्य प्रतिनिधित्व:

enter image description here

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

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

3 उदाहरण:

  • आप देखेंगे कि फाइलें और निर्देशिकाएं जो व्यवस्थापक हैं केवल उसी निर्देशिका में एकत्र की जाती हैं: एस इन /sbin तथा /usr/sbin तथा /usr/local/sbin प्रणाली के लिए खड़ा है। एक सामान्य उपयोगकर्ता वहां मौजूद प्रोग्राम भी शुरू नहीं कर सकता है। सामान्य उपयोगकर्ता द्वारा शुरू की जाने वाली फ़ाइलें / bin, / usr / bin, / usr / local / bin पर स्थित होती हैं, जहां यह सबसे तार्किक रूप से रहना चाहिए। लेकिन अगर वे केवल व्यवस्थापक हैं तो उन्हें जाना चाहिए sउस निर्देशिका का संस्करण। एक प्रसिद्ध उपयोगिता कहा जाता है fuser। आप इसके साथ प्रक्रियाओं को मार सकते हैं। यदि कोई सामान्य उपयोगकर्ता इसका उपयोग कर सकता है तो वह आपके सत्र को मारने में सक्षम होगा।

  • उसके लिए भी यही /home: / home / user1 उपयोगकर्ता 1 की संपत्ति है। / home / user2 उपयोगकर्ता 2 की संपत्ति है। उपयोगकर्ता 2 के पास उपयोगकर्ता के घर में कोई व्यवसाय नहीं है (और दूसरी तरफ भी सच है: उपयोगकर्ता 1 के पास उपयोगकर्ता 2 के घर में कोई व्यवसाय नहीं है)। अगर सभी फाइलें नीचे / नीचे के उपयोगकर्ता नाम के बिना होंगी तो आपको प्रत्येक फाइल और गधे को अनुमति देना होगा यदि किसी को उन फ़ाइलों को लिखने / निकालने की अनुमति है। यदि आपके पास दसियों उपयोगकर्ता हैं तो एक दुःस्वप्न।

  • इसके अलावा पुस्तकालयों के बारे में।

    /lib/, /usr/lib/, तथा /usr/local/lib/ मल्टीलिब से पहले, मूल स्थान हैं सिस्टम मौजूद थे और चीजों को तोड़ने से रोकने के लिए मौजूद थे। /usr/lib32, /usr/lib/64, /usr/local/lib32/, /usr/local/lib64/ 32- / 64-बिट मल्टीलिब आविष्कार हैं।

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


240
2018-05-17 18:18



+1 रिनज़विंड। मुझे छवि पसंद है, वास्तव में एक की तलाश में था। - Luis Alvarado♦
हे सोचा कि ध्यान मिलेगा: + @LuisAlvarado - Rinzwind
एक बेहतर जवाब नहीं हो सकता है! - Shashank Sawant
नहीं था /mnt क्या /media अब कुछ साल पहले है? - RobinJ
@RobinJ: दुविधा यह है कि /mnt ऐतिहासिक रूप से मैन्युअल रूप से प्रबंधित किया गया है। कई क्षणिक उपकरणों (फ्लैश ड्राइव, इत्यादि) और ऑटो-माउंटिंग मानक बनने के साथ, माउंट पॉइंट्स को स्वचालित रूप से संभालने की आवश्यकता थी। मौजूदा मैन्युअल कॉन्फ़िगरेशन के साथ संघर्ष से बचने के लिए एक नई निर्देशिका की आवश्यकता थी। इस प्रकार, इन दिनों /mnt एक सुविधाजनक अस्थायी माउंट प्वाइंट प्रदान करने की भूमिका के लिए रवाना हो गया है। - Scott Severance


इस आदेश को आज़माएं ...

man 7 hier

आशा करता हूँ की ये काम करेगा


95
2018-05-17 19:58



अच्छा निर्णय! मैं हमेशा उसे भूल जाता हूं हालांकि यह हमेशा मौजूद होता है (यहां तक ​​कि जब नेट नीचे होता है;)) - Rinzwind
मनुष्य का नाम बदलकर "इसे" कर दिया जाना चाहिए। :))) - Shiki
man hier अब मेरे पसंदीदा आदेशों में से एक है! एफएचएस डॉको की तुलना में स्पष्टीकरण मेरे लिए स्पष्ट है, विशेष रूप से 'स्थानीय से मशीन' और 'साइट-वाइड' के बीच अंतर, एक अनुभवहीन उबंटू उपयोगकर्ता के लिए, जो मध्यम डॉस / विंडोज अनुभव से पार हो रहा है। - WillC
BTW संख्या 7 खंड का खड़ा है अनेक वस्तुओं का संग्रह हायर मैन पेज का। - Pablo Bianchi


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


37
2017-11-20 18:18



फ़्लोचार्ट का उत्पादन करने के लिए दिलचस्प और सहायक विचार, लेकिन दुर्भाग्य से ऐसा लगता है कि कुछ मृत-अंत हैं। मेरा सवाल यह है कि अगर मैं कर रहा हूं mysqldump मुझे फाइल को कहां से आउटपुट करना चाहिए? - BadHorsie
@BadHorsie निश्चित रूप से यह हमेशा आपके विशिष्ट उपयोग मामले पर निर्भर करेगा, लेकिन इसे एक में डंप कर रहा है /home/badhorsie/mysqldump निर्देशिका पर्याप्त होगी। यदि आप कई ऐप्स चला रहे हैं तो आप प्रत्येक ऐप को चलाने के लिए एक नया उपयोगकर्ता बना सकते हैं और उसे उस ऐप / उपयोगकर्ता में डंप कर सकते हैं home निर्देशिका। - d4nyll
@ पैरानोइड-पांडा, क्या आप थोड़ा-सा विस्तार कर सकते हैं कि आप पूर्ण-रिज़ॉल्यूशन के माध्यम से छवि को क्लिक करने योग्य क्यों नहीं देते हैं? इस पोस्ट में एम्बेडेड संस्करण काफी अपठनीय है। - waldyrious
@ वाल्डरीयस: यदि आप देखते हैं संशोधन इतिहास आप देखेंगे कि मैंने केवल एक वर्तनी गलती को सही किया है, यह एक और उपयोगकर्ता था जिसने इस विशेष तरीके से छवि को जोड़ा। मेरे साथ करने को कुछ भी नहीं। इसे संपादित करने के लिए स्वतंत्र महसूस करें, मुझे क्लिक-सक्षम बनाने के लिए सही वाक्यविन्यास याद नहीं है।
@ पारानोइड पांडा जो मैंने ठीक किया है। मेरे संपादन ने टाइपो फिक्स बनाया और छवि को क्लिक करने योग्य बनाया, और आपकी समीक्षा अस्वीकार और संपादित करना था, इसलिए मेरा प्रश्न: छवि को क्लिक करने योग्य बनाने में आपको क्या गलत लगता है? - waldyrious


यह निम्न पाठ निर्देशिका संरचना दिखाता है।

mtk4@laptop:/$ pwd
/
mtk4@laptop:/$ tree -L 1
.
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- home
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin
|-- selinux
|-- srv
|-- sys
|-- tmp
|-- usr
|-- var

यहां मुख्य घटक हैं:

  1. /boot : बूट लोडर शामिल है

  2. /home : उपयोगकर्ताओं की होम निर्देशिका शामिल है।

  3. /bin : सिस्टम पर सभी उपयोगकर्ताओं द्वारा उपयोग की जाने वाली सभी निष्पादन योग्य बाइनरी और कमांड यहां स्थित हैं।

  4. /sbin : इसमें सिस्टम एक्जिक्यूटिव बाइनरी आमतौर पर सिस्टम प्रशासकों द्वारा उपयोग की जाती है।

  5. /lib : सिस्टम पुस्तकालय शामिल हैं जो द्विआधारी / bin और / sbin में बाइनरी का समर्थन करते हैं।

  6. /etc : नेटवर्क, बूट-टाइम इत्यादि के लिए कॉन्फ़िगरेशन फ़ाइलें शामिल हैं।

  7. /dev : इसमें डिवाइस फाइलें हैं यानी यूएसबी, टर्मिनल डिवाइस या सिस्टम से जुड़े किसी अन्य डिवाइस को यहां दिखाया गया है।

  8. /proc : चल रही प्रक्रिया के बारे में जानकारी शामिल है।

  9. /tmp : यह अस्थायी निर्देशिका है जहां कई प्रक्रियाएं अस्थायी फ़ाइलों को आवश्यक बनाती हैं। प्रत्येक बार मशीन बूट होने पर यह शुद्ध हो जाता है।

अधिक जानकारी के लिए, Thegeekstuff लिंक जेनेरिक लिनक्स फ़ाइल-सिस्टम को पूरी तरह से समझाएं।


36
2018-05-17 18:38





\Users के बराबर है /home। का नाम /usr एक ऐतिहासिक आर्टिफैक्ट है।

संयुक्त समकक्ष \Windows तथा \Program Files का संयोजन है /bin, /boot, /etc, /lib, /sbin, /tmp, /usr तथा /var। लिनक्स और विंडोज़ ने स्थापित सॉफ्टवेयर को अलग-अलग विभाजित किया। विंडोज ऑपरेटिंग सिस्टम और साथी कार्यक्रमों के बीच अंतर करता है। लिनक्स इस भेद को उसी तरह से नहीं बनाता है; सबसे अधिक यदि सभी सॉफ़्टवेयर उबंटू (वितरक) के माध्यम से नहीं आते हैं और उसी निर्देशिका पदानुक्रम में स्थापित होते हैं, और चूंकि सॉफ़्टवेयर पैकेज प्रबंधक द्वारा ट्रैक किया जाता है, इसलिए प्रत्येक प्रोग्राम को अपनी निर्देशिका में स्टोर करने की आवश्यकता नहीं होती है। लिनक्स पर:

  • /etc सिस्टम कॉन्फ़िगरेशन फ़ाइलों के लिए है: कॉन्फ़िगरेशन फ़ाइलें जो सभी उपयोगकर्ताओं को प्रभावित करती हैं, भले ही वे ऑपरेटिंग सिस्टम पर पूरी तरह से या किसी विशिष्ट एप्लिकेशन पर लागू हों।
  • /usr सिस्टम कोड और डेटा (प्रोग्राम, पुस्तकालय, दस्तावेज, आदि) के लिए है।
  • /var परिवर्तनीय या अस्थायी डेटा के लिए है: अस्थायी फ़ाइलें, लॉग, पैकेज प्रबंधक डेटाबेस, प्रिंटर स्पूल, गेम सहेजने वाली फाइल आदि। यहां भी है /tmp अस्थायी फ़ाइलों के लिए जिन्हें रीबूट में मिटाया जा सकता है।
  • /bin, /lib तथा /sbin रूट निर्देशिका में समकक्ष हैं /usr। बाहर की फाइलें /usr बूट प्रक्रिया में जल्दी की जरूरत है। यह उस समय से अवशेष है जब डिस्क छोटे थे और /usr नेटवर्क पर कई वर्कस्टेशन के बीच साझा की गई फाइल सिस्टम पर हो सकता है, यह वास्तव में अधिकांश प्रणालियों पर उपयोगी अंतर नहीं है।
  • /boot इसमें कुछ फ़ाइलें शामिल हैं जिन्हें केवल ऑपरेटिंग सिस्टम बूट करने की आवश्यकता होती है, न कि दिन-प्रतिदिन के संचालन के लिए।

ऐसी अतिरिक्त निर्देशिकाएं हैं जो Windows के किसी भी चीज़ से मेल नहीं खाती हैं:

  • /root रूट उपयोगकर्ता की होम निर्देशिका है। रूट उपयोगकर्ता एक व्यवस्थापक खाता है जो किसी विशेष उपयोगकर्ता से बंधे नहीं है; यह वह उपयोगकर्ता है जिसे आप चलाने पर बदलते हैं sudo। उबंटू रूट उपयोगकर्ता को डिफ़ॉल्ट रूप से लॉग इन नहीं करने देता है।
  • /media तथा /mnt माउंट पॉइंट हैं: वे हैं जहां आप अन्य ऑपरेटिंग सिस्टम और रिमोट ड्राइव के फाइल सिस्टम देख सकते हैं। विंडोज समकक्ष अन्य ड्राइव अक्षर है।
  • /proc तथा /sys सिस्टम की जानकारी दिखाएं। विंडोज़ पर, आपको मेन्यू के माध्यम से गुजरना होगा या सिस्टम कमांड को कॉल करना होगा या इस जानकारी को देखने के लिए थर्ड-पार्टी प्रोग्राम्स इंस्टॉल करना होगा।

उबंटू, अन्य लिनक्स वितरण की तरह, आमतौर पर लिनक्स का पालन करता है फाइल सिस्टम पदानुक्रम मानक


19
2018-05-17 18:48





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

एक सापेक्ष पथ नाम वह है जो / से शुरू नहीं होता है; उस स्थिति में, निर्देशिका पेड़ किसी दिए गए बिंदु से शुरू होता है, जो संदर्भ के आधार पर बदलता है, जिसे वर्तमान निर्देशिका कहा जाता है। प्रत्येक निर्देशिका में, दो विशेष निर्देशिकाएं कहा जाता है। और .., जो क्रमशः निर्देशिका को संदर्भित करता है, और इसकी मूल निर्देशिका में।

तथ्य यह है कि सभी फाइलों और निर्देशिकाओं में एक सामान्य रूट का अर्थ है कि, यदि सिस्टम पर कई अलग-अलग स्टोरेज डिवाइस मौजूद हैं, तो वे सभी को वांछित स्थान पर चढ़ने के बाद पेड़ में कहीं भी निर्देशिका के रूप में देखा जाता है

उदाहरण और अधिक जानकारी यहां खोजें:


5
2018-05-17 18:18



बहुत अच्छा लिंक धन्यवाद स्टीफन। - Luis Alvarado♦