ڇا آهي / dev / null ۽ اهو توهان جي مدد ڪيئن ڪري سگھي ٿو؟

جيڪڏهن اسان وٽ اڳ ۾ ئي GNU / لينڪس ڊاريڪٽري وڻ جا ڪجهه تصور هوندا ، اسان کي گهٽ ۾ گهٽ / dev / referensi سان واقف هئڻ گهرجي ، جيڪو اثرائتو آهي جتي جئين سڀني فائلن سان لاڳاپيل آهن. هارڊويئر ڊوائيس.

جيڪڏھن اسين ڊاريڪٽري ۾ ڏسون ٿا / ديو / اسان ڏسندا سين هڪ "فائل" آهي اجايوپر ، جيڪڏهن اسان ان کي پنهنجو مواد ڏسڻ لاءِ کولڻ چاهيو ٿا ، سسٽم اسان کي اهو ٻڌائيندو ته اهو ممڪن ناهي ڇاڪاڻ ته اهو عام مواد ناهي. مون لفظ فائل جڙيل آهي ڇاڪاڻ ته ، جيئن توهان سڀني لينڪس جي لاءِ knowاڻو ٿا (هارڊ ويئر ۽ سافٽ ويئر) فائل جي طور تي ڏيکاريل آهي.

اھو ڊينئل ڊيورانٽ کان ھڪڙو حصو آھي ، اھڙي طرح اسان جي ھفتيوار مقابلي جو فاتح بڻجي ويو:حصيداري ڪريو جيڪو توھان لينڪس بابت knowاڻو ٿا«. مبارڪون هجن دانيال!

ڪهڙي ڊوائيس / ديو / نڪ سان مطابقت رکي ٿي؟

عملي مقصدن لاءِ ، ڪوڙي ڪوڙي ، ٻرندڙ بيهڪ يا ٻاهرين جاءِ تصور ڪريو جنهن ۾ بغير ڪنهن شيءَ جي پاڻ ڀرڻ جي ڪوششن کي ٻيهر حاصل ڪرڻ جي ڪوشش ڪئي (ڪا ڳالهه ناهي ته ناسا جا ماڻهو ڪيترا سخت ڪوشش ڪن).

پر جيڪڏهن مون اڳ ۾ ئي آر ايم وانگر آرڊر آهن ، آئون ڇو ڪجهه نئين شي کي حذف ڪرڻ چاهيان ٿو؟

ڇاڪاڻ ته ٻئي طريقي سان ڪم ”بليڪ هول“ مڪمل طور تي مختلف آهي: رنڪل وقت هڪ شيل اسڪرپٽ ۾ ڪمانڊ ۾ غلطي جي معياري پيداوار کي ختم ڪرڻ بابت ڪئين اڳتي وڌندا؟ هي جتي آهي / dev / null اندر ايندي آهي.

اچو ته ان کي هڪ مثال سان ڏسندا.

اسان هڪ فائل ٺاهي آهي جنهن کي ٽيسٽ چيو ويندو آهي جنهن ۾ تار هوندو ”هيلو ورلڊ“. جيڪڏهن اسان ڪمانڊ لائن تي انهي فائل جي مواد جي نمائندگي ڪرڻ چاهيون ٿا ، اسان هيٺين طريقي سان ڪري سگهون ٿا.

استعمال ڪندڙ @ ليپ ٽاپ: ~ $ ٻلي ٽيسٽ
هيلو ورلڊ

جيڪڏهن فائل موجود نه هئي يا ٽيسٽ طور نالو رکيو ويو هو (آخر ۾ هڪ اين سان) ، اسان ڪنسول ۾ هيٺيان غلطي حاصل ڪنداسين.

استعمال ڪندڙ @ ليپ ٽاپ: ~ $ ٻلي ٽيسٽ
ٻلي: ٽيسٽ: فائل يا ڊائريڪٽري موجود ناهي

