.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2017, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH inode 7 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم inode \- معلومات inode للملف .SH الوصف لكل ملف inode يحتوي على بيانات وصفية حول الملف. يمكن للتطبيق استرداد هذه البيانات الوصفية باستخدام \fBstat\fP(2) (أو الاستدعاءات ذات الصلة)، والتي تعيد بنية \fIstat\fP، أو \fBstatx\fP(2)، والتي تعيد بنية \fIstatx\fP. .P فيما يلي قائمة بالمعلومات التي توجد عادةً في inode للملف، أو ترتبط به، مع أسماء حقول البنية المقابلة التي تعيدها \fBstat\fP(2) و \fBstatx\fP(2): .TP الجهاز الذي يقطنه الـ inode \fIstat.st_dev\fP؛ \fIstatx.stx_dev_minor\fP و \fIstatx.stx_dev_major\fP .IP كل inode (بالإضافة إلى الملف المرتبط به) يقطن في نظام ملفات مُستضاف على جهاز. يُعرَّف هذا الجهاز من خلال الجمع بين معرّفه الرئيسي (الذي يحدد الفئة العامة للجهاز) والمعرّف الفرعي (الذي يحدد نسخة محددة في الفئة العامة). .TP رقم الـ inode \fIstat.st_ino\fP؛ \fIstatx.stx_ino\fP .IP كل ملف في نظام ملفات له رقم inode فريد. أرقام inode مضمونة لتكون فريدة فقط داخل نظام ملفات واحد (أي أن نفس أرقام inode قد تُستخدم بواسطة أنظمة ملفات مختلفة، وهذا هو السبب في أن الوصلات الصلبة لا يمكنها تجاوز حدود نظام الملفات). يحتوي هذا الحقل على رقم inode الخاص بالملف. .TP نوع الملف ووضعه \fIstat.st_mode\fP؛ \fIstatx.stx_mode\fP .IP انظر مناقشة نوع الملف ووضعه أدناه. .TP عدد الوصلات \fIstat.st_nlink\fP؛ \fIstatx.stx_nlink\fP .IP يحتوي هذا الحقل على عدد الوصلات الصلبة للملف. تُنشأ وصلات إضافية لملف موجود باستخدام \fBlink\fP(2). .TP معرف المستخدم \fIstat.st_uid\fP؛ \fIstatx.stx_uid\fP .IP يسجل هذا الحقل معرّف المستخدم لمالك الملف. بالنسبة للملفات المنشأة حديثًا، يكون معرّف مستخدم الملف هو معرّف المستخدم الفعلي للعملية المنشئة. يمكن تغيير معرّف مستخدم ملف ما باستخدام \fBchown\fP(2). .TP معرف المجموعة \fIstat.st_gid\fP؛ \fIstatx.stx_gid\fP .IP يسجل الـ inode معرّف المجموعة المالكة للملف. بالنسبة للملفات المنشأة حديثًا، يكون معرّف مجموعة الملف إما معرّف مجموعة المجلد الأب أو معرّف المجموعة الفعلي للعملية المنشئة، اعتمادًا على ما إذا كانت بتّة set\-group\-ID مضبوطة على المجلد الأب أم لا (انظر أدناه). يمكن تغيير معرّف مجموعة ملف ما باستخدام \fBchown\fP(2). .TP الجهاز المُمثَّل بهذا الـ inode \fIstat.st_rdev\fP؛ \fIstatx.stx_rdev_minor\fP و \fIstatx.stx_rdev_major\fP .IP إذا كان هذا الملف (inode) يمثل جهازًا، فإن الـ inode يسجل المعرّف الرئيسي والفرعي لذلك الجهاز. .TP حجم الملف \fIstat.st_size\fP؛ \fIstatx.stx_size\fP .IP يعطي هذا الحقل حجم الملف (إذا كان ملفًا عاديًا أو وصلة رمزية) بالبايت. حجم الوصلة الرمزية هو طول اسم المسار الذي تحتويه، بدون بايت العدم النهائي. .TP حجم الكتلة المفضل للإدخال/الإخراج \fIstat.st_blksize\fP؛ \fIstatx.stx_blksize\fP .IP يعطي هذا الحقل حجم الكتلة "المفضل" لعمليات إدخال/إخراج نظام الملفات الفعالة. (الكتابة إلى ملف في قطع أصغر قد تتسبب في عملية قراءة\-تعديل\-إعادة كتابة غير فعالة.) .TP عدد الكتل المخصصة للملف \fIstat.st_blocks\fP؛ \fIstatx.stx_blocks\fP .IP يشير هذا الحقل إلى عدد الكتل المخصصة للملف، بوحدات 512 بايت، (قد يكون هذا أصغر من \fIst_size\fP/512 عندما يحتوي الملف على فجوات). .IP .\" Rationale for sys/stat.h in POSIX.1-2008 تشير معايير POSIX.1 إلى أن وحدة عضو \fIst_blocks\fP في بنية \fIstat\fP غير محددة بواسطة المعيار. في العديد من التطبيقات تكون 512 بايت؛ وفي أنظمة قليلة، تُستخدم وحدة مختلفة، مثل 1024. علاوة على ذلك، قد تختلف الوحدة على أساس كل نظام ملفات. .TP طابع وقت آخر وصول (atime) \fIstat.st_atime\fP؛ \fIstatx.stx_atime\fP .IP هذا هو طابع وقت آخر وصول للملف. يتغير عند الوصول إلى الملف، على سبيل المثال، بواسطة \fBexecve\fP(2)، و \fBmknod\fP(2)، و \fBpipe\fP(2)، و \fButime\fP(2)، و \fBread\fP(2) (لأكثر من صفر بايت). قد تقوم واجهات أخرى، مثل \fBmmap\fP(2)، بتحديث طابع وقت atime أو لا. .IP تسمح بعض أنواع أنظمة الملفات بالوصل بطريقة لا تؤدي فيها عمليات الوصول إلى الملفات و/أو المجلدات إلى تحديث طابع وقت atime. (انظر \fInoatime\fP، و \fInodiratime\fP، و \fIrelatime\fP في \fBmount\fP(8)، والمعلومات ذات الصلة في \fBmount\fP(2).) بالإضافة إلى ذلك، لا يُحدَّث طابع وقت atime إذا فُتح الملف باستخدام علامة \fBO_NOATIME\fP؛ انظر \fBopen\fP(2). .TP طابع وقت إنشاء (ميلاد) الملف (btime) (لا يعاد في بنية \fIstat\fP)؛ \fIstatx.stx_btime\fP .IP طابع وقت إنشاء الملف. يُضبط عند إنشاء الملف ولا يتغير بعد ذلك. .IP .\" FIXME Is it supported on ext4 and XFS? تاريخيًا، لم يكن طابع وقت btime موجودًا في أنظمة UNIX وهو غير مدعوم حاليًا من قبل معظم أنظمة ملفات لينكس. .TP طابع وقت آخر تعديل (mtime) \fIstat.st_mtime\fP؛ \fIstatx.stx_mtime\fP .IP هذا هو طابع وقت آخر تعديل للملف. يتغير عند تعديل الملف، على سبيل المثال، بواسطة \fBmknod\fP(2)، و \fBtruncate\fP(2)، و \fButime\fP(2)، و \fBwrite\fP(2) (لأكثر من صفر بايت). علاوة على ذلك، يتغير طابع وقت mtime للمجلد عند إنشاء أو حذف ملفات في ذلك المجلد. \fIلا\fP يتغير طابع وقت mtime عند حدوث تغييرات في المالك أو المجموعة أو عدد الوصلات الصلبة أو الوضع. .TP طابع وقت آخر تغيير للحالة (ctime) \fIstat.st_ctime\fP؛ \fIstatx.stx_ctime\fP .IP هذا هو طابع وقت آخر تغيير لحالة الملف. يتغير عند الكتابة أو عند ضبط معلومات inode (أي المالك، المجموعة، عدد الوصلات، الوضع، إلخ). .P تُبلغ حقول طابع الوقت عن الوقت المقاس بنقطة صفر عند \fIEpoch\fP، 1970\-01\-01 00:00:00 +0000، بتوقيت UTC (انظر \fBtime\fP(7)). .P .\" commit ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80 .\" طوابع الوقت بالنانو ثانية مدعومة في XFS و JFS و Btrfs و ext4 (منذ لينكس 2.6.23). طوابع الوقت بالنانو ثانية غير مدعومة في ext2 و ext3 و Reiserfs. من أجل إعادة طوابع الوقت بدقة النانو ثانية، عُرّفت حقول طابع الوقت في بنيتي \fIstat\fP و \fIstatx\fP كبنى تتضمن مكون نانو ثانية. انظر \fBstat\fP(2) و \fBstatx\fP(2) للتفاصيل. في أنظمة الملفات التي لا تدعم طوابع الوقت لأجزاء من الثانية، تُعاد حقول النانو ثانية في بنيتي \fIstat\fP و \fIstatx\fP بالقيمة 0. .SS "نوع الملف ووضعه" يحتوي حقل \fIstat.st_mode\fP (وبالنسبة لـ \fBstatx\fP(2)، حقل \fIstatx.stx_mode\fP) على نوع الملف ووضعه. .P تشير POSIX إلى بتّات \fIstat.st_mode\fP المقابلة للقناع \fBS_IFMT\fP (انظر أدناه) على أنها \fIنوع الملف\fP، والبتّات الـ 12 المقابلة للقناع 07777 على أنها \fIبتّات وضع الملف\fP والبتّات الـ 9 الأقل أهمية (0777) على أنها \fIبتّات أذونات الملف\fP. .P قيم القناع التالية معرّفة لنوع الملف: .in +4n .TS lB l l. S_IFMT 0170000 قناع البت لحقل بت نوع الملف \& S_IFSOCK 0140000 socket S_IFLNK 0120000 وصلة رمزية S_IFREG 0100000 ملف عادي S_IFBLK 0060000 جهاز كتلي S_IFDIR 0040000 مجلد S_IFCHR 0020000 جهاز محرفي S_IFIFO 0010000 FIFO .TE .in .P وبالتالي، لاختبار ما إذا كان الملف ملفًا عاديًا (على سبيل المثال)، يمكن للمرء أن يكتب: .P .in +4n .EX stat(pathname, &sb); if ((sb.st_mode & S_IFMT) == S_IFREG) { /* تعامل مع ملف عادي */ } .EE .in .P نظرًا لأن الاختبارات بالشكل المذكور أعلاه شائعة، فقد عُرّفت وحدات ماكرو إضافية بواسطة POSIX للسماح بكتابة اختبار نوع الملف في \fIst_mode\fP بشكل أكثر إيجازًا: .RS 4 .TP 1.2i \fBS_ISREG\fP(m) هل هو ملف عادي؟ .TP \fBS_ISDIR\fP(m) مجلد؟ .TP \fBS_ISCHR\fP(m) جهاز محرفي؟ .TP \fBS_ISBLK\fP(m) جهاز كتلي؟ .TP \fBS_ISFIFO\fP(m) FIFO (أنبوب مسمى)؟ .TP \fBS_ISLNK\fP(m) وصلة رمزية؟ (ليست في POSIX.1\-1996.) .TP \fBS_ISSOCK\fP(m) مقبس؟ (ليس في POSIX.1\-1996.) .RE .P وبالتالي يمكن إعادة كتابة قصاصة الكود السابقة لتكون: .P .in +4n .EX stat(pathname, &sb); if (S_ISREG(sb.st_mode)) { /* التعامل مع ملف عادي */ } .EE .in .P تُوفّر تعريفات معظم وحدات ماكرو اختبار أنواع الملفات المذكورة أعلاه إذا عُرّف أي من وحدات ماكرو اختبار الميزات التالية: \fB_BSD_SOURCE\fP (في glibc 2.19 والإصدارات الأقدم)، أو \fB_SVID_SOURCE\fP (في glibc 2.19 والإصدارات الأقدم)، أو \fB_DEFAULT_SOURCE\fP (في glibc 2.20 والإصدارات الأحدث). بالإضافة إلى ذلك، تُوفّر تعريفات كافة وحدات الماكرو أعلاه باستثناء \fBS_IFSOCK\fP و \fBS_ISSOCK\fP() إذا عُرّفت \fB_XOPEN_SOURCE\fP. .P يمكن أيضًا كشف تعريف \fBS_IFSOCK\fP إما بتعريف \fB_XOPEN_SOURCE\fP بقيمة 500 أو أكثر أو (منذ glibc 2.24) بتعريف كل من \fB_XOPEN_SOURCE\fP و \fB_XOPEN_SOURCE_EXTENDED\fP. .P يُكشف تعريف \fBS_ISSOCK\fP() إذا عُرّف أي من وحدات ماكرو اختبار الميزات التالية: \fB_BSD_SOURCE\fP (في glibc 2.19 والإصدارات الأقدم)، أو \fB_DEFAULT_SOURCE\fP (في glibc 2.20 والإصدارات الأحدث)، أو \fB_XOPEN_SOURCE\fP بقيمة 500 أو أكثر، أو \fB_POSIX_C_SOURCE\fP بقيمة 200112L أو أكثر، أو (منذ glibc 2.24) بتعريف كل من \fB_XOPEN_SOURCE\fP و \fB_XOPEN_SOURCE_EXTENDED\fP. .P قِيَم القناع التالية مُعرّفة لمكوّن وضع الملف في حقل \fIst_mode\fP: .in +4n .TS lB l lx. S_ISUID 04000 T{ بت تعيين معرف المستخدم (انظر \fBexecve\fP(2)) T} S_ISGID 02000 T{ بت تعيين معرف المجموعة (انظر أدناه) T} S_ISVTX 01000 T{ البت اللاصق (انظر أدناه) T} \& S_IRWXU 00700 T{ للمالك صلاحية القراءة، والكتابة، والتنفيذ T} S_IRUSR 00400 T{ للمالك صلاحية القراءة T} S_IWUSR 00200 T{ للمالك صلاحية الكتابة T} S_IXUSR 00100 T{ للمالك صلاحية التنفيذ T} \& S_IRWXG 00070 T{ للمجموعة صلاحية القراءة، والكتابة، والتنفيذ T} S_IRGRP 00040 T{ للمجموعة صلاحية القراءة T} S_IWGRP 00020 T{ للمجموعة صلاحية الكتابة T} S_IXGRP 00010 T{ للمجموعة صلاحية التنفيذ T} \& S_IRWXO 00007 T{ للآخرين (ليسوا في المجموعة) صلاحية القراءة، والكتابة، والتنفيذ T} S_IROTH 00004 T{ للآخرين صلاحية القراءة T} S_IWOTH 00002 T{ للآخرين صلاحية الكتابة T} S_IXOTH 00001 T{ للآخرين صلاحية التنفيذ T} .TE .in .P لبت تعيين معرف المجموعة (\fBS_ISGID\fP) استخدامات خاصة عديدة. بالنسبة إلى دليل، فإنه يشير إلى استخدام دلالات BSD لذلك الدليل: تَرث الملفات المنشأة هناك معرف المجموعة الخاص بها من الدليل، وليس من معرف المجموعة الفعال للعملية المنشئة، وستحصل الأدلة المنشأة هناك أيضًا على بت \fBS_ISGID\fP. بالنسبة لملف قابل للتنفيذ، يتسبب بت تعيين معرف المجموعة في تغيير معرف المجموعة الفعال للعملية التي تنفذ الملف كما هو موضح في \fBexecve\fP(2). بالنسبة للملف الذي لا يحتوي على بت تنفيذ المجموعة (\fBS_IXGRP\fP)، فإن بت تعيين معرف المجموعة يشير إلى قفل إلزامي للملف/السجل. .P البت اللاصق (\fBS_ISVTX\fP) على دليل يعني أن الملف الموجود في ذلك الدليل لا يمكن إعادة تسميته أو حذفه إلا بواسطة صاحب الملف، أو بواسطة صاحب الدليل، أو بواسطة عملية ذات امتيازات. .SH المعايير POSIX.1\-2008. .SH التاريخ POSIX.1\-2001. .P لم يصف POSIX.1\-1990 الثوابت \fBS_IFMT\fP و \fBS_IFSOCK\fP و \fBS_IFLNK\fP و \fBS_IFREG\fP و \fBS_IFBLK\fP و \fBS_IFDIR\fP و \fBS_IFCHR\fP و \fBS_IFIFO\fP و \fBS_ISVTX\fP، ولكنه حدد بدلاً من ذلك استخدام وحدات الماكرو \fBS_ISDIR\fP() وهكذا دواليك. .P لم تكن وحدات الماكرو \fBS_ISLNK\fP() و \fBS_ISSOCK\fP() في POSIX.1\-1996؛ الأولى من SVID 4، والثانية من SUSv2. .P احتوى UNIX\ V7 (والأنظمة اللاحقة) على \fBS_IREAD\fP و \fBS_IWRITE\fP و \fBS_IEXEC\fP، وحيث تفرض POSIX المرادفات \fBS_IRUSR\fP و \fBS_IWUSR\fP و \fBS_IXUSR\fP. .SH ملاحظات بالنسبة للملفات الوهمية التي تُولّد آليًا بواسطة النواة، فإن حجم الملف (\fIstat.st_size\fP؛ \fIstatx.stx_size\fP) الذي تبلغ عنه النواة ليس دقيقًا. على سبيل المثال، تُعاد القيمة 0 للعديد من الملفات الموجودة تحت دليل \fI/proc\fP، بينما تبلغ ملفات مختلفة تحت \fI/sys\fP عن حجم قدره 4096 بايت، رغم أن محتوى الملف أصغر. لمثل هذه الملفات، ينبغي للمرء ببساطة محاولة قراءة أكبر عدد ممكن من البايتات (وإلحاق \[aq]\[rs]0\[aq] بالمنظم المُعاد إذا كان سيُفسّر كسلسلة نصية). .SH "انظر أيضًا" \fBstat\fP(1), \fBstat\fP(2), \fBstatx\fP(2), \fBsymlink\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .