لينڪس ڪمانڊ اوپن حاصل ڪريو

يونيڪوڊس

شامل ڪريو << A HREF = "فائل: /usr/include/sys/types.h"> sys / types.h> شامل ڪريو ھڪڙو HREF = "فائيل: /usr/include/sys/stat.h"> sys / stat.h> شامل ڪريو هڪ HREF = "فائيل: /usr/include/fcntl.h"> fcntl.h> انو کول (const char * pathname ، int flag int open (const char * pathname ، int flags ، mode_t mode int creat (const char * pathname ، mode_t mode

تفصيل

لينڪس ( سسٽم ) لينڪس آرڊر سڏيندو آهي رينٽمنٽ کي فائل جي حرفري ۾ (هڪ کان وڌيڪ، غير منفي انٽيجريٽ ۾ ايندڙ اي اي اي ۾ استعمال لاء ، پڙهڻ سان ، لکڻ ، وغيره وغيره) کي تبديل ڪرڻ لاء. جڏهن ڪال ڪامياب ٿي ويندو آهي، فائل فائيل بيان ڪندڙ کي هيل قرار ڏنو ويندو آهي، انهي جي ناڪاميء واري صورت ۾ موجود آهي. هي ڪال نئين ٺاهيل فائل ٺاهي ٿو، ڪنهن ٻئي پروسيس سان حصيداري ناهي. (پر مٿي ونڊوز ٿيل گڏيل فائلون فارڪ (2) سسٽم ڪال جي ذريعي ٿي سگھي ٿو.) نئين فائيل بيان ڪندڙ مقرر ٿيل عملن ۾ کليل رهڻ لاء مقرر ٿيل آهي ( فڪنيٽ ڏسو (2)). فائيل آف سيٽ فائل جي شروعات تي مقرر ڪئي وئي آھي.

پيراگرافٽ پرچم O_RONONLY ، O_WRONLY يا O_RDWR مان هڪ آهي، جيڪو صرف صفر يا وڌيڪ کان هيٺ ڏنل فائل پڙهڻ وارن کي پڙهڻ، صرف لکندو يا پڙهڻ / لکندو، ترتيب سان، بصري طور تي يا 'ڊي' سڏيندو آهي.

O_CREAT

جيڪڏهن فائل موجود ناهي ته اهو پيدا ڪيو ويندو. فائل جو مالڪ (صارف ID) جي عمل جو مؤثر صارف ID تي مقرر ڪيو ويو آهي. گروهه جي ملڪيت (گروپ جي سڃاڻپ) کي يا ته عمل جي مؤثر گروپ ID کي يا والدين ڊاريڪٽري جي گروپ شناخت کي مقرر ڪيو ويندو آهي. (ميزيڪل سسٽم جي قسم تي ۽ مٽا اختيارات تي منحصر آهي، ۽ ڏورين ڊرانسپورٽ جو طريقو، ڏسو، مثلا، mount اختيارن سان بيڊ ڊيڊسز ۽ ايس فيڪ سسٽم جي ايس ايس جا گروپ ، جيئن ته جبل ۾ بيان ڪيل آهي (8)).

O_EXCL

جڏهن استعمال ڪيو ويو O_CREAT ، جيڪڏهن فائل اڳ ۾ موجود هوندو آهي ته اهو غلط آهي ۽ اوپن ناڪام ٿيندو. ھن سلسلي ۾، ھڪڙي علامتي لنڪ موجود آھي، ان جي پوائنٽ جو مقابلو ڪرڻ کان سواء. O_EXCL اين ايف سي فائيل سسٽم تي ڀڄي ويندو آهي، جيڪي پروگرامن تي تالا رکڻ وارا ڪم ڪرڻ تي انحصار ڪندو راندي حالت ۾ شامل هوندي. lockfile کي استعمال ڪندي ائٽومي فائل کي بند ڪرڻ جو حل ساڳيو ايف (هڪ مثال، ميزبان نامزد ۽ پڊ شامل) تي هڪ منفرد فائل ٺاهي ٿو، ڪڙي (2) کي lockfile جي لنڪ ٺاهڻ لاء استعمال ڪريو. جيڪڏهن لنڪ () موٽايو 0، تالا ڪامياب ٿيو. ٻي صورت ۾، (2) مخصوص فائل تي چيڪ ڪرڻ جي لاء استعمال ڪريو ته ان جي ڪڙي جي وڌائي 2 تائين وڌي وئي آهي، انهي صورت ۾ تالا پڻ ڪامياب آهي.

اوڪي اي ٽي

جيڪڏهن رستو نام هڪ ٽرمينل ڊوائيس ڏانهن اشارو ڪري ٿو --- ٽيٽي ڏسو (4) --- اهو اهو عمل عمل جي ڪنٽرول ٽرمين نه ٿي سگهندو، جيتوڻيڪ اهو عمل ڪو نه هوندو.

اوٽروئن

جيڪڏهن فائل اڳ ۾ ئي موجود آهي ۽ باقاعده فائل آهي ۽ اوپن موڊ لکڻ جي اجازت ڏئي ٿي (يعني، O_RDWR يا O_WRONLY) ان جي ڊيگهه 0. کي ختم ڪيو ويندو. جيڪڏهن فائل ففا آهي يا ٽرمينل ڊوائيس فائل آهي، O_TRUNC پرچم کي نظر انداز ڪيو ويو آهي. ٻي صورت ۾، O_TRUNC جو اثر غير معياري آهي. (ڪيتريون ئي لينڪس جا نسخ نظرانداز ڪيا ويندا؛ ٻين ورزن تي، اهو غلطي ڏيندس.)

O_APPEND

فائيل موڊ ۾ فائل کوليو ويندو آهي. هر لکڻ کان اڳ، فائيل پوسٽ فائل فائيل جي آخر ۾ پوزيشن تي آهي، جهڙوڪ نسي سان . O_APPEND شايد ن ايف ايس فائيل سسٽم تي خراب ڪيل فائلن کي ڏسجي سگھن ٿيون جيڪڏهن هڪ کان وڌيڪ عمل هڪ ڀيرو هڪ فائل تائين ڊيٽا کي منتقلي ڪري ٿي. اهو ئي سبب آهي ته اين ايف ايس فائيل کي ضمني سهڪار جي حمايت نه ڪندو آهي، انهي ڪري ڪلائنٽ ڪيليٽ ان کي تخليق ڪرڻو آهي، جيڪو ڪنهن به حالت جي حالت کان بغير نٿو ڪري سگهجي.

O_NONBLOCK يا O_NDELAY

جڏهن ممڪن هجي، فائيل اڻ رڪاوٽ موڊ ۾ کوليو ويندو آهي. نه ئي فائل تي نه کلي يا نه وري ايندڙ عملن کي واپس ڏنل بيان ڪندڙ جنهن کي واپس اچڻ واري عمل جو انتظار ٿيندو. فيفا (نامزد پائپ) جي هٿ ڪرڻ لاء، پڻ پنو (4) ڏسو. انهي طريقي سان في ايف جي ٻين کان فائلن تي ڪا به اثر نه آهي.

O_SYNC

فائل مونجهاري I / O لاء کوليو آهي. ڪنهن به لکڻي واري نتيجن تي هيڪسڪٽر کي ڪالري واري عمل کي روڪڻ تائين پهچايو ويندو جيستائين اهو جسماني طور تي هيٺوني هارڊويئر ۾ لکيل هجي. ڏسجي ته هيٺيون ردوينشن ڏسو.

O_NOFOLLOW

جيڪڏهن رستو نامي هڪ علامتي ڪڙي آهي، ته پوء کليل ناڪام ٿيندو. اهو هڪ FreeBSD توسیع آهي، جيڪو 2.1.126 نسخ ۾ لينڪس ۾ شامل ڪيو ويو آهي. pathname جي اڳئين حصن ۾ علامتي لنڪس اڃا به پٺيان لڳندا. سرڪشس 2.1.100 مان گلوبڪ ۽ بعد ۾ هن پرچم جي تعريف شامل آهي؛ ڪنيز کان 2.1.126 کان اڳ ان کي نظر انداز ڪندو .

O_DIRECTORY

جيڪڏهن رستي واري ڊائريڪٽري نه آهي، انهي کي ناڪام ٿيڻ سبب. اهو پرچم لينڪس مخصوص آهي، ۽ ڪنييل ورزن 2.1.126 ۾ شامل ڪيو ويو، رد ڪرڻ واري سروس جي مسئلن کان بچڻ لاء جيڪڏهن جيڪڏهن Openendir (3) فيفا يا ٽيپ ڊوائيس تي سڏيو وڃي ٿو، پر آپريشن کان ٻاهر نه هجڻ گهرجي. .

O_DIRECT

هن فائل مان اي ۽ اي جي ڪيش اثرات کي گھٽ ڪرڻ جي ڪوشش ڪريو. عام طور تي هن ڪارڪردگي کي تباهه ڪندي، پر اهو خاص حالتن ۾ مفيد آهي، جهڙوڪ جڏهن ايپليڪيشنون پنهنجي پنهنجي ڪئائٽنگ ڪندا آهن. فائل آء اي / سڌي طرح / صارف اسپين بفر مان ڪيو ويندو آهي. I / O مطابقت آهي، يعني، پڙهڻ مڪمل ٿيڻ تي (2) يا لکت (2) سسٽم ڪال، ڊيٽا منتقل ڪرڻ جي ضمانت ڏني وئي آهي. سائيٽن جي منتقلي، ۽ صارف بفر جي صفائي ۽ فائيل آف فائيل سڀني کي فائيل سسٽم جي منطقي بلاڪ سائيز جي گهڻن جا هجن.
ھي پرچم ھڪڙو يونڪس جهڙوڪ سسٽم تي سپورٽ آھي. لينڪس هيٺ ڏنل ڪنٽينل ڊيڊيڪل 2.4.10 ۾ شامل ڪيو ويو.
بلاک آلات لاء هڪ بنيادي طور تي ساڳيو انٽرنيٽ خام (8) ۾ بيان ڪيل آهي.

O_ASYNC

ھڪڙو سگنل ٺاھيو (سيفيوا ڊفالٽ سان، پر ھن کي فيڪٽل جي ذريعي تبديل ڪري سگھجي ٿو (2)) جڏھن ان فائل تي ان پٽ يا آئوٽ ممڪن ٿي سگھن ٿا. هي خاصيتون صرف ٽرمينل، مودو-ٽرمينلز، ۽ ساکٽ لاء موجود آهن. وڌيڪ تفصيل لاء fcntl (2) ڏسو.

O_LARGEFILE

32-بٽ سسٽم تي جيڪي وڏيون فائلون سسٽم جي حمايت ڪن ٿيون، انهن فائلن کي اجازت ڏين ٿيون جن جي شڪل کي 31 بٽ ۾ ورهائڻ لاء نمائندگي نٿو ڪري سگهجي.

انهن مان ڪجهه اختلافي جغرافيع फाइल फाइल खोल्न पछि fcntl प्रयोग गरेर बदल्न सकिन्छ .

دليل دليل جي صورت اختيار ڪري ٿو ته صورت ۾ استعمال ڪرڻ جي صورت ۾ هڪ نئين فائيل پيدا ٿئي ٿي. اهو عمل جي عام طور تي معمولي طريقي سان تبديل ڪيو ويو آهي: پيدا ٿيل فائل جي اجازت (موڊ ۽ ~ گم) آهن . نوٽ ڪريو ته هي طريقو صرف نئين پيدا ٿيل فائل جي مستقبل جي رسائي تي لاڳو ٿئي ٿو. ته کليڪ ڪال ٺاهڻ جوڙي پڙهي صرف فائل ٺاهي سگهي ٿو اهو پڙهي سگهي ٿو / پڙهي لکڻ وارو فائل واپس.

هيٺين علامتي پابندين کي موڊ لاء مهيا ڪيو ويو آهي :

S_IRWXU

00700 استعمال ڪندڙ (فائيل مالڪ) جي اجازت پڙهي، لکڻ ۽ لکندي آهي

S_IRUSR (S_IREAD)

00400 استعمال ڪندڙ پڙهيو آھي

S_IWUSR (S_IWRITE)

00200 صارف کي لکڻ جي اجازت ڏني آھي

S_IXUSR (S_IEXEC)

00100 استعمال ڪندڙ کي اجازت ڏني آھي

S_IRWXG

00070 گروپ پڙهيو آهي، پڙهڻ، لکت ۽ اجازت ڏيڻ

S_IRGRP

00040 گروپ پڙهيو آهي

S_IWGRP

00020 گروپ اجازت ڏني

S_IXGRP

00010 گروپ کي اجازت ڏني آهي

S_IRWXO

00007 ٻين کي پڙهي، لکڻ ۽ لکائڻ جي اجازت آهي

S_IROTH

00004 ٻيا سکيا پڙهيا آهن

S_IWOTH

00002 ٻين کي اجازت لکندا آهن

S_IXOTH

00001 ٻين تي عمل جي اجازت آھي

طريقيڪار بيان ڪيو وڃي ٿو جڏهن O_CREAT پرچم ۾ آهي ، ۽ ٻي صورت ۾ نظر انداز ٿيل آهي.

تخليق O_CREAT جي برابر پرچم سان کولڻ جي برابر آهي | O_WRONLY | OTRUNC .

ريٽرنٽ VALUE

کليل ۽ تخليق واپسيء جي نئين فائل بيان ڪندڙ، يا -1 هڪ غلطي ٿي آهي (انهي صورت ۾، غلطو صحيح طور تي مقرر ٿيل آهي). نوٽ اهو کليل خاص فائلون ڊائونلوڊ ڪري سگھن ٿا، پر ٺاهيل ان کي ٺاهي نٿا سگهن - بٽڻ (2) بدران استعمال ڪريو.

يو ايس ايم جي ميپنگ سان اين ايف سي فائيل سسٽم کي فعال ڪيو ويو، کوليو هڪ فائيل بيان ڪندڙ واپس ڏئي سگهي ٿو پر مثال طور پڙهي (2) درخواستون اي سي سيس سان رد ٿيل آهن. اهو ئي سبب آهي ته ڪلائنٽ اجازتن جي ذريعي کليل انجام ڏيندو آهي، پر يو ايس ميپنگ سرور طرفان پڙهڻ ۽ درخواستن تي درخواستن تي عمل ڪيو ويندو آهي.

جيڪڏهن فائل نئون ٺاهي وئي آهي، ان جو ائٽم، ڪيٽ، مائم فيلڊ موجوده وقت تائين مقرر ڪيو ويو آهي، ۽ ائين ئي والدين ڊائريڪٽري ۾ ڪيٽ ۽ مائم فيلڊ آهن. ٻي صورت ۾، اگر فائل O_TRUNC پرچم کی وجہ سے نظر ثانی کی گئی ہے، اس کی ctime اور समय क्षेत्र वर्तमान समय पर सेट गरियो.

غلطيون

ايڪسسٽسٽ

رستي وارو نالو اڳ ۾ موجود آهي ۽ O_CREAT ۽ O_EXCL استعمال ڪيو ويو.

ايسٽ ڊير

رستي واري ڊومين کي ڊاريڪٽري ڏانهن اشارو ڪيو ويو آهي ۽ درخواست ۾ ملوث لکڻ جي رسائي (جيڪا آهي، O_WRONLY يا O_RDWR مقرر ٿيل آهي).

اي سي سيس

ڏنل دستاويز تائين رسائي جي اجازت ناهي، يا ڪنهن رستي جي هدايتن ۾ ڊائريڪٽرن ڳولا جي (اجازت) اجازت جي اجازت نه ڏني، يا فائل اڃان تائين موجود ناهي ۽ والدين ڊاريڪٽري تائين رسائي جي اجازت ناهي.

ENAMETOOLONG

رستي وارو رستو تمام ڊگهو هو.

ENOENT

O_CREAT سيٽ نه ڪئي وئي ۽ نالي وارو نالو موجود ناهي. يا، ڪنهن ڊائريڪٽريٽ جو جزو پيٽيوٽ ۾ موجود ناهي يا هڪ غير معمولي علامتي ڪڙي آهي.

ENOTDIR

ھڪڙو ڀاڱو پنيئر ۾ ڊائريڪٽري جي طور استعمال ڪيو ويو آھي، حقيقت ۾، ھڪ ڊائريڪٽريٽ، يا O_DIRECTORY بيان ٿيل ھو ۽ رستو جو نالو ڊائريڪٽري نه ھو.

اينڪسيو

O_NONBLOCK | O_WRONLY سيٽ ڪيو ويو آهي، نالو رکيو فائيل هڪ فيفا آهي ۽ ڪو عمل پڙهڻ لاء فائل کوليو آهي. يا، فائيل هڪ ڊوائيس خاص فائل آهي ۽ نهايت ڊيوائس موجود ناهي.

ENODEV

رستي جو نالو هڪ ڊوائيس خاص فائل ڏانهن اشارو آهي ۽ نه ئي ڪنهن به ڊوائيس موجود ناهي. (هي هڪ لينڪس ڪنٽينيل بگ آهي - هن صورتحال ۾ اينڪسيو واپس آيو هجي.)

EROFS

رستي جو نالو هڪ فائل ڏانهن صرف پڙهڻ واري فائيل سسٽم تي ظاهر ڪري ٿو ۽ رسائي لکڻ جي درخواست ڪئي وئي هئي.

اي ٽيڪس ٽي بي

رستي وارو نالو هڪ قابل عمل واري تصوير ڏانهن اشارو آهي، جيڪو هن وقت تي عمل ڪري رهيو آهي ۽ لکڻ جي لکت ڪئي وئي هئي.

اي ايف ايل ٽي

رستي جو نالو توهان جي رسائي واري جڳهه جي ٻاهران نڪتو.

ELOOP

تمام گھڻيون علامتي لنڪس رستي جي حل کي حل ڪيو ويو، يا O_NOFOLLOW بيان ٿيل هو پر رستي جو نالو علامتي لنڪ هو.

ENOSPC

رستي وارو نالو پيدا ٿيڻ هو پر اهو ڊوائيس جنهن جي رستي تي نالو نام نون فائل لاء ڪابه جاء ناهي.

ENOMEM

ڪيبل ڪيڪيل ميموري موجود هئي.

ايم ايفلي

پروسيس اڳ ۾ ئي فائلن جي وڌ ۾ وڌ نمبر آهي.

ENFILE

سسٽم تي کليل فائلن جي ڪل تعداد تي حد تائين پهچي وئي آهي.

ان جي مطابق

SVr4، SVID، POSIX، X / OPEN، BSD 4.3 ايڪسپلولوڊ ۽ O_DIRECTORY جاگڙا Linux -specific آهن. انهن کي انهن جي معنائون حاصل ڪرڻ لاء _GNU_SOURCE ميڪرو کي وضاحت ڪرڻ گهرجي.

پابنديون

NFS تحت پروٽوڪول ۾ ڪيتريون ئي بيماري آهن، جيڪي O_SYNC ۽ اوڪي ڊيللي جي وچ ۾ متاثر آهن.

POSIX ٺهيل اي اي اي جي ٽن مختلف مختلف قسمن جي لاء مهيا ڪندو آهي، پرچم O_SYNC ، O_DSYNC ۽ O_RSYNC سان لاڳاپيل . في الحال (2.1.130) هنن سڀني لينڪس جي وچ ۾ مترجم آهن.