ڇا ڪري سگھون ٿا غلط پيغام کان بچڻ لاءِ؟ چ ،و ، بس ڪمان جي ٻاھر موڪليو ، غلطي جي صورت ۾ ، ”ڪوڙي جا ڪڙي“ ڏانھن ، ته / dev / null

اسان هن کي غلطي جي صورت ۾ ڪيئن وضاحت ڏيون. هتي توهان هڪ پروگرام لاءِ معياري ان پٽ ، آئوٽ ۽ غلط قدر داخل ڪيو ٿا: STDIN ، STDOUT ۽ STDERR (جيڪو 0 ، 1 ۽ 2 لاءِ ترتيب سان متبادل ٿي سگهي ٿو). انهي طريقي سان ، جيڪڏهن اسان رکون ٿا ...

استعمال ڪندڙ @ ليپ ٽاپ: ~ $ ٻلي ٽيسٽ 2> / dev / null
استعمال ڪندڙ @ ليپ ٽاپ: ~ $

… اسان ڏسنداسين ته غلطي جو پيغام ڪنسول تي پيدا ڪونه ٿيندو.

توهان کي محتاط رهڻو پوندو ڇو ته نحو ضروري آهي: ڪردار 2 ۽> جي وچ ۾ ڪا جاءِ نه هئڻ گهرجي. ٻي صورت ۾ ، اهو هيٺ ڏنل ڏئي ٿو.

استعمال ڪندڙ @ ليپ ٽاپ: ~ $ ٻلي ٽيسٽ 2> / dev / null
ٻلي: ٽيسٽ: فائل يا ڊائريڪٽري موجود ناهي
ٻلي: 2: فائل يا ڊاريڪٽري موجود ناهي

ان جي مقابلي ۾ ،> ۽ / dev / null جي وچ واري جاءِ نتيجو تي منفي اثر نه ڪندي.

اسان غلط ريڊريشن کي پڻ استعمال ڪري سگهون ٿا ، مثال طور ، لاگ فائل ۾ غلطيون پڪڙڻ لاءِ ، هن ريت:

استعمال ڪندڙ @ ليپ ٽاپ: ~ $ ٻلي ٽيسٽ 2> err.log

هڪ ٻيو دلچسپ ڪيس هڪ ٻئي فائل جي نتيجن جو مجموعو هوندو جيستائين غلطي نه ٿئي ، جنهن لاءِ اسين رکون ٿا:

استعمال ڪندڙ @ ليپ ٽاپ: ~ $ ٻلي ٽيسٽ 1> output_result 2> err.log

آخرڪار ، اهو اظهار رکڻ ممڪن آهي «> / dev / null 2> & 1» جنهن ۾ معياري پيداوار ۽ غلطي جي پيداوار گڏيل آهي ، ان کي ريڊريڪٽ ڪيو وڃي ته جيئن ڪنهن به صورت ۾ ٻا information واري معلومات حاصل نه ڪئي وڃي.


مضمون جو مواد اسان جي اصولن تي عمل ڪري ٿو ايڊيٽوريل اخلاقيات. غلطي ڪلڪ ڪرڻ جي رپورٽ لاءِ هتي.

8 تبصرا ، پنھنجو ڇڏ

پنهنجي راءِ ڏيو

پنهنجي اي ميل ايڊريس شايع نه ڪيو ويندو. گهري شعبن سان لڳل آهن *

*

