/dev /null کیا ہے اور اسے کیسے استعمال کیا جائے۔

What Is Dev Null How Use It



لینکس ایک دلچسپ آپریٹنگ سسٹم ہے جو متعدد مقاصد کے لیے کچھ ورچوئل ڈیوائسز کی میزبانی کرتا ہے۔ جہاں تک سسٹم میں چلنے والے پروگراموں کا تعلق ہے ، یہ ورچوئل ڈیوائسز اس طرح کام کرتی ہیں جیسے وہ حقیقی فائلیں ہوں۔ ٹولز ان ذرائع سے ڈیٹا کی درخواست اور فیڈ کر سکتے ہیں۔ ڈیٹا کو ڈسک سے پڑھنے کے بجائے OS کے ذریعہ تیار کیا جاتا ہے۔

ایسی ہی ایک مثال /dev /null ہے۔ یہ ایک خاص فائل ہے جو ہر ایک لینکس سسٹم میں موجود ہے۔ تاہم ، زیادہ تر دیگر ورچوئل فائلوں کے برعکس ، پڑھنے کے بجائے ، اسے لکھنے کے لیے استعمال کیا جاتا ہے۔ آپ جو بھی /dev /null لکھتے ہیں اسے ضائع کر دیا جائے گا ، باطل میں بھول جائے گا۔ اسے یونکس سسٹم میں کالا آلہ کہا جاتا ہے۔







آپ کسی چیز کو باطل میں کیوں چھوڑنا چاہیں گے؟ آئیے چیک کریں کہ /dev /null کیا ہے اور اس کا استعمال۔



ضروریات۔

/dev /null کے استعمال میں گہری غوطہ لگانے سے پہلے ، ہمیں اس کی واضح گرفت ہونی چاہیے۔ stdout اور stderr ڈیٹا اسٹریم یہ چیک کریں۔ گہرائی میں گائیڈ stdin ، stderr ، اور stdout .



آئیے جلدی ریفریش کریں۔ جب بھی کوئی کمانڈ لائن افادیت چلائی جاتی ہے ، یہ دو آؤٹ پٹ پیدا کرتی ہے۔ آؤٹ پٹ جاتا ہے۔ stdout اور خرابی (اگر پیدا ہوتی ہے) جاتی ہے۔ stderr . پہلے سے طے شدہ طور پر ، یہ دونوں ڈیٹا اسٹریمز ٹرمینل سے وابستہ ہیں۔





مثال کے طور پر ، درج ذیل کمانڈ ڈبل کوٹیشن مارک کے اندر سٹرنگ پرنٹ کرے گی۔ یہاں ، آؤٹ پٹ میں محفوظ ہے۔ stdout .

$باہر پھینک دیاہیلو ورلڈ۔



اگلی کمانڈ ہمیں پہلے سے چلنے والی کمانڈ کی ایگزٹ سٹیٹس دکھائے گی۔

$باہر پھینک دیا

جیسا کہ پچھلی کمانڈ کامیابی سے چلتی ہے ، باہر نکلنے کی حیثیت 0 ہے۔ بصورت دیگر ، باہر نکلنے کی حیثیت مختلف ہوگی۔ جب آپ غلط کمانڈ چلانے کی کوشش کرتے ہیں تو کیا ہوتا ہے؟

$ adfadsf
$باہر پھینک دیا

اب ، ہمیں فائل ڈسریکٹر کے بارے میں جاننے کی ضرورت ہے۔ UNIX ماحولیاتی نظام میں ، یہ ایک فائل کو تفویض کردہ عددی اقدار ہیں۔ دونوں stdout (فائل ڈسکریپٹر = 1) اور stderr (فائل ڈسکریپٹر = 2) ایک مخصوص فائل ڈسریکٹر ہے۔ فائل ڈسریکٹر (اس صورت حال میں 1 اور 2) کا استعمال کرتے ہوئے ، ہم stdout اور stderr دوسری فائلوں کو.

شروع کرنے کے لئے ، مندرجہ ذیل مثال ری ڈائریکٹ کرے گی stdout ایک ٹیکسٹ فائل میں ایکو کمانڈ کا۔ یہاں ، ہم نے فائل ڈسریکٹر کی وضاحت نہیں کی۔ اگر وضاحت نہیں کی گئی تو ، bash استعمال کرے گا۔ stdout پہلے سے طے شدہ طور پر

$باہر پھینک دیاہیلو ورلڈ۔>log.txt

درج ذیل کمانڈ ری ڈائریکٹ کرے گا۔ stderr ایک ٹیکسٹ فائل میں

$asdfadsa>error.txt

/dev /null استعمال کرنا۔

آؤٹ پٹ کو /dev /null پر ری ڈائریکٹ کرنا۔

اب ، ہم /dev /null استعمال کرنے کا طریقہ سیکھنے کے لیے تیار ہیں۔ پہلے ، آئیے چیک کریں کہ نارمل آؤٹ پٹ اور ایرر کو کیسے فلٹر کیا جائے۔ مندرجہ ذیل کمانڈ میں ، grep /sys ڈائریکٹری میں سٹرنگ (ہیلو ، اس معاملے میں) تلاش کرنے کی کوشش کرے گا۔

$گرفت ہیلو/sys/

تاہم ، یہ بہت ساری خرابی پیدا کرے گا کیونکہ جڑ کے استحقاق کے بغیر ، گریپ متعدد فائلوں تک رسائی حاصل نہیں کرسکتا ہے۔ ایسی صورت میں ، اس کے نتیجے میں اجازت سے انکار شدہ غلطیاں ہوں گی۔ اب ، ری ڈائریکشن کا استعمال کرتے ہوئے ، ہم ایک واضح آؤٹ پٹ حاصل کرسکتے ہیں۔

$گرفت ہیلو/sys/ > /دیو/خالی

آؤٹ پٹ بہت بہتر لگ رہا ہے ، ٹھیک ہے؟ کچھ نہیں! اس معاملے میں ، گریپ کو بہت سی فائلوں تک رسائی حاصل نہیں ہے اور جو قابل رسائی ہیں ان کے پاس سٹرنگ ہیلو نہیں ہے۔

مندرجہ ذیل مثال میں ، ہم گوگل کو پنگ کریں گے۔

$پنگگوگل ڈاٹ کام

تاہم ، ہم ان تمام کامیاب پنگ نتائج کو نہیں دیکھنا چاہتے۔ اس کے بجائے ، ہم صرف غلطیوں پر توجہ مرکوز کرنا چاہتے ہیں جب پنگ گوگل تک نہیں پہنچ سکی۔ ہم یہ کیسے کریں؟

$پنگگوگل ڈاٹ کام> /دیو/خالی

یہاں ، کے مندرجات۔ stdout /dev /null پر پھینک دیا جاتا ہے ، صرف غلطیاں چھوڑ کر۔

تمام آؤٹ پٹ کو /dev /null پر ری ڈائریکٹ کریں۔

کچھ حالات میں ، آؤٹ پٹ بالکل مفید نہیں ہوسکتا ہے۔ ری ڈائریکشن کا استعمال کرتے ہوئے ، ہم تمام آؤٹ پٹ کو باطل میں ڈال سکتے ہیں۔

$گرفت ہیلو/sys/ > /دیو/خالی> &

آئیے اس حکم کو تھوڑا سا توڑ دیں۔ پہلے ، ہم سب کو پھینک رہے ہیں۔ stdout to /dev /null. پھر ، دوسرے حصے میں ، ہم بش کو بھیجنے کے لیے کہہ رہے ہیں۔ stderr کو stdout . اس مثال میں ، آؤٹ پٹ کے لیے کچھ نہیں ہے۔ تاہم ، اگر آپ الجھن میں ہیں تو ، آپ ہمیشہ چیک کر سکتے ہیں کہ کمانڈ کامیابی کے ساتھ چلا۔

$باہر پھینک دیا

قیمت 2 ہے کیونکہ کمانڈ نے بہت سی غلطیاں پیدا کیں۔

اگر آپ فائل کی وضاحت کرنے والے کو بھول جاتے ہیں۔ stdout اور stderr ، مندرجہ ذیل کمانڈ ٹھیک کام کرے گی۔ یہ پچھلی کمانڈ کا زیادہ عام شکل ہے۔ دونوں stdout اور stderr /dev /null پر ری ڈائریکٹ کیا جائے گا۔

$گرفت ہیلو/sys/ &>۔ /دیو/خالی

دوسری مثالیں۔

یہ ایک دلچسپ ہے۔ ڈی ڈی ٹول یاد ہے؟ فائلوں کو تبدیل کرنے اور کاپی کرنے کا یہ ایک طاقتور ٹول ہے۔ ڈی ڈی کے بارے میں مزید جانیں۔ ڈی ڈی کا استعمال کرتے ہوئے ، ہم آپ کی ڈسک کی ترتیب وار پڑھنے کی رفتار کو جانچ سکتے ہیں۔ یقینا ، یہ درست پیمائش نہیں ہے۔ تاہم ، ایک فوری ٹیسٹ کے لیے ، یہ کافی مفید ہے۔

$ڈی ڈی اگر=<بڑی فائل> کی=/دیو/خالیحالت= ترقیبی ایس= 1 ملینiflag= براہ راست

یہاں ، میں نے اوبنٹو 18.04.4 آئی ایس او کو بڑی فائل کے طور پر استعمال کیا ہے۔

اسی طرح ، آپ اپنے انٹرنیٹ کنکشن کی ڈاؤن لوڈ کی رفتار کو بھی جانچ سکتے ہیں۔

$ویجٹ -یا /دیو/خالی<بڑی فائل_ لنک>

حتمی خیالات۔

امید ہے کہ ، آپ کو واضح سمجھ ہو گی کہ یہ /dev /null فائل کیا ہے۔ یہ ایک خاص ڈیوائس ہے ، اگر اسے لکھا جائے تو ضائع ہوجاتا ہے اور اگر پڑھا جائے تو کالعدم ہوجاتا ہے۔ اس دلچسپ خصوصیت کی حقیقی صلاحیت دلچسپ باز اسکرپٹس میں ہے۔

کیا آپ بش اسکرپٹنگ میں دلچسپی رکھتے ہیں؟ اس کو دیکھو بیش سکرپٹنگ کے لیے ابتدائی رہنما۔ .

لطف اٹھائیں!