که موږ دمخه د GNU / لینکس لارښود ونې ځینې نظرونه لرو ، موږ باید لږترلږه د / dev / حوالې سره اشنا شو ، کوم چې په مؤثره توګه چیرې دی چیرې چې ټولې فایلونه پورې اړوند وي هډوتري توکي.
که موږ په لارښود کې وګورو / dev / موږ به یو "فایل" وبلل شو مردود، مګر که موږ وغواړو چې د دې مینځپانګې لیدو لپاره یې خلاص کړو ، سیسټم به موږ ته ووایی چې دا امکان نلري ځکه چې دا عادي مینځپانګه نه ده. ما د کلیمې فایل تړلی دی ځکه ، لکه څنګه چې تاسو ټول د لینکس لپاره پوهیږئ هرڅه (هارډویر او سافټویر) د فایل په توګه ښودل کیږي. |
له کوم وسیله / dev / null سره تړاو لري؟
د عملي اهدافو لپاره ، د کثافاتو کنډک ، یو بې بنیاده کنده یا بهر ځای تصور کولی شئ چې د هغې د رغیدو امکان پرته هرڅه وغورځوي (پرته له دې چې د NASA هلکان کوښښ وکړي).
مګر که زه دمخه د rm په څیر کمانډونه لرم ، نو ولې زه غواړم یو څه نوی له منځه یوسم؟
ځکه چې دواړه "تور سوري" کار په بشپړ ډول توپیر لري: تاسو به څنګه د ځلې وخت کې د شیل اسکرپټ کې په قوماندې کې د خطا معیاري محصول پراخه کولو په اړه وغواړئ؟ دا په داسې حال کې ده چې / dev / null راځي.
راځئ چې دا د مثال سره وګورو.
موږ د ټیسټونو په نوم یو فایل جوړ کړی چې د "هیلو ورلډ" سټینګ پکې شامل دی. که موږ غواړو د کمانډ لاین کې د دې فایل مینځپانګه نماینده کړو ، موږ دا په لاندې ډول ترسره کولی شو:
د کارونکي لیپ ټاپ: ~ $ بلی ازموینه
سلام نړی
که فایل شتون نلري یا د ازموینو نوم ورکړل شوی و (په پای کې د 's' سره) ، نو موږ به په کنسول کې لاندې خطا ترلاسه کړو:
د کارونکي لیپ ټاپ: $ $ بلی ازموینې
بلی: ازمونې: فایل یا ډایرکټرۍ شتون نلري
موږ څه کولی شو چې د غلط پیغام څخه مخنیوی وکړو؟ ښه ، په ساده ډول د بولۍ په حالت کې د کمانډ محصول وګرځوئ ، د "کثافاتو کولی" ته ، دا دی / dev / null
موږ دا څنګه د غلطۍ په حالت کې مشخص کوو؟ دلته تاسو د یوې برنامې لپاره معیاري آخذه ، محصول او غلطي ارزښتونه دننه کوئ: STDIN ، STDOUT او STDERR (کوم چې په ترتیب سره د 0 ، 1 او 2 لپاره ځای کیدی شي). پدې لار کې ، که موږ ...
د کارونکي لیپ ټاپ: ~ $ بلی ازموینې 2> / dev / null
د کارونکي @ لپ ټاپ: ~ $
... موږ به وګورو چې د خطا پیغام به په کنسول کې نه تولیدیږي.
تاسو باید محتاط اوسئ ځکه چې ترکیب لازمي دی: د 2 او> حروف ترمینځ باید ځای شتون ونلري. که نه نو دا به لاندې ټکي وړاندې کړي:
د کارونکي لیپ ټاپ: ~ $ بلی ازموینې 2> / dev / null
بلی: ازمونې: فایل یا ډایرکټرۍ شتون نلري
بلی: 2: فایل یا لارښود شتون نلري
په مقابل کې ، د> او / dev / null ترمنځ فضا به منفي اغیزه ونلري.
موږ کولی شو د غلطو پیوستون هم وکاروو ، د مثال په توګه ، د لوګ فایل کې د خطاونو نیول په لاندې ډول:
د کارونکي @ لپ ټاپ: ~ $ بلی ازموینې 2> err.log
بله په زړه پورې قضیه به په بل فایل کې د پایلو راټولول وي ترهغه پورې چې غلطي رامینځته نه شي ، د کوم لپاره چې موږ یې ولرو:
د کارونکي @ لپ ټاپ: $ $ بلی ازموینې 1> آؤټ_ټریولټ 2> err.log
په نهایت کې ، دا د ارزښت is> / dev / null 2> & 1 putting څرګندولو ارزښت لري په کوم کې چې معیاري محصول او د غلطۍ محصول یوځای کیږي ، دوی ته اړوي ترڅو په هیڅ حالت کې د محصول معلومات ترلاسه نه کړي.
8 نظرونه ، خپل پریږدئ
هو ، مګر یو له ترټولو کارول شوې اسانتیاوې چې / dev / null لري هغه ورک دی ، کوم چې د فایلونو خالي کول دي: $ cat / dev / null> file.log پدې توګه ، د فایل.لاګ فایل به خالي وي. اضافه کړئ!
دا دقیقا وضاحت وه چې هغه په لټه کې و.
زه د دې اضافه کولو لپاره تحرک ملاتړ کوم =)
مننه!
سلام ، د مقالې لومړی خورا ښه دی! دوهم زه غواړم په موضوع کې د دې لینک سره یو څه برخه واخلم cpel څخه په php کې د کرون دنده او د بلاګ لپاره دریم مبارکۍ!
د dev / null په اړه ښه مقاله ، زه څومره شرم لرم فکر کوم چې ما په غلط ډول دمخه په غلط ځای کې تبصره کړې! زه بخښنه غواړم
مننه ښه ونډه
سلامونه زه په ناولی برید یم. زه andrirc کاروم او د نول ټکي سره زما د شخصي نوم شخصي اخلم. 2 ثانیې وروسته برنامه بنده شوه زه لوستلم او له هغه څه څخه چې زه ګورم دا یوازې د شیل لخوا ترسره کیدی شي ، نه بل څوک بهرنی. ما هڅه کړې چې ځان له پامه وغورځم / له پامه غورځول -lrpcntikd او هیڅ شی ما ته حیران نه کوي چې قوماندې راتلو ته دوام ورکوي. که تاسو د دې مخنیوي هڅه کولو لپاره کومه لاره لرئ زه به یې ستاینه وکړم. هڅول
څه پیښیږي کله چې د جملې اجرا کول سمبول> نه وي؟
ایا څوک کولی شي ماته لارښود وکړي؟
سهار مو پخیر، ما په ACER Extensa 5620Z – 32 bit کې Debian netinst انسټال کړی دی، کله چې له USB څخه انسټالول پای ته ورسیږي او پینډرایو لرې شي نو له هارډ ډیسک څخه بوټ کیږي (د قلم څخه بیا انسټالول مه کوئ) مګر د بوټ کولو په وخت کې. هغه سیسټم چې هغه له ما څخه پوښتنه کوي:
دبیان ننوتل: xxxxxxxx (ښه)
پټنوم: xxxxxxxx (ښه)
nil@debian:~$ ؟؟؟؟ دا څه شی دی؟ زه باید هلته څه واچوم؟
د دې قوماندې پرته زه نشم کولی د سیسټم بوټ سره پرمخ لاړ شم.
تاسې زما سره مرسته کولای شی؟ زه نه پوهیږم چې زه باید څنګه دوام ورکړم.
ډیره مننه له تاسو سره. په درنښت.