*

  1. ڊيٽا جو ذميوار: Miguel Ángel Gatón
  2. ڊيٽا جو مقصد: ڪنٽرول سپيم ، تبصرو جي انتظام.
  3. سازش: توهان جي رضامندي
  4. ڊيٽا جي ابلاغ: ڊيٽا کي قانوني ذميواري کانسواءِ ٽئين پارٽين تائين رسائي نه ڏني ويندي.
  5. ڊيٽا اسٽوريج: ڊيٽابيس اويسينٽس نيٽورڪ (اي يو) پاران ميزباني ڪيل
  6. حق: ڪنهن به وقت توهان پنهنجي معلومات کي محدود ، ٻيهر ۽ ختم ڪري سگهو ٿا.

  1.   گيڊيوو اگنيو چيو

    اح ، پر عام استعمال ٿيل افاديت مان هڪ آهي / dev / null غائب آهي جيڪا فائلن کي خالي ڪندي آهي: $ cat / dev / null> file.log انهي طريقي سان ، file.log فائل خالي هوندي. ان کي شامل ڪريو!

    1.    ايڊورڊو ايڇ چيو

      اهو tepat ۾ اهو بيان هو جنهن کي هو ڳولي رهيو هو.
      مان ان کي شامل ڪرڻ جي تحريڪ کي سپورٽ ڪريان ٿو =)

      سلامتي!

  2.   پالتو چيو

    هيلو ، پهرين مضمون جو تمام سٺو آهي! ٻيو آئون انهي لنڪ سان ڪجهه موضوع تي تعاون ڪرڻ چاهيندس ڪنپلل کان پي ايڇ پي ۾ ڪرون نوڪري ۽ بلاگ لاءِ ٽئين مبارڪون!

  3.   پالتو چيو

    ڊي / نول تي سٺو آرٽيڪل ، ڪيڏو شرم آهي جو مان سمجهان ٿو ته مون پهرين غلطيءَ سان غلط هنڌ تي تبصرو ڪيو! آئون معافي وٺان ٿو

  4.   گمنام چيو

    مهرباني سٺو تعاون

  5.   جيرس چيو

    سلام مون کي نمل حملو ٿي رهيو آهي. مان andrirc استعمال ڪريان ٿو ۽ مان پنهنجو لقب ذاتي طور نيل سان وٺي وڃان ٿو. 2 سيڪنڊ بعد پروگرام بند ڪري ٿو آئون پڙهي رهيو آهيان ۽ انهي مان جيڪو آئون ڏسان ٿو اهو صرف شيل ذريعي ئي ٿي سگهي ٿو ، نه ڪي ٻاهرين مون پنهنجو پاڻ کي نظرانداز ڪرڻ جي ڪوشش ڪئي آهي / نظرانداز ڪيو -lrpcntikd ۽ ڪجھ به تعجب ناهي مون لاءِ حڪم جاري اچي رهيو آهي. جيڪڏهن توهان کي ڪنهن طريقي سان بلاڪ ڪرڻ جي ڪوشش ڪئي وڃي ته آئون انهي کي ساراهيندس. خوش رهو

  6.   صوفيا مارٽينوز چيو

    جيڪڏهن جملن تي عمل ڪري رهيو آهي ته نشان> رکيل نه آهي؟

    ڇا ڪوبه مون کي هدايت ڪري سگهيو؟

  7.   Nil چيو

    صبح جو سلام، مون ACER Extensa 5620Z – 32 bit ۾ Debian netinst انسٽال ڪيو آهي. هڪ ڀيرو USB مان انسٽاليشن مڪمل ٿي وڃي ۽ پينڊرائيو هٽايو وڃي ته جيئن اها هارڊ ڊسڪ مان بوٽ ٿئي (قلم مان ٻيهر انسٽال نه ڪريو) پر بوٽنگ جي وقت سسٽم هوء مون کان پڇي ٿي:
    ديبين لاگ ان: xxxxxxxx (ٺيڪ)
    پاسورڊ: xxxxxxxx (ٺيڪ)
    nil@debian:~$ ؟؟؟؟ هي ڇا آهي؟ مون کي اتي ڇا رکڻ گهرجي؟

    هن حڪم کان سواء آئون سسٽم بوٽ سان اڳتي نه ٿو ڪري سگهان.
    ڇا توهان منهنجي مدد ڪري سگهو ٿا؟ مون کي خبر ناهي ته مون کي ڪيئن جاري رکڻ گهرجي.
    توهان جي وڏي مهرباني. آداب.