/ देव / शून्य म्हणजे काय आणि ते आपल्याला कशी मदत करू शकेल?

जर आपल्याकडे आधीपासूनच जीएनयू / लिनक्स निर्देशिका वृक्षाबद्दल काही कल्पना असतील तर आपण कमीतकमी / देव / संदर्भ परिचित असले पाहिजेत जे सर्व फायली संबंधित आहेत हार्डवेअर डिव्हाइस.

जर आपण डिरेक्टरीमध्ये पाहिले तर / देव / आपल्याला कॉल केलेली "फाईल" दिसेल निरर्थक, परंतु आम्हाला ती सामग्री पहाण्यासाठी ते उघडायचे असल्यास, सिस्टम आम्हाला सांगेल की ती सामान्य सामग्री नसल्यामुळे हे शक्य नाही. मी शब्द फाईल बंद केली आहे कारण आपल्याला सर्व जण लिनक्ससाठी माहित असल्याने (हार्डवेअर व सॉफ्टवेअर) फाइल म्हणून प्रतिनिधित्व केले आहे.

डॅनियल दुरांटे यांचे हे योगदान आहे, यामुळे आमच्या साप्ताहिक स्पर्धेतील विजेत्यांपैकी एक बनू: «आपल्याला लिनक्स बद्दल जे माहित आहे ते सामायिक करा«. अभिनंदन डॅनियल!

कोणत्या डिव्हाइसशी / देव / नल संबंधित आहेत?

व्यावहारिक हेतूंसाठी, कचरा, तळ नसलेला खड्डा किंवा बाह्य जागेची कल्पना करा ज्यामध्ये काहीही वसूल होण्याची शक्यता नसतांना काहीही टाकले जाऊ शकते (नासाच्या लोकांनी कितीही प्रयत्न केले तरी).

परंतु माझ्याकडे आधीपासूनच rm सारख्या कमांड असल्यास, मी हटविलेले काहीतरी नवीन का हवे आहे?

कारण दोन्ही "ब्लॅक होल" चे कार्य पूर्णपणे भिन्न आहे: रनटाइमवेळी शेल स्क्रिप्टमध्ये कमांडमधील त्रुटीचे प्रमाणित आउटपुट कसे अधिलिखित करावे? येथून / देव / शून्य येते.

चला हे एका उदाहरणासह पाहू.

आम्ही "हॅलो वर्ल्ड" या नावाची चाचणी नावाची फाईल तयार केली आहे. जर आपल्याला कमांड लाइनवर त्या फाईलमधील सामग्रीचे प्रतिनिधित्व करायचे असेल तर आम्ही ते पुढील मार्गाने करू शकू.

वापरकर्ता @ लॅपटॉप: $ $ मांजर चाचणी
हॅलो वर्ल्ड

फाईल अस्तित्वात नसल्यास किंवा चाचण्या म्हणून त्याचे नाव दिले गेले (शेवटी 'चे' सह), आम्हाला कन्सोलमध्ये पुढील त्रुटी मिळेल:

वापरकर्ता @ लॅपटॉप: $ $ मांजरी चाचण्या
मांजर: चाचण्या: फाईल किंवा निर्देशिका अस्तित्त्वात नाही

त्रुटी संदेश टाळण्यासाठी आम्ही काय करू शकतो? ठीक आहे, कमांडचे आऊटपुट चूक झाल्यास, "कचरा कॅन" वर पुनर्निर्देशित करा, ते म्हणजे / dev / null

त्रुटी असल्यास आम्ही ते निर्दिष्ट कसे करू? येथे आपण प्रोग्रामसाठी प्रमाणित इनपुट, आउटपुट आणि त्रुटी मूल्य प्रविष्ट करा: एसटीडीआयएन, एसटीडीओटी आणि एसटीडीईआरआर (जे अनुक्रमे 0, 1 आणि 2 मध्ये बदलले जाऊ शकतात). अशा प्रकारे, आम्ही ठेवले तर ...

वापरकर्ता @ लॅपटॉप: $ $ मांजरीच्या चाचण्या 2> / डेव्हल / शून्य
वापरकर्ता @ लॅपटॉप: ~ $

… आम्ही पाहू की कन्सोलवर एरर मेसेज तयार होणार नाही.

आपल्याला सावधगिरी बाळगणे आवश्यक आहे कारण वाक्यरचना आवश्यक आहे: 2 आणि> वर्णांमधे जागा असू नये. अन्यथा, ते खालीलप्रमाणे देईल:

वापरकर्ता @ लॅपटॉप: $ $ मांजरीच्या चाचण्या 2> / डेव्हल / शून्य
मांजर: चाचण्या: फाईल किंवा निर्देशिका अस्तित्त्वात नाही
मांजर: 2: फाईल किंवा निर्देशिका विद्यमान नाही

याउलट,> आणि / देव / नल दरम्यानची जागा परिणामावर नकारात्मक परिणाम करणार नाही.

आम्ही त्रुटी पुनर्निर्देशन देखील वापरू शकतो, उदाहरणार्थ, लॉग फाइलमध्ये त्रुटी कॅप्चर करण्यासाठी खालीलप्रमाणेः

वापरकर्ता @ लॅपटॉप: $ $ मांजरीच्या चाचण्या 2> एररलॉग

आणखी एक मनोरंजक बाब म्हणजे जोपर्यंत त्रुटी उद्भवत नाही तोपर्यंत दुसर्‍या फाईलमधील निकालांचे संकलन, ज्यासाठी आम्ही असे ठेवू:

वापरकर्ता @ लॅपटॉप: $ $ मांजरीची चाचणी 1> आउटपुट_रेसल 2> एररलॉग

शेवटी, «> / dev / null 2> & 1 the हा अभिव्यक्ती ठेवणे योग्य आहे ज्यामध्ये मानक आउटपुट आणि एरर आउटपुट एकत्र केले गेले आहे, त्यांना पुनर्निर्देशित केले जाईल जेणेकरून कोणत्याही परिस्थितीत आउटपुट माहिती प्राप्त होणार नाही.


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   गिडो इग्नासिओ इग्नासिओ म्हणाले

    अहो, परंतु / dev / null मध्ये वापरलेली सर्वात उपयुक्तता एक गहाळ आहे, जी फायली रिक्त करीत आहे: $ cat / dev / null> file.log अशा प्रकारे, फाईल.लॉग फाइल रिक्त असेल. ते जोडा!

    1.    एडुआर्डो एच म्हणाले

      तो शोधत होता हे नेमके तेच स्पष्टीकरण होते.
      मी हे जोडण्यासाठी गतीस समर्थन देतो =)

      ग्रीटिंग्ज!

  2.   पाब्लो म्हणाले

    नमस्कार, सर्वप्रथम लेख खूप चांगला आहे! दुसरे मी या विषयावरील दुव्यासह काहीतरी योगदान देऊ इच्छित आहे सीपीएलकडून पीएचपीमध्ये क्रोन जॉब आणि ब्लॉगसाठी तिसरे अभिनंदन!

  3.   पाब्लो म्हणाले

    देव / शून्य वर छान लेख, मला असे वाटते की मी चुकून आधी चुकीच्या जागी टिप्पणी केली! मी माफी मागतो

  4.   निनावी म्हणाले

    धन्यवाद चांगले योगदानाचे

  5.   जर्स म्हणाले

    अभिवादन मला शून्य हल्ला येत आहे. मी andrirc वापरतो आणि मला शून्य या शब्दाने माझ्या टोपणनावाची खासगी मिळते. प्रोग्राम बंद झाल्यानंतर 2 सेकंदांनंतर मी वाचत आहे आणि जे मला हे दिसते आहे केवळ ते बाहेरून नव्हे तर शेलद्वारे केले जाऊ शकते. मी स्वत: कडे दुर्लक्ष करण्याचा / दुर्लक्ष करण्याचा प्रयत्न केला / lrpcntikd आणि आदेश येतच राहिल्यामुळे मला आश्चर्य वाटण्यासारखे काहीही नाही. जर आपल्याला त्यास अवरोधित करण्याचा प्रयत्न करण्याचा कोणताही मार्ग असेल तर मी त्याचे कौतुक करीन. चीअर्स

  6.   सोफिया मार्टिनेझ म्हणाले

    वाक्य चालवताना चिन्ह> चिन्ह ठेवले नसेल तर काय होते?

    कृपया कोणी मला मार्गदर्शन करू शकेल?

  7.   शून्य म्हणाले

    सुप्रभात, मी ACER Extensa 5620Z – 32 bit मध्ये Debian netinst इन्स्टॉल केले आहे. USB वरून इन्स्टॉलेशन पूर्ण झाल्यावर आणि पेनड्राइव्ह काढून टाकला की तो हार्ड डिस्कवरून बूट होईल (पेनवरून पुन्हा इंस्टॉल करू नका) पण बूटिंगच्या क्षणी तिने मला विचारलेली प्रणाली:
    डेबियन लॉगिन: xxxxxxxx (ठीक आहे)
    पासवर्ड: xxxxxxxx (ठीक आहे)
    nil@debian:~$ ???? हे काय आहे? मी तिथे काय ठेवू?

    या आदेशाशिवाय मी सिस्टम बूटसह पुढे जाऊ शकत नाही.
    तुम्ही मला मदत करू शकता का? मी कसे सुरू ठेवायचे हे मला माहित नाही.
    खूप खूप धन्यवाद. आपला आभारी.