MTREE(5) File Formats Manual MTREE(5)

mtree — قالب پروندههای ساختار سلسلهمراتبی پوشه mtree

قالب mtree یک قالب متنی است که مجموعه‌ای از اشیای سیستم‌پرونده را توصیف می‌کند. چنین پرونده‌هایی معمولاً برای ایجاد یا اعتبارسنجی ساختارهای سلسله‌مراتبی پوشه‌ها به کار می‌روند.

یک پرونده mtree از مجموعه‌ای از خطوط تشکیل شده است که هر یک اطلاعاتی را درباره یک شیء منفرد در سیستم‌پرونده ارائه می‌دهند. فاصله‌های خالی ابتدای خطوط همواره نادیده گرفته می‌شوند.

هنگام کدگذاری پرونده‌ها یا نام مسیرها، هر نویسه بک‌اسلش یا نویسه‌ای خارج از ۹۵ نویسه اسکی (ASCII) قابل‌چاپ، باید به صورت یک بک‌اسلش و در ادامه سه رقم در مبنای هشت (اکتال) کدگذاری شود. هنگام خواندن پرونده‌های mtree، هرگونه ظاهر شدن بک‌اسلش که سه رقم هشت‌هشتی به دنبال آن آمده باشد، باید به نویسه متناظر آن تبدیل شود.

هر خط به صورت مستقل به عنوان یکی از انواع زیر تفسیر می‌شود:

Blank
خطوط خالی نادیده گرفته می‌شوند.
Comment
خطوطی که با # آغاز می‌شوند نادیده گرفته می‌شوند.
Special
خطوطی که با / آغاز می‌شوند، دستورهای ویژه‌ای هستند که بر تفسیر خطوط بعدی اثر می‌گذارند.
Relative
اگر اولین کلمه جداشده با فاصله فاقد نویسه / باشد، نام یک پرونده در پوشه جاری است. هر مدخل نسبی که یک پوشه را توصیف کند، پوشه جاری را تغییر می‌دهد.
dot-dot
به عنوان یک حالت خاص، یک مدخل نسبی با نام پرونده .. پوشه جاری را به پوشه والد تغییر می‌دهد. گزینه‌ها در مدخل‌های dot-dot همواره نادیده گرفته می‌شوند.
Full
اگر نخستین کلمه جداشده با فاصله، دارای یک نویسه / پس از نویسه نخست باشد، نام مسیر یک پرونده نسبت به پوشه آغازین است. می‌تواند چندین مدخل کامل وجود داشته باشد که یک پرونده یکسان را توصیف کنند.

برخی از ابزارهایی که پرونده‌های mtree را پردازش می‌کنند، ممکن است لازم داشته باشند که خطوط متعددی که یک پرونده یکسان را توصیف می‌کنند، به صورت متوالی و پشت سر هم قرار گیرند. اشاره به یک پرونده یکسان به صورت هم‌زمان با استفاده از هر دو روش مشخص‌سازی نسبی و کامل مجاز نیست.

در حال حاضر دو دستور ویژه تعریف شده است:

این دستور مقادیر پیش‌فرض را برای یک یا چند کلیدواژه تعریف می‌کند. به دنبال این دستور در همان خط، یک یا چند تعریف کلیدواژه که با فاصله از هم جدا شده‌اند می‌آید. این تعاریف برای تمامی پرونده‌های بعدی که مقداری را برای آن کلیدواژه مشخص نکرده باشند اعمال می‌شود.
این دستور هر مقدار پیش‌فرضی را که توسط دستور پیشین /set تعیین شده باشد لغو می‌کند. به دنبال آن در همان خط، یک یا چند کلیدواژه که با فاصله از هم جدا شده‌اند می‌آیند.

پس از نام پرونده، یک مدخل کامل یا نسبی شامل صفر یا چند تعریف کلیدواژه است که با فاصله از هم جدا شده‌اند. هر تعریف از این دست، شامل یک کلید از فهرست زیر است که بلافاصله علامت '=' و سپس یک مقدار به دنبال آن می‌آید. برنامه‌های نرم‌افزاری که پرونده‌های mtree را می‌خوانند، باید در مورد کلیدواژه‌های ناشناخته هشدار دهند.

کلیدواژه‌هایی که در حال حاضر پشتیبانی می‌شوند عبارتند از:

مجموع مقابله‌ای (checksum) پرونده با استفاده از الگوریتم پیش‌فرضی که توسط ابزار cksum(1) مشخص شده است.
شماره دستگاه برای انواع پرونده block یا char. مقدار باید یکی از فرم‌های زیر باشد:
format,major,minor[,subunit]
دستگاهی با فیلدهای major, minor و فیلد اختیاری subunit. معنای آن‌ها توسط format سیستم‌عامل مشخص می‌شود. برای قالب‌های معتبر به بخش زیر مراجعه کنید.
number
عدد مات (همان‌گونه که در سیستم‌پرونده ذخیره شده است).

مقادیر زیر برای format شناخته شده‌اند: , , , , , , , , , , , , , , , و .

برای جزئیات بیشتر به mknod(8) مراجعه کنید.

نام مسیر کامل پرونده‌ای که محتویات این پرونده را در بر دارد.
پرچم‌های پرونده به عنوان یک نام نمادین. برای اطلاعات بیشتر درباره این نام‌ها به chflags(1) مراجعه کنید. اگر قرار نیست هیچ پرچمی تنظیم شود، می‌توان از رشته “none” برای لغو مقدار پیش‌فرض جاری استفاده کرد.
گروه پرونده به صورت یک مقدار عددی.
گروه پرونده به صورت یک نام نمادین.
هر ساختار سلسله‌مراتبی از پرونده‌ها را که در زیر این پرونده قرار دارد، نادیده می‌گیرد.
شماره آی‌نود (inode).
مقصد پیوند نمادین، زمانی که type=link باشد.
چکیده پیام MD5 برای پرونده.
مترادفی برای md5.
مجوزهای دسترسی پرونده جاری به صورت یک مقدار عددی (هشت‌هشتی/اکتال) یا نمادین.
تعداد پیوندهای سختی که انتظار می‌رود پرونده داشته باشد.
اطمینان حاصل می‌کند که این پرونده یا پوشه وجود دارد، اما در غیر این صورت تمامی ویژگی‌ها را نادیده می‌گیرد.
پرونده اختیاری است؛ اگر پرونده در ساختار سلسله‌مراتبی پرونده‌ها وجود نداشته باشد، خطایی اعلام نشود.
شماره دستگاه “مقیم (resident)” پرونده، به عنوان مثال شناسه دستگاهی که پرونده را در بر دارد. قالب آن همانند قالب مشخص‌شده برای device است.
چکیده پیام RIPEMD160 برای پرونده.
مترادفی برای ripemd160digest.
مترادفی برای ripemd160digest.
چکیده پیام FIPS 160-1 (“SHA-1”) برای پرونده.
مترادفی برای sha1.
چکیده پیام FIPS 180-2 (“SHA-256”) برای پرونده.
مترادفی برای sha256.
چکیده پیام FIPS 180-2 (“SHA-384”) برای پرونده.
مترادفی برای sha384.
چکیده پیام FIPS 180-2 (“SHA-512”) برای پرونده.
مترادفی برای sha512.
اندازه پرونده بر حسب بایت.
زمان آخرین تغییر پرونده.
نوع پرونده؛ می‌تواند روی هر یک از موارد زیر تنظیم شود:
دستگاه ویژه بلوکی (block special device)
دستگاه ویژه نویسه‌ای (character special device)
پوشه (directory)
صف لوله نام‌گذاری‌شده (fifo)
پرونده عادی (regular file)
پیوند نمادین (symbolic link)
سوکت (socket)
مالک پرونده به صورت یک مقدار عددی.
مالک پرونده به صورت یک نام نمادین.

cksum(1), find(1), mtree(8)

ابزار mtree در 4.3BSD-Reno ظاهر شد. قابلیت چکیده MD5 در FreeBSD 2.1 در پاسخ به استفاده گسترده از برنامه‌هایی که می‌توانستند cksum(1) را جعل کنند، افزوده شد. چکیده‌های SHA-1 و RIPEMD160 در FreeBSD 4.0 افزوده شدند، چرا که حملات جدید ضعف‌هایی را در MD5 نشان داده بودند. چکیده SHA-256 در FreeBSD 6.0 افزوده شد. پشتیبانی از پرچم‌های پرونده در FreeBSD 4.0 افزوده شد و عمدتاً از NetBSD می‌آید. قالب مدخل “full” توسط NetBSD افزوده شد.

September 4, 2013 Linux 6.12.107+deb13-amd64