سمة الملف
سمات الملف هي نوع من البيانات الوصفية التي تصف وقد تعدل كيفية تصرف الملفات و/أو الدلائل في نظام الملفات . قد تشير سمات الملف النموذجية، على سبيل المثال، إلى ما إذا كان الملف مرئيًا أو قابلاً للتعديل أو مضغوطًا أو مشفرًا أو تحدده. يعتمد توفر معظم سمات الملف على الدعم من قبل نظام الملفات الأساسي (مثل FAT و NTFS و ext4 ) حيث يجب تخزين بيانات السمة مع هياكل التحكم الأخرى. يمكن أن يكون لكل سمة إحدى حالتين: تعيين ومسح. تعتبر السمات مميزة عن البيانات الوصفية الأخرى، مثل التواريخ والأوقات أو ملحقات اسم الملف أو أذونات نظام الملفات . بالإضافة إلى الملفات، قد تحتوي المجلدات والمجلدات وكائنات نظام الملفات الأخرى على سمات.
دوس وويندوز
تقليديًا، في أنظمة DOS و Microsoft Windows ، تقبل الملفات والمجلدات أربع سمات: [1] [2] [3]
- الأرشيف (أ): عند ضبطه، يشير إلى أن ملف الاستضافة قد تغير منذ آخر عملية نسخ احتياطي . يقوم نظام ملفات Windows بتعيين هذه الخاصية على أي ملف تغير. ثم يكون لبرنامج النسخ الاحتياطي مهمة مسحها عند إجراء نسخ احتياطي كامل أو تدريجي ناجح (وليس نسخ احتياطي تفاضلي).
- مخفي (H): عند ضبطه، يشير إلى أن ملف الاستضافة مخفي. لا تعرض أوامر MS-DOS مثل
dirتطبيقات Windows مثل File Explorer الملفات المخفية افتراضيًا، ما لم يُطلب منك ذلك. [4] - النظام (S): عند ضبطه، يشير إلى أن ملف الاستضافة هو ملف نظام بالغ الأهمية ضروري لتشغيل الكمبيوتر بشكل صحيح. يستخدمه MS-DOS وMicrosoft Windows لتمييز ملفات النظام المهمة.
dirلا تعرض أوامر MS-DOS مثل تطبيقات Windows مثل File Explorer ملفات النظام بشكل افتراضي حتى عند عرض الملفات المخفية، ما لم يُطلب منك القيام بذلك. - للقراءة فقط (R): عند ضبطه، يشير إلى أنه لا ينبغي تعديل الملف. عند فتح الملف، لا تمنح واجهة برمجة تطبيقات نظام الملفات عادةً إذن الكتابة للتطبيق الطالب، إلا إذا طلب التطبيق ذلك صراحةً. عادةً ما يتم تجاهل سمات القراءة فقط في المجلدات، حيث يتم استخدامها لغرض آخر. [5] [6]
مع ظهور إصدارات جديدة من Windows، أضافت Microsoft إلى مخزون السمات المتاحة على نظام الملفات NTFS ، [7] بما في ذلك على سبيل المثال لا الحصر: [8]
- مضغوط (C): عند ضبطه، يقوم Windows بضغط ملف الاستضافة عند التخزين. لمزيد من المعلومات، راجع NTFS § ضغط الملفات .
- مشفر (E): عند تعيينه، يقوم Windows بتشفير ملف الاستضافة عند التخزين لمنع الوصول غير المصرح به. لمزيد من المعلومات، راجع NTFS § التشفير .
- غير مفهرس بالمحتوى (I): عند تعيينه، لا تقوم خدمة الفهرسة أو بحث Windows بتضمين ملف الاستضافة في عملية الفهرسة الخاصة بها.
تتضمن السمات الأخرى التي يتم عرضها في عمود "السمات" في مستكشف Windows [7] ما يلي:
- الدليل (D): المدخل هو دليل فرعي يحتوي على مدخلات الملفات والدليل الخاصة به.
- نقطة إعادة التحليل (L): يحتوي الملف أو الدليل على نقطة إعادة تحليل مرتبطة به، أو هو رابط رمزي .
- غير متصل بالإنترنت (O): يتم نقل بيانات الملف فعليًا إلى وحدة تخزين غير متصلة بالإنترنت (وحدة التخزين عن بُعد).
- متفرق (P): الملف هو ملف متفرق ، أي أن محتوياته فارغة جزئيًا وغير متجاورة.
- مؤقت (T): يتم استخدام الملف للتخزين المؤقت.
في أنظمة DOS و OS/2 وWindows، يمكن استخدام attribالأمر الموجود في cmd.exe و command.com لتغيير وعرض سمات الملفات التقليدية الأربع. [3] [9] يمكن لمستكشف الملفات في Windows عرض السمات السبع المذكورة ولكن لا يمكنه تعيين سمة النظام أو مسحها. [5] يتميز Windows PowerShell ، الذي أصبح أحد مكونات Windows 7 والإصدارات الأحدث، بأمرين يمكنهما قراءة وكتابة السمات: Get-ItemPropertyو Set-ItemProperty. [10] لتغيير سمة في ملف على Windows NT ، يجب أن يكون لدى المستخدم أذونات نظام ملفات مناسبة تُعرف باسم سمات الكتابة وسمات الكتابة الممتدة . [11]
يونكس وPOSIX
في أنظمة يونكس وأنظمة يونكس المشابهة، بما في ذلك الأنظمة المتوافقة مع POSIX ، يحتوي كل ملف على "وضع" يحتوي على 9 علامات بت للتحكم في إذن القراءة والكتابة والتنفيذ لكل مالك الملف والمجموعة وجميع المستخدمين الآخرين (انظر أذونات نظام الملفات §أذونات يونكس التقليدية لمزيد من التفاصيل) بالإضافة إلى علامات البت setuid و setgid وعلامة البت "الثابتة" . يحدد الوضع أيضًا نوع الملف (ملف عادي أو دليل أو نوع خاص آخر).
4.4BSD ومشتقاته
في 4.4BSD و 4.4BSD-Lite ، تقبل الملفات والدلائل (المجلدات) أربع سمات يمكن تعيينها بواسطة مالك الملف أو المستخدم الفائق (سمات "المستخدم") وسمتين لا يمكن تعيينهما إلا بواسطة المستخدم الفائق (سمات "النظام"): [12]
- (المستخدم) عدم التفريغ : عند تعيينه، يشير ذلك إلى أنه لا ينبغي حفظ الملف أو الدليل أثناء عملية النسخ الاحتياطي .
- (المستخدم والنظام) غير قابل للتغيير : عند تعيينه، يشير إلى أنه لا ينبغي تغيير الملف أو الدليل. ستفشل محاولات فتح الملف للكتابة، أو إنشاء ملف داخل الدليل، أو إزالة ملف من الدليل، أو إعادة تسمية ملف داخل الدليل، أو إعادة تسمية الملف أو الدليل، أو إزالة الملف أو الدليل مع ظهور خطأ في الأذونات.
- (المستخدم والنظام) الإضافة فقط : عند تعيينه، يشير إلى أنه يجب إلحاق الملف فقط.
- (المستخدم) غير شفاف : عند تعيينه على دليل، يشير إلى أن الدليل غير شفاف عند عرضه من خلال مكدس اتحاد .
أضاف FreeBSD بعض السمات الإضافية، [13] والتي يدعمها أيضًا DragonFly BSD : [14]
- (المستخدم والنظام) عدم إلغاء الارتباط : عند تعيينه، يشير إلى أنه لا ينبغي إعادة تسمية الملف أو الدليل أو إزالته. ستفشل محاولات إعادة تسمية الملف أو الدليل أو إزالته مع ظهور خطأ في الأذونات.
يدعم FreeBSD أيضًا: [13]
- (النظام) عدم الأرشفة : عند تعيينه، يشير إلى أنه لا ينبغي أرشفة الملف أو الدليل.
- (النظام) لقطة : عند تعيينها، تشير إلى أن الملف أو الدليل عبارة عن ملف لقطة. يتم صيانة هذه الخاصية بواسطة النظام، ولا يمكن تعيينها، حتى بواسطة المستخدم الفائق.
في حين أن DragonFly BSD يدعم: [14]
- (المستخدم والنظام) بدون تاريخ : عند تعيينه، يشير إلى أنه لا ينبغي الاحتفاظ بالتاريخ للملف أو الدليل.
- (المستخدم) Swapcache : عند تعيينه، يشير إلى أنه يجب تخزين بيانات نظام الملفات النظيفة للملف، أو للدليل وكل شيء أسفل الدليل، مؤقتًا في مساحة Swap على محرك الحالة الصلبة .
- (النظام) Swapcache : عند تعيينه، يشير إلى أنه لا ينبغي تخزين بيانات نظام الملفات النظيفة للملف، أو للدليل وكل شيء أسفل الدليل، في مساحة المبادلة على محرك الحالة الصلبة.
- (النظام) المؤرشف : عند تعيينه، يشير إلى أنه يمكن أرشفة الملف أو الدليل.
أضافت NetBSD سمة أخرى، [15] يدعمها أيضًا OpenBSD : [16]
- (النظام) المؤرشف : عند تعيينه، يشير إلى أن الملف أو الدليل مؤرشف.
أضافت macOS ثلاث سمات:
- (المستخدم) مخفي : عند تعيينه، يشير إلى أنه لا ينبغي عرض الملف أو الدليل افتراضيًا في واجهة المستخدم الرسومية؛ ومع ذلك، سيعرضه الأمر ls . [17]
- (النظام) مقيد : عند تعيينه، يشير إلى أن الملف أو الدليل سيكون محميًا بواسطة حماية سلامة النظام
- (المستخدم والنظام) مضغوط : سمة للقراءة فقط للملفات المضغوطة باستخدام ضغط HFS+
في هذه الأنظمة، يمكن استخدام الأوامر chflagsو lsلتغيير وعرض سمات الملف. لتغيير سمة "المستخدم" في ملف في أنظمة التشغيل المشتقة من 4.4BSD، يجب أن يكون المستخدم هو مالك الملف أو المستخدم الفائق؛ لتغيير سمة "النظام"، يجب أن يكون المستخدم هو المستخدم الفائق.
لينكس
يمكن لنظام التشغيل Linux دعم مجموعة واسعة من سمات الملفات التي يمكن إدراجها بواسطة lsattrالأمر وتعديلها، حيثما أمكن، بواسطة chattrالأمر. يمكن للبرامج فحص السمات وتعديلها باستخدام عمليات ioctl . [18]
تدعم العديد من أنظمة ملفات Linux مجموعة محدودة فقط من السمات، ولا يدعم أي منها كل السمات التي chattrيمكن تغييرها. تتضمن أنظمة الملفات التي تدعم بعض السمات على الأقل ext4 و XFS و btrfs .
| يصف | علم lsattr | خيار الدردشة | الدلالات والمنطق |
|---|---|---|---|
لا يوجد atimeتحديثات
|
A
|
+A,-A
|
لا يتم تعديل سجل atime عند قراءة الملف أو الوصول إليه. |
| إضافة فقط | a
|
+a,-a
|
يُسمح بالكتابة إلى الملف فقط في وضع الإضافة. |
| غير قابل للتغيير | i
|
+i,-i
|
يمنع أي تغيير في محتويات الملف أو البيانات الوصفية: لا يمكن الكتابة إلى الملف/الدليل، أو حذفه، أو إعادة تسميته، أو ربطه بشكل ثابت. |
| لا يوجد تفريغ | d
|
+d,-d
|
تم تخطي الملف بواسطة برنامج التفريغ |
| الحذف الآمن | s
|
+s,-s
|
يطلب أنه عند حذفه، يتم ملء جميع كتل بيانات الملف بالأصفار . |
| التحديثات المتزامنة | S
|
+S,-S
|
يتم كتابة التغييرات بشكل متزامن على وسيط تخزين نظام الملفات الأساسي؛ وهو ما يعادل خيار التحميل "المزامنة" للملفات المتأثرة. |
OpenSolaris ومشتقاته
تمت إضافة دعم "سمات النظام" (حيث يحدد نظام التشغيل المعنى، على عكس سمات الملفات الممتدة العامة ) إلى OpenSolaris في عام 2007 لدعم خادم CIFS. [19] وتم نقله من هناك إلى كل من إصدارات Oracle Solaris 11 ومشروع illumos مفتوح المصدر .
في هذا التنفيذ، يمكن تعيين مجموعة واسعة من السمات عبر chmodالأمر [20] [21] وإدراجها بواسطة lsالأمر. [22] [23]
يمكن للبرامج فحص السمات وتعديلها باستخدام الوظيفتين getattratو setattrat. [24] [25]
يدعم نظام الملفات ZFS حاليًا جميع السمات المحددة، وبدءًا من Oracle Solaris 11.2، يدعم نظام الملفات tmpfs مجموعة فرعية من السمات. [26]
| يصف | علم مضغوط لـ ls و chmod | الدلالات والمنطق |
|---|---|---|
appendonly
|
a
|
يُسمح بالكتابة إلى الملف فقط في وضع الإضافة. |
immutable
|
i
|
يمنع أي تغيير في محتويات الملف أو البيانات الوصفية (باستثناء وقت الوصول): لا يمكن الكتابة إلى الملف/الدليل، أو حذفه، أو إعادة تسميته. |
nodump
|
d
|
يجب تخطي الملف بواسطة برامج النسخ الاحتياطي |
nounlink
|
u
|
يمنع إزالة الملف، ولكن يسمح بإجراء تغييرات أخرى. |
انظر أيضا
مراجع
- ^ "تعريف: سمة الملف". مجلة الكمبيوتر . زيف ديفيس . تم الاسترجاع في 14 أكتوبر 2020 .
- ^ "سمات الملف". Computer Hope . تم الاسترجاع في 2 ديسمبر 2012 .
- ^ ab "في Windows، ما هي سمات الملفات، وكيف يمكنني تغييرها؟". قاعدة المعرفة . جامعة إنديانا . 11 أكتوبر 2011. تم الاسترجاع في 2 ديسمبر 2012 .
- ^ "ما هو الملف المخفي؟". تعليمات Windows 7 . Microsoft . تم الاسترجاع في 2 ديسمبر 2012 .
- ^ "لماذا تعتبر خاصية القراءة فقط في المجلدات غريبة جدًا؟".
- ^ ab "ثوابت سمات الملف". MSDN . Microsoft . تم الاسترجاع في 17 يوليو 2018 .
- ^ "كيفية: استخدام برنامج إدارة سمات الملف (Fileattributes.pl) في نظام التشغيل Windows 2000". دعم Microsoft . Microsoft . تم الاسترجاع في 2 ديسمبر 2012 .
- ^ "تعريف: DOS Attrib". مجلة الكمبيوتر الشخصي . زيف ديفيس . مؤرشف من الأصل في 2 مارس 2012. تم الاسترجاع في 2 ديسمبر 2012 .
- ^ "استخدام أمر PowerShell للعمل مع سمات الملف". مدونة Hey, Scripting Guy . Microsoft. 26 يناير 2011. تم الاسترجاع في 3 ديسمبر 2012 .
- ^ "كيفية تعيين أو عرض أو تغيير أو إزالة الأذونات الخاصة للملفات والمجلدات في نظام التشغيل Windows XP". دعم Microsoft . Microsoft. 7 مايو 2007. تم الاسترجاع في 2 ديسمبر 2012 .
- ^ – دليل استدعاءات نظام BSD
- ^ ab – دليل استدعاءات نظام FreeBSD
- ^ ab – دليل استدعاءات النظام وأرقام الأخطاء في DragonFly BSD
- ^ – دليل استدعاءات نظام NetBSD
- ^ – دليل استدعاءات نظام OpenBSD
- ^ – دليل استدعاءات نظام Darwin و macOS
- ^ – دليل مبرمج لينكس – نداءات النظام
- ^ Shellenbaum, Mark. "Extensible Attribute Interfaces [PSARC/2007/315]". أرشيف مواد OpenSolaris ARC . illumos.org . تم الاسترجاع في 10 مارس 2023 .
- ^ "chmod(1)". مكتبة مرجعية Oracle Solaris 11.4: قسم صفحات الدليل 1: أوامر المستخدم . Oracle . تم الاسترجاع في 10 مارس 2023 .
- ^ "chmod(1)". صفحات دليل illumos . illumos.org . تم الاسترجاع في 10 مارس 2023 .
- ^ "ls(1)". مكتبة مرجعية Oracle Solaris 11.4: قسم صفحات الدليل 1: أوامر المستخدم . Oracle . تم الاسترجاع في 10 مارس 2023 .
- ^ "ls(1)". صفحات دليل illumos . illumos.org . تم الاسترجاع في 10 مارس 2023 .
- ^ "getattrat(3c)/setattrat(3c)". مكتبة مرجعية Oracle Solaris 11.4: قسم صفحات الدليل 3: وظائف المكتبة الأساسية . Oracle . تم الاسترجاع في 10 مارس 2023 .
- ^ "getattrat(3c)/setattrat(3c)". صفحات دليل illumos . illumos.org . تم الاسترجاع في 10 مارس 2023 .
- ^ "sysattr(7)". مكتبة مرجعية Oracle Solaris 11.4: قسم صفحات الدليل 7. Oracle . تم الاسترجاع في 10 مارس 2023 .
روابط خارجية
- تعريف: DOS Attrib محفوظ في 2012-03-02 على موقع Wayback Machine على مجلة PC Magazine
- الملفات المخفية في أنظمة التشغيل الشبيهة بنظام يونكس في موقع Wayback Machine (تم أرشفتها في 17 أكتوبر 2007)
- ثوابت سمات الملفات في لغة C ( -runtime-library )، بواسطة Microsoft Learn، 26/10/2022
- ثوابت سمات الملفات في ( Win32 -) C++ ، بواسطة Microsoft Learn، 06/09/2023
