Unix file types
سات معیاری یونکس فائل کی اقسام باقاعدہ، ڈائرکٹری، علامتی لنک، فیفو اسپیشل، بلاک اسپیشل، کریکٹر اسپیشل، اور ساکٹ ہیں جیسا کہ پوزیکس نے بیان کیا ہے۔ مختلف او ایس مخصوص نفاذ پوزیکس کی ضرورت سے زیادہ اقسام کی اجازت دیتے ہیں (مثال کے طور پر۔ سولرس کے دروازے)۔ فائل کی قسم کی شناخت ls-l کمانڈ کے ذریعے کی جا سکتی ہے، جو فائل سسٹم پرمشنز فیلڈ کے پہلے کردار میں قسم کو ظاہر کرتی ہے۔ باقاعدہ فائلوں کے لیے، یونکس کوئی اندرونی فائل ڈھانچہ عائد یا فراہم نہیں کرتا ہے ؛ اس لیے، ان کی ساخت اور تشریح مکمل طور پر ان کے استعمال کرنے والے سافٹ ویئر پر منحصر ہے۔ تاہم، فائل کمانڈ کو عام طور پر اس بات کا تعین کرنے کے لیے استعمال کیا جا سکتا ہے کہ ان میں کس قسم کا ڈیٹا موجود ہے۔ نمائندگی عددی اسٹیٹ ڈھانچے میں، فائل کی قسم اور اجازت (موڈ) کو ایک بٹ فیلڈ میں ایک ساتھ محفوظ کیا جاتا ہے، جس کا سائز کم از کم 12 بٹس ہوتا ہے (سات ممکنہ قسم کی فائلوں میں سے قسم کی وضاحت کے لیے 3 بٹس ؛ اجازت کے لیے 9 بٹس)۔ اجازتوں کے لیے ترتیب کو پوزیکس کے ذریعے کم از کم اہم 9 بٹس کے طور پر بیان کیا گیا ہے، لیکن باقی غیر واضح ہے۔ روایت کے مطابق، موڈ ایک 16 بٹ ویلیو ہے جسے چھ ہندسوں کے آکٹل نمبر کے طور پر لکھا جاتا ہے جس میں لیڈنگ زیرو نہیں ہوتا ہے۔ فارمیٹ کا حصہ لیڈ 4-بٹس (2 آکٹل ہندسوں) پر قبضہ کرتا ہے، اور "010" (بائنری میں) عام طور پر ایک باقاعدہ فائل کے لیے ہوتا ہے۔ اگلے 3 بٹس (1 ہندسوں) عام طور پر سیٹوئڈ، سیٹگڈ اور چپچپا کے لیے استعمال ہوتے ہیں۔ اجازت رکھنے کے لیے پوزیکس کے ذریعے آخری حصے کی وضاحت پہلے ہی کی جا چکی ہے۔ ایک عام فائل کے لیے ایک مثال "100644" ہے۔ یہ شکل دیگر جگہوں کے درمیان گٹ، ٹار اور آر میں دیکھی جا سکتی ہے۔ فائل کی قسم کی جانچ ایس _ آئی ایس ڈی آئی آر جیسے میکرو کا استعمال کرتے ہوئے کی جا سکتی ہے۔ اس طرح کی جانچ عام طور پر S _ IFMT (اکثر لیڈ 4 بٹس کنونشن کے لیے آکٹل نمبر "170000") کے ساتھ موڈ کو ماسک کرکے اور یہ جانچ کر کے کی جاتی ہے کہ آیا نتیجہ S _ IFDIR سے میل کھاتا ہے یا نہیں۔ ایس _ آئی ایف ایم ٹی ایک بنیادی پوزیکس تصور نہیں ہے، بلکہ ایک ایکس/اوپن سسٹم انٹرفیس (ایکس ایس آئی) ایکسٹینشن ہے۔ صرف پوزیکس کے مطابق نظام کچھ دوسرے طریقے استعمال کر سکتے ہیں۔ موڈ سٹرنگ مثال کے طور پر ls-l آؤٹ پٹ میں ایک لائن لیں: drwxr-xr-x 2 جڑ جڑ 0 جنوری 1 1970 ہوم پوزیکس طویل فارمیٹ (-l آپشن) کے لیے آؤٹ پٹ کی شکل کی وضاحت کرتا ہے۔ خاص طور پر، پہلے فیلڈ (پہلی جگہ سے پہلے) کو "فائل موڈ سٹرنگ" کہا جاتا ہے، یہاں drwxr-xr-x ہے۔ اس کا پہلا حرف فائل کی قسم کو بیان کرتا ہے، یہاں d (ڈائرکٹری) ہے۔ اس سٹرنگ کا باقی حصہ فائل کی اجازتوں کی نشاندہی کرتا ہے۔ نفاذ کی مثالیں ایل ایس کا جی این یو کوریوٹیل ورژن موڈ سٹرنگ حاصل کرنے کے لیے کال ٹو فائل موڈ () کا استعمال کرتا ہے، جو کہ ایک گلبک فنکشن (گنولیب لائبریری میں بے نقاب) ہے۔ فری بی ایس ڈی ایک آسان نقطہ نظر استعمال کرتا ہے لیکن فائل کی اقسام کی ایک چھوٹی تعداد کی اجازت دیتا ہے۔ ڈائرکٹری سب سے عام خصوصی فائل ڈائرکٹری ہے۔ ڈائرکٹری فائل کی ترتیب کی وضاحت استعمال شدہ فائل سسٹم کے ذریعے کی جاتی ہے۔ چونکہ یونکس کے تحت کئی فائل سسٹمز دستیاب ہیں، مقامی اور غیر مقامی دونوں، اس لیے کوئی ایک ڈائرکٹری فائل لے آؤٹ نہیں ہے۔ ایک ڈائرکٹری کو ls-dl یا سٹیٹ کے آؤٹ پٹ میں موڈ فیلڈ میں پہلے حرف کے طور پر d کے ساتھ نشان زد کیا جاتا ہے، مثال کے طور پر۔ $ls-dl/drwxr-xr-x 26 جڑ جڑ 4096 ستمبر 22 09:29/$سٹیٹ/فائل: "/" سائز: 4096 بلاکس: 8 IO بلاک: 4096 ڈائرکٹری ڈیوائس: 802h/2050d انوڈ: 128 لنکس: 26 رسائی: (0755/drwxr-xr-x) Uid: (0/جڑ) Gid: (0/جڑ)۔ علامتی لنک ایک علامتی لنک دوسری فائل کا حوالہ ہے۔ یہ خصوصی فائل حوالہ شدہ فائل کے راستے کی متن کی نمائندگی کے طور پر محفوظ کی جاتی ہے (جس کا مطلب ہے کہ منزل ایک رشتہ دار راستہ ہو سکتا ہے، یا بالکل موجود نہیں ہو سکتا ہے)۔ ایک علامتی لنک کو موڈ سٹرنگ کے پہلے حرف کے طور پر ایل (لوور کیس ایل) کے ساتھ نشان زد کیا جاتا ہے، جیسے۔ اس مختصر ls-l آؤٹ پٹ میں: lrwxrwxrwx. اصطلاح کیپ->/usr/شیئر/غلط/اصطلاح کیپ lrwxrwxrwx. S03xinetd->./init. d/xinetd FIFO (نامی پائپ) یونکس کی طاقتوں میں سے ایک ہمیشہ بین عمل مواصلات رہی ہے۔ او ایس کے ذریعہ فراہم کردہ سہولیات میں پائپ شامل ہیں، جو ایک عمل کے آؤٹ پٹ کو دوسرے کے ان پٹ سے جوڑتے ہیں۔ یہ ٹھیک ہے اگر دونوں عمل ایک ہی بنیادی عمل کی جگہ میں موجود ہوں، جسے ایک ہی صارف نے شروع کیا ہے، لیکن ایسے حالات ہیں جہاں مواصلاتی عمل کو ایف آئی ایف اوز کا استعمال کرنا چاہیے، جسے یہاں نامی پائپ کہا جاتا ہے۔ ایسی ہی ایک صورت حال اس وقت پیدا ہوتی ہے جب عمل کو مختلف صارف ناموں اور اجازتوں کے تحت انجام دیا جانا چاہیے۔ نامزد پائپ خاص فائلیں ہیں جو فائل سسٹم میں کہیں بھی موجود ہو سکتی ہیں۔ انہیں کمانڈ mkfifo کے ساتھ بنایا جا سکتا ہے جیسا کہ mkfifo مائی پائپ میں ہے۔ ایک نامزد پائپ کو موڈ سٹرنگ کے پہلے حرف کے طور پر پی کے ساتھ نشان زد کیا جاتا ہے، جیسے۔ اس مختصر ایل ایس-ایل آؤٹ پٹ میں: پی آر ڈبلیو-آر ڈبلیو----. مائی پائپ ساکٹ ایک خاص فائل ہے جو انٹر پروسیس مواصلات کے لیے استعمال ہوتی ہے، جو دو عملوں کے درمیان مواصلات کو قابل بناتی ہے۔ ڈیٹا بھیجنے کے علاوہ، عمل سیمنٹ ایم ایس جی () اور ریک وی ایم ایس جی () سسٹم کالز کا استعمال کرتے ہوئے یونکس ڈومین ساکٹ کنکشن میں فائل کی تفصیل بھیج سکتے ہیں۔ نامزد پائپوں کے برعکس جو صرف یک طرفہ ڈیٹا کے بہاؤ کی اجازت دیتے ہیں، ساکٹ مکمل طور پر ڈوپلیکس کے قابل ہوتے ہیں۔ ساکٹ کو موڈ سٹرنگ کے پہلے حرف کے طور پر ایس کے ساتھ نشان زد کیا جاتا ہے، مثال کے طور پر۔ ایس آر ڈبلیو ایکس آر ڈبلیو ایکس/ٹی ایم پی/. ایکس 11-یونکس/ایکس 0 ڈیوائس فائل (بلاک، کردار) یونکس میں، تقریبا تمام چیزوں کو فائلوں کے طور پر سنبھالا جاتا ہے اور فائل سسٹم میں ان کا مقام ہوتا ہے، یہاں تک کہ ہارڈ ڈرائیوز جیسے ہارڈ ویئر ڈیوائسز بھی۔ سب سے بڑی رعایت نیٹ ورک ڈیوائسز ہیں، جو فائل سسٹم میں نہیں آتے بلکہ الگ سے ہینڈل کیے جاتے ہیں۔ ڈیوائس فائلوں کا استعمال آلات تک رسائی کے حقوق کا اطلاق کرنے اور فائلوں پر کارروائیوں کو مناسب ڈیوائس ڈرائیوروں تک پہنچانے کے لیے کیا جاتا ہے۔ یونیکس کریکٹر ڈیوائسز اور بلاک ڈیوائسز کے درمیان فرق کرتا ہے۔ فرق تقریبا اس طرح ہے: کریکٹر ڈیوائسز صرف ان پٹ کا سیریل اسٹریم فراہم کرتے ہیں یا آؤٹ پٹ کے سیریل اسٹریم کو قبول کرتے ہیں بلاک ڈیوائسز تصادفی طور پر قابل رسائی ہیں حالانکہ، مثال کے طور پر، ڈسک پارٹیشنز میں دونوں کریکٹر ڈیوائسز ہو سکتی ہیں جو پارٹیشن اور بلاک ڈیوائسز پر بلاکس تک غیر بفرڈ بے ترتیب رسائی فراہم کرتے ہیں جو پارٹیشن پر بلاکس تک بفرڈ بے ترتیب رسائی فراہم کرتے ہیں۔ ایک کریکٹر ڈیوائس کو موڈ سٹرنگ کے پہلے حرف کے طور پر سی کے ساتھ نشان زد کیا جاتا ہے اور بلاک ڈیوائس کو بی کے ساتھ نشان زد کیا جاتا ہے، مثال کے طور پر۔ اس مختصر ls-l آؤٹ پٹ میں: chrw-rw-rw-./dev/null brw-rw------/dev/sda حوالہ جات یونیکس فائل سسٹم ٹیکنالوجی