| ATTR(1) | XFS Compatibility API | ATTR(1) |
نام (NAME)
attr - دستکاری و مدیریت ویژگیها و خصوصیات توسعهیافته در اشیاء سیستمفایل
نحوه استفاده (SYNOPSIS)
attr [ -LRSq ] -s attrname [ -V attrvalue ] pathname attr [ -LRSq ] -g attrname pathname attr [ -LRSq ] -r attrname pathname attr [ -LRSq ] -l pathname
بررسی اجمالی (OVERVIEW)
ویژگیهای توسعهیافته امکان الصاق جفتهای نام:مقدار (name:value) را به اشیاء درون سیستمفایل XFS برای کاربر فراهم میکنند.
این سند دستور attr را شرح میدهد که تا حد زیادی با دستور همنام خود در IRIX سازگار است. از این رو این ابزار بهطور ویژه برای کاربران سیستمفایل XFS طراحی شده است؛ برای مدیریت ویژگیهای توسعهیافته به صورت مستقل از سیستمفایل، به مستندات دستورات getfattr(1) و setfattr(1) مراجعه فرمایید.
از ویژگیهای توسعهیافته میتوان برای ذخیره فراداده (متادیتا) درباره پرونده استفاده کرد. برای نمونه عبارت "character-set=kanji" میتواند به مرورگر سند اعلام کند که هنگام نمایش آن از مجموعه نویسههای کانجی استفاده کند، یا "thumbnail=..." میتواند پیشنمایشی با وضوح پایینتر از یک تصویر گرافیکی بزرگ را ارائه دهد.
در سیستمفایل XFS، طول نامها میتواند حداکثر ۲۵۶ بایت باشد که با اولین بایت 0 خاتمه مییابد. هدف این است که نام ویژگیها نویسههای اسکی (یا دیگر مجموعههای کاراکتری) قابل چاپ باشند. مقادیر میتوانند حداکثر ۶۴ کیلوبایت از دادههای دلخواه دودویی (باینری) باشند.
ویژگیها را میتوان به انواع گرههای شاخص (inode) سیستمفایل XFS الصاق کرد: پروندههای عادی، دایرکتوریها، پیوندهای نمادین، گرههای دستگاه و غیره.
سیستمفایل XFS از ۲ فضای نام مجزای ویژگیها برای هر شیء سیستمفایل بهره میبرد: فضاهای آدرس root و user. فضای آدرس root تنها برای کاربر ارشد (superuser) قابل دسترسی است، آن هم تنها با مشخص کردن یک فلگ در فراخوانی تابع. سایر کاربران قادر به دیدن یا تغییر ویژگیها در فضای آدرس root نخواهند بود. فضای آدرس user توسط سازوکار معمول دسترسیهای پرونده محافظت میشود، بنابراین مالک پرونده میتواند تصمیم بگیرد چه کسی اجازه مشاهده یا دستکاری مقادیر ویژگیهای یک پرونده خاص را دارد.
توضیحات (DESCRIPTION)
ابزار attr امکان دستکاری ویژگیهای توسعهیافته الصاقشده به اشیاء سیستمفایل را از طریق اسکریپتهای پوسته (شل) فراهم میسازد.
چهار عملیات اصلی وجود دارد که attr میتواند انجام دهد:
- GET (دریافت)
- گزینه -g attrname به attr اعلام میکند که شیء مشخصشده را جستجو کرده و مقدار الصاقشده به آن نام ویژگی را در خروجی استاندارد (stdout) چاپ کند. با وجود فلگ -q، خروجی استاندارد (stdout) دقیقاً و تنها مقدار آن ویژگی خواهد بود که جهت ذخیره مستقیم در یک پرونده یا پردازش از طریق خط لوله (pipe) مناسب است.
- LIST (فهرست)
- گزینه -l به attr دستور میدهد تا نام تمام ویژگیهای الصاقشده به شیء و همچنین حجم بایتهای مقدار هر یک از آنها را فهرست کند. با استفاده از فلگ -q، خروجی استاندارد (stdout) تنها یک فهرست ساده از نام ویژگیها (هر نام در یک خط) خواهد بود که برای ورودی اسکریپتها مناسب است.
- REMOVE (حذف)
- گزینه -r attrname به attr اعلام میکند در صورت وجود ویژگی با نام دادهشده، آن را از شیء حذف کند. در صورت انجام موفقیتآمیز عملیات، هیچ خروجی نمایش داده نخواهد شد.
- SET/CREATE (تنظیم/ایجاد)
- گزینه -s attrname به attr دستور میدهد ویژگی مورد نظر شیء را برابر با مقداری قرار دهد که از ورودی استاندارد (stdin) خوانده میشود. اگر ویژگی با آن نام از قبل موجود باشد، مقدار آن جایگزین خواهد شد. اگر ویژگی با آن نام وجود نداشته باشد، با این مقدار ایجاد میگردد. با مشخص کردن فلگ -V attrvalue، مقدار ویژگی برابر با attrvalue قرار میگیرد و ورودی استاندارد (stdin) خوانده نمیشود. با وجود فلگ -q، از خروجی استاندارد (stdout) استفاده نخواهد شد. بدون فلگ -q، پیامی حاوی نام ویژگی و مقدار کامل آن چاپ میشود.
هنگامی که گزینه -L مشخص شود و شیء دادهشده یک پیوند نمادین باشد، عملیات روی ویژگیهای شیئی که پیوند نمادین به آن اشاره میکند اعمال خواهد شد. بدون این گزینه، عملیات روی ویژگیهای خودِ پیوند نمادین اجرا میشود.
اگر گزینه -R مشخص شود و فرایند جاری دسترسیهای لازم را داشته باشد، عملیات در فضای نام ویژگیهای root به جای فضای نام ویژگیهای USER انجام خواهد شد.
گزینه -S مشابه است، با این تفاوت که استفاده از فضای نام ویژگیهای security را تعیین میکند.
هنگامی که گزینه -q داده شود، attr تلاش میکند تا در حالت خاموش کار کند. پیامهای خطا در خروجی استاندارد خطا (stderr) نمایش داده میشوند، اما پیامهای وضعیت در خروجی استاندارد (stdout) چاپ نخواهند شد.
نکات (NOTES)
برنامههای استاندارد بایگانی و تبادل پرونده مانند tar(1) و cpio(1) ویژگیهای توسعهیافته را بایگانی یا بازیابی نمیکنند؛ در حالی که برنامه xfsdump(8) از آنها پشتیبانی میکند.
هشدارها (CAVEATS)
گزینه list موجود در نسخه IRIX این دستور پشتیبانی نمیشود. ابزار getfattr سازوکاری برای دریافت تمامی نامهای ویژگیها فراهم میآورد.
نویسنده (AUTHOR)
آندریاس گرونباخر (Andreas Gruenbacher)، <andreas.gruenbacher@gmail.com> و تیم توسعه SGI XFS، <linux-xfs@oss.sgi.com>.
لطفاً گزارشهای اشکال یا نظرات خود را به نشانی https://savannah.nongnu.org/bugs/?group=attr یا <acl-devel@nongnu.org> ارسال فرمایید.
همچنین ببینید (SEE ALSO)
getfattr(1), setfattr(1), attr_get(3), attr_set(3), attr_multi(3), attr_remove(3), xattr(7), xfsdump(8)
| Extended Attributes | Dec 2001 |