مدیریت صفت های فایل در لینوکس

مدیریت صفت های فایل در لینوکس

در سیستم عامل لینوکس میتوان روی فایل ها صفت (File Attributes) تنظیم نمود. صفت های فایل در بخش Meta Data فایل ذخیره میشوند و به طور کلی رفتار فایل را مشخص میکنند. مثلا میتوان به یک فایل صفت Immutable اضافه نمود تا آن فایل قابل حذف شدن نباشد و یا به آن صفت Compress اضافه نمود تا فشرده باشد. در ادامه با آموزش مدیریت صفت های فایل در لینوکس (با استفاده از دستور chattr و دستور lsattr) همراه نووا بلاگ باشید.

نکته: صفت های که یک فایل میتواند پشتیبانی کند مرتبط با فایل سیستم است و برخی از صفت ها مثل Immutable قابل اضافه شدن و یا حذف شدن از یک فایل هستند و برخی دیگر همانند Encryption فقط قابل مشاهده میباشند.

بررسی صفت های فایل در لینوکس

برای بررسی صفت های فایل در لینوکس کافیست از دستور lsattr استفاده کنید و بعد از این دستور نام فایل مد نظر خود را بنویسید. برای مثال:

lsattr filename.txt

برای بررسی صفت های تنظیم شده روی دایرکتوری، کافیست دستور lsattr را به تنهایی وارد کنید تا فهرست دایرکتوری ها را گرفته شده و صفت های هر یک نمایش داده شود.

دستور lsattr
دستور lsattr

همانطور که در تصویر بالا مشاهده میکنید همه دایرکتوری ها صفت e دارند که به معنای extent است.

برای دیدن صفت های فایلها و دایرکتوری های مخفی از پارامتر a استفاده کنید. برای مثال:

lsattr -a

اگر میخواهید صفتهای یک دایرکتوری مشخص را بررسی کنید کافیست خروجی دستور lsattr را به دستور grep منتقل کنید. برای مثال:

lsattr | grep Download

تنظیم صفت های فایل با دستور chattr

برای تنظیم یک یا چند صفت روی فایل میتوان از دستور chattr استفاده نمود. برای این منظور کافیست بعد از دستور chattr از علامت + برای افزودن صفت استفاده کرد و یا از علامت – برای حذف صفت ها استفاده نمود. مثلا برای افزودن صفت Immutable به یک فایل دستور chattr به شکل زیر نوشته میشود:

sudo chattr +i document.txt

در مثال بالا دستور chattr صفت Immutable را به فایل document.txt اضافه میکند از اینرو document.txt دیگر حذف و یا ویرایش نمیشود حتی با مجوز دستور sudo نمیتوان تغییری در این فایل ایجاد نمود.

دستور chattr
دستور chattr

بعد از افزودن صفت برای بررسی آن میتوانید از همان دستور lsattr استفاده کنید.

برای حذف صفت افزوده شده باید از علامت – به همراه پارامتر i استفاده کنید. برای مثال:

sudo chattr -i document.txt

با استفاده از علامت = میتوان همه صفت های یک فایل را حذف کرد و فقط صفت های که در جلوی علامت = وجود دارند را به فایل اضافه نمود. برای مثال:

sudo chattr =a document.txt

فهرست برخی از صفت های کاربردی

در ادامه با برخی از صفت های رایج و کاربردی فایلها در لینوکس آشنا خواهید شد:

  1. صفت a باعث میشود یک فایل فقط قابل ویرایش باشد و نتوان آنرا حذف نمود.
  2. صفت A حروف بزرگ باعث میشود atime فایل هنگام دسترسی تغییر نکند. منظور از atime همان Access time یا آخرین زمان دسترسی به فایل است.
  3. صفت e مشخص میکند فایل باید از extent برای مپ کردن بلاکها روی دیسک استفاده کند.
  4. صفت i مشخص میکند فایل در وضعیت immutable باشد تا قابل حذف شدن و ویرایش شدن نباشد.
  5. صفت d مشخص میکند زمانیکه برنامه dump قرار است بکاپ گیری کند از این فایل نباید بکاپ گرفته شود.
  6. صفت c مشخص میکند فایل باید به صورت خودکار توسط Kernel فشرده شود.

برای دیدن کلیه صفت های قابل استفاده با دستور chattr از دستور man chattr استفاده کنید.

اگر میخواهید روی یک پوشه و محتوای زیر مجموع آن attribute تنظیم کنید کافیست قبل از مشخص نمودن صفت ها از پارامتر R استفاده کنید. برای مثال:

sudo chattr -R =e Document

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *