د لینوکس کمانډ پرانیزم زده کړئ

Synopsis

# HREF = "دوتنه: /usr/include/sys/types.h"> sys / types.h> په کې شامل کړئ << A HREF = "دوتنه: /usr/include/sys/stat.h"> sys / stat.h> په شمولیت کې شامل کړئ << A HREF = "دوتنه: /usr/include/fcntl.h"> fcntl.h> int پرانیستل (const char * pathname ، intags انټرنیټ پرانیستل (const char * pathname ، انټرنګونه، mode_t mode انټراټیټ (const char * pathname ، mode_t mode

تفصیل

د لینکسکس کمانډ پرانیستل کیږي د لیډ نوم نوم د فایل نوم لیکونکی (په کوچني، غیر منفي انټرنټ کې د I / O په کار کې د لوستلو ، لیکلو او نور سره کارولو لپاره بدلوي. کله چې کال بریالی وي، د فایل مسترور بیرته راګرځیدل د ټیټ فایل فایل لیکونکی دی چې اوس مهال د پروسې لپاره نه خلاص کیږي. دا تلیفون یو نوی پرانیستی فایل منځته راوړي، نه د بل پروسې سره شریک شوی. (مګر د پرانيستې فایلونو شریکول کیدای شي د کانک (2) سیستم سیسټم له لارې رامنځ ته شي.) د نوې فایل وړونکي ډایرکټر ټاکل شوی چې د عملي کولو په بهیر کې پرانیستي پاتې شي ( فټینټل (2) وګورئ). د دوتنې افعال د دوتنې پیل پیل شوی دی.

پیرامیټریج بيرغ د O_RONLY ، O_WRONLY یا O_RDWR څخه یو دی، کوم چې د دوتنې لوستلو لپاره یوازې د پرانستلو غوښتنه کوي، په ترتیب سره، په ترتیب سره، bitwise- یا د صفر یا له ډیرو څخه ډیری سره:

O_CREAT

که دوتنه شتون نلري نو دا به رامینځته شي. د دوتنې خاوند (د کاروونکي ID) د پروسې اغیزمن کاروونکي ID ته ټاکل شوی دی. د ډلې ملکیت (د ډلې ID) د یا هم د پروسې اغیزمن ګروپ ID یا د والدین ډایریکټر ګروپ ID ته ټاکل کیږي (د فایل سیستم سیسټم پورې اړه لري او د حل لارې چارې، او د مور د ډایرکټر طریقه، وګورئ، د مثال په توګه اختیاري bsdgroups او د ext2 فایل سیستم سیسټمونه ، لکه څنګه چې په غر کې ښودل شوي (8)).

O_EXCL

کله چې د O_CREAT سره کارول کیده، که چېرې دوتنه لا دمخه شتون ولري دا یوه تېروتنه ده او پرانيستې به ناکامه وي. په دې شرایطو کې، یو سمبولیک اړیکه شتون لري، پرته له دې چې د هغې ټکي ته. O_EXCL د NFS په فايل سیسټمونو کې مات شوی، هغه پروګرامونه چې د تالاشۍ دندو کولو لپاره یې دا تکیه کوي د ریس حالت حالت لري. د لینک فایل په کارولو سره د اټومي فایل تالاش کولو لپاره حل داده چې په ورته فکس کې یو انفرادي فایل جوړ کړئ (د مثال په توګه، د کوربه توب نوم او پید)، د لینکفیل لپاره لینک جوړولو لپاره د لینک (2) کارولو کار واخلئ. که لینک () 0 بیرته راشي، تالاش بریالی دی. که نه نو، د انفرادي فایل په اړه د چیک لپاره 2 (2) کار واخلئ که چیرې د دې شمېره شمېره 2 ته لوړه شي، پدې حالت کې تالاش هم بریالی دی.

O_NOCTTY

که چیرې د نوم نوم یو ټرمینل وسیله وپیژني --- د ټیټ (4) وګورئ --- دا به د پروسی کنټرول ټرمینل نه وي، حتی که پروسیجر ونلري.

OTRUNC

که چېرته دوتنه لا دمخه موجود وي او منظم دوتنه وي او پرانیستې لیک لیکل کیږي (یعنې، O_RDWR یا O_WRONLY) دا به د طول حد ته وغځول شي. که فایل یو FIFO یا د ټرمینل وسیله وي، د OTRUNC پرچم په پام کې نیول شوی. که نه، د O_TRUNC اغیز ندی مشخص شوی. (د ډیری لینوکسونو نسخه دا به په پام کې ونیول شي؛ په نورو نسخو کې، دا به یوه تېروتنه راولي.)

OAPAPEND

دوتنه د ضمیمه موارډ پرانیستل شوه. د هر لیکلو دمخه، د فایل لیکونکی د فایل په پای کې ځای پرځای شوی، لکه څنګه چې د لیک سره . OAPAPEND کیدای شي د NFS فایل سیسټمونو کې فاسدو فايلونو ته رامینځته کړي که چیرې د یوې پروسې څخه زیات د یو ځل لپاره فایل ته ډاټا سره ضمیمه شي. دا ځکه چې NFS د یوې دوتنې ضمیمه کولو مالتړ نه کوي، نو ځکه د مراجع کندېیل یې ورته هڅوي، کوم چې د نسل حالت پرته نشي ترسره کیدی.

اکاډلایل یا اوکډیلای

کله چې امکان ولري، دوتنه په غیر بندیز موډل کې پرانېستل کیږي. نه پرانيستی او نه هم د فاکس تشریح کونکي کوم عملیات چې بیرته راستانه شوي به د بلې مرحلې پروسه انتظار وکړي. د FIFOs (نومول شوي پایپونو) سمبالولو لپاره، هم د پنځو (4) وګورئ. دا موډل د FIFO څخه پرته په دوتنو باندې هیڅ تاثیر نلري.

O_SYNC

دا دوتنه د همغږۍ I / O لپاره پرانستل شوه. هرې لیکنې د پایله راوړونکي دوتنه توضیح کوونکي به د غږولو پروسه بنده کړي تر څو چې ډاټا په فزیکي توګه د لاندې هارډر ته لیکلي نه وي. که څه هم لاندې بندیزونه وګورئ، که څه هم.

O_NOFOLLOW

که چیرې د نوم نوم سمبولیک اړیکه وي نو بیا پرانیستل ناکامه وي. دا د FreeBSD توسعې دی، کوم چې په لینکس کې 2.1.126 نسخه اضافه شوی. د لارښو نوم په مخکینیو برخو کې سمبولیک لینکونه به هم پلې شي. د Glibc 2.0.100 څخه سرپرست او وروسته بیا د دې پرچم تعریف تعریفوي؛ د کانالونو څخه 2.1.126 مخکې به دا کار وګرځوي که چیرې کارول کیږي .

O_DIRECTORY

که چیرې رڼا نوم ډیری ډیری ډلی نه وي، نو د خلاصولو سبب ګرځي. دا بیرغ لینکس ځانګړی دی، او د کیرنیل نسخه 2.1.126 کې اضافه شوی، ترڅو د خدماتو انکار کولو څخه مخنیوی وشي که Opendir ) 3 (د FIFO یا ټایپ وسیلو په نوم یادېږي، مګر د اپینیر پلي کولو څخه بهر نه کارول کیږي. .

O_DIRECT

د دې فایل څخه I / O ته د کیچ اغیزې کمولو هڅه وکړئ. په عمومي توګه دا به د فعالیت خرابول وي، مګر دا په ځانګړو شرایطو کې ګټور وي، لکه څنګه چې غوښتنلیکونه د دوی پخشینې کوي. دوتنه I / O په مستقیم ډول / د کارن د خوندیتوب بڼو څخه. I / O مطابقت لري، د مثال په بشپړولو سره (2) یا ولیکئ (2) د سیسټم کال، ډاټا د لیږد شوي ضمانت دی. د لیږد انداز، او د کاروونکي بسته بندي او د فټ آف سایټ باید ټول د فایلیکي سیسټم د منطقی بلاک د انداز ډګونه وي.
دا بيرغ په يو شمېر يونيسيس سيسټمونو کې ملاتړ کوي. ملاتړ لینکس په لاندې د کارهیل نسخه 2.4.10 کې اضافه شوی و.
د بلاکس وسایلو لپاره په سیمیټ ورته ورته انټرنیټ په خام (8) کې بیان شوی.

O_ASYNC

یو سګرټ رامنځ ته کړئ (SIGIO د ډیزاین سره، مګر دا د fcntl (2) له لارې بدلیدلی شي کله چې د دې دوتنې تشریح پر انټرنټ یا محصول ممکن شي. دا ځانګړتیا یوازې د ټرمینالونو، موسو - ترمینالونو او ساکټونو لپاره شتون لري. د نورو تفصیلات لپاره fcntl (2) وګورئ.

O_LARGEFILE

په 32 بټ سیسټمونو کې چې د لوی فایل سیسټم مالتړ کوي، د فایلونو اجازه ورکوي چې اندازه یې په 31 بټونو کې نه شي ښکاره کیدی.

ځینې ​​د دې اختیاري بیرغونه د فایل پرانیستلو وروسته د Fcntl کارولو سره بدلیدلی شي.

د دلیل موډل اجازه ورکوي چې د کارولو لپاره نوې بڼه جوړه شي که کارول کیږي. دا د پروسې شاخص لخوا په معمول ډول تعدیل شوی دی: د جوړې شوې دوتنې اجازې (موډ & & umask) دي . په یاد ولرئ چې دا موډل یوازې د نوي پیدا شوي دوتنې راتلونکي راتلونکي لاس ته راوړل کیږي؛ د پرانیستې غږ چې یو د لوستلو یوازینۍ فایل جوړوي ښایې د لوستلو / لیکلو فایل توکورنسټ بیرته راستانه کړي.

لاندې علامتي محدوديتونه د موخو لپاره چمتو شوي دي:

S_IRWXU

00700 کارن (د دوتنې مالکیت) د اجازې لوستل، لیکل او اعالن کول دي

S_IRUSR (S_IREAD)

00400 کاروونکي لیکلي اجازه لیکلي

S_IWUSR (S_IWITE)

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 .

د بېرته راستنیدلو ارزښت

پرانیستل او تخلیه د نوې فایل لیکونکي یا -1 که چېرې کومه ستونزه رامنځ ته شوه بیرته راستانه شي (په کوم حالت کې، غلطی په سمه توګه ټاکل شوی دی). په یاد ولرئ چې پرانيستل کیدای شي د انټرنېټ ځانګړي فایلونه پرانیزي، مګر کریټیټ نشي کولی دا پیدا کړي - د دې په ځای د نانډوډ (2) کارول.

د NFS فایل سیسټمونو کې د UID نقشې اخیستنې فعالولو سره، کېدای شي پرانیستل د فایل توکټر راستانه کړي مګر د مثال په توګه ولولئ (2) غوښتنې د EACCES سره رد شوي دي . دا ځکه چې رجوع کوونکي د اجازې د کتلو له لارې پرانیستې ترسره کوي، مګر د UID نقشې د سرور لخوا د لوستلو او لیکلو غوښتنې غوښتنې ترسره کیږي.

که چیرې فایل نوي جوړ شوی وي، د its atime، ctime، mtime fields اوس مهال وخت ته لیږل کیږي، او د همدې لپاره د پلار ډایرکټر ctime اوtime وختونه دي. که نه نو، که دوتنه د O_TRUNC پرچم له کبله بدله شي، نو د دې سیمیټ او وخت وختونه اوس مهال ټاکل کیږي.

تېروتنه

EEXIST

لارښود نوم لا دمخه شتون لري او O_CREAT او O_EXCL کارول شوي.

EISDIR

روټ نوم نوم ډیری ډایریکټر ته اشاره کوي او غوښتنه شوي ښکیل لیک (چې دا دی، O_WRONLY یا O_RDWR ټاکل شوی).

EACCES

دوتنه ته غوښتل شوې لاسرسۍ اجازه نه لري، یا د لاریون نوم کې یو لارښود د لټون (اجرا کولو) اجازې ته اجازه نه ورکوي، یا فایل لا تر اوسه شتون نه لري او د مور لارښوونې ته لاسرسی اجازه نه لري.

انټولونگګ

لارښود نوم ډیر اوږد و.

ENOENT

O_CREAT ندی ټاکل شوی او د نوم نوم دوتنه شتون نلري. یا، د لارښود نوم کې د ډیری ډریری برخې شتون نلري یا د خطر لرونکې سمبولیک اړیکه ده.

ENOTDIR

A برخه په pathname کې د ډیری ډرایور په توګه کارول کیږي، په واقعیت کې، یوه ډایرکټر، یا O_DIRECTORY مشخص شوی نه و او د لارښو نوم ډیری ډیری ډیری نه و.

انکسیو

اویکون بلکل | O_WRONLY ټاکل شوی، نوم شوی فایل یو FIFO دی او هیڅ بهیر د لوستلو لپاره خلاص نه دی. یا، فایل د وسیله ځانګړی فایل دی او هیڅ اړونده وسیله شتون نلري.

ENODEV

رڼا نوم د توکیو ځانګړی فایل ته اشاره کوي او هیڅ ورته سازش شتون نلري. (دا د لینکس د کالیګل بورګ دی - پدې حالت کې انکسیو باید بیرته راشي.)

EROFS

pathname نوم د دوتنې یوازې د فایل سیستم سیسټم ته اشاره کوي او د لاسرسي لیک غوښتنه شوې وه.

ETXTBSY

pathname نوم د اجرا وړ وړ انځور ته اشاره کوي کوم چې اوس مهال اعدام شوي او د لاس رسی لیکلو غوښتنه شوې وه.

EFAULT

د رڼا نوم ستاسو د لاسرسۍ پته ځای څخه بهر نکوي .

ELOOP

ډیری سمبولیک لینک د حل کولو لارښود نوم سره مخ شوي و، یا O_NOFOLLOW مشخص شوی و خو پټو نوم یو سمبولیک اړیکه وه.

ENOSPC

لارښود نوم پېل کیده خو هغه وسیله چې د لارې نوم نوم یې د نوې دوتنې لپاره خونه نلري.

ENOMEM

د ناکافي کیڼل حافظه شتون لري.

EMFILE

دا پروسه لا دمخه د دوتنو ډیری برخه پرانېستې ده.

بشپړ

په سیسټم کې د فایلونو ټوله برخه پرانیستل شوي حد ته رسیدلی.

سره سم

SVR4، SVID، POSIX، X / OPEN، BSD 4.3 د O_NOFOLLOW او O_DIRECTORY جغرافیه لینکس - مشخص. یو کیدای شي د _GNU_SOURCE میکرو تعریف تعدیل کړي ترڅو خپل تعریفونه ترلاسه کړي.

محدودیتونه

د NFS بنسټ لاندې پروتوکول کې ډیری ناروغۍ شتون لري، د O_SYNC او O_NDELAY په منځ کې تاثیر لري.

POSIX د I / O د درې بیلابیل ډولونو لپاره چمتو کوي، د جغرافیه O_SYNC ، O_DSYNC او O_RSYNC سره مطابقت لري . اوس مهال (2.1.130) دا ټول لینوکس لاندی مطابقت لري.