bash - Unable to understand a line in .bashrc -


मुझे निम्न कोड मिला

  # स्रोत वैश्विक परिभाषा [-f / etc / बाश्रक] & amp; amp; । / Etc / bashrc  

यह जाहिरा तौर पर मेरे बास बहुत नकली कारण था।

एक लाइनर का क्या मतलब है?

क्या आपको भ्रमित हो सकता है: [ वास्तव में एक यूनिक्स शेल कमांड है I आप इसे / bin में पा सकते हैं और जब आप अधिक बारीकी से देखते हैं, तो यह test कमांड का एक कठिन कड़ी है जिसका मतलब है कि आप यह भी लिख सकते हैं:

  test -f / etc / bashrc & amp; amp; स्रोत / etc / bashrc  

( स्रोत के लिए एक शॉर्टकट है)।

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

यदि आप हरा, तो अफवाह है: पेपर और स्याही रिबन को बचाने के लिए, उन्होंने सभी कमांडों को दो अक्षरों और सभी विकल्पों को एक ही अक्षर में छोटा करने की कोशिश की।

और अगर आप / dev < / कोड>, आप उन सभी tty फ़ाइलें देखेंगे जो कि केवल एक ही चीज है जो मूल टेलिटेप्स से बची है।

[संपादित करें] यह कैसे पता चलेगा कि यह [ और परीक्षण एक ही बात है:

यह एक दो-चरण प्रक्रिया है ls -il [test echo देता है:

  356954 -आर-एक्सआर-एक्सआर-एक्स 2 रूट व्हील 46 के मई 31 2008 [356954 -आर-एक्सआर-एक्सआर- एक्स 2 रूट व्हील 46 के 31 मई 2008 टेस्ट 67392 -आरडब्ल्यूएक्सआर-एक्सआर-एक्स 1 रूट व्हील 18 के 22 सितंबर 2007 गूंज  

सबसे पहले, आप "रूट" से पहले "2" देख सकते हैं। इसका अर्थ है कि दो निर्देशिका प्रविष्टियां (ए.के.ए. फ़ाइल नाम) हैं जो एक ही डेटा (यूनिक्स लिन्गो: इनोड, आई-नोड या "इंडेक्स नोड") को इंगित करते हैं। डिस्क पर प्रत्येक इनोड में एक अद्वितीय संख्या होती है जो उपर्युक्त उदाहरण (35 9 54) में पहली संख्या है। आप देख सकते हैं कि [ और परीक्षण एक ही इनोड साझा करते हैं लेकिन गूंज नहीं।

ध्यान दें कि कोई नहीं है सभी निर्देशिका प्रविष्टियां प्राप्त करने का तेज़ तरीका है जो एक ही आयनोड पर इंगित करता है। आपको एक ही इनोड के साथ पूरे फाइल सिस्टम को खोजना होगा ( find / path -inode 356954 का उपयोग करके)

[EDIT2] टीटीआई "फाइलों" के लिए: ये हैं वास्तव में डिवाइस नोड्स अनुमतियों का पहला अक्षर "कैरेक्टर डिवाइस" के रूप में "c" है आप फाइलों के लिए, निर्देशिका के लिए "डी" और अवरुद्ध उपकरणों (जैसे हार्ड डिस्क्स, फ्लापियों, आदि) के लिए "बी" पा सकते हैं। यह एक फ़ाइल नहीं है, लेकिन यह वाकई एक कार्यक्रम है आप इसे इसके साथ डेटा ("फाइल" में कुछ लिखने के लिए) भेजकर या उससे डेटा पढ़ सकते हैं। यह अवधारणा वास्तविक फाइलों के करीब थी इसलिए यूनिक्स आविष्कारक ने विशेष आज्ञाओं को भेजने के लिए "आईओ नियंत्रण" (या आईओसीटीएल) नामक कुछ फ़ाइल एपीआई का इस्तेमाल किया था (जैसे कि उसके आकार के लिए टर्मिनल की पूछताछ)।

यदि आप कंसोल मोड ("Ctrl-Alt-F1") पर स्विच करते हैं, तो आप ऐसा कुछ देखेंगे:

<प्री> आपका स्वागत है .... - कर्नेल .... (tty1)

अन्य कंसोल (Alt-F2 ... Alt-F6 के साथ) पर स्विच करें और आप देखेंगे कि वे tty2 से tty6 से जुड़े हैं । इनमें से किसी एक पर लॉग इन करें और

परीक्षण गूंजें> / dev / tty1

और स्ट्रिंग tty1 से जुड़ा कंसोल पर दिखाई देगा। टीटीआई से पढ़ना इतना आसान नहीं है क्योंकि वहां पहले से ही एक प्रोग्राम पढ़ रहा है (या तो mingetty जब तक आप लॉग इन नहीं होते हैं और login या Bash लॉग इन करने के बाद)। यदि आप रीड लाइन & lt; / Dev / tty1 , जो कि कंसोल पर पहले से ही चल रहा है जो कार्यक्रम के साथ संघर्ष होगा, लेकिन सिद्धांत रूप में, यह काम करेगा।


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -