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

در این مقاله به روش بررسی کردن تاریخ آخرین تغییر یک فایل در سیستم عامل Linux‌ می‌پردازیم.

چک کردن تاریخ آخرین تغییر در یک فایل و حتی چک کردن تاریخ آخرین دسترسی به فایل، گاهی ضروری است. به عنوان مثال اگر سرور یا سیستمی هک شده باشد یا به ویروس و بدافزار آلوده شده باشد، برای ریشه‌یابی مشکل و شناسایی منبع و شخصی که سیستم را با مشکل مواجه کرده، می‌توانید از تشخیص تاریخ دستکاری غیرمجاز و سوء استفاده از فایل شروع کنید. لذا فهمیدن تاریخ آخرین مرتبه‌ی باز کردن یک فایل یا تغییر کردن آن، هم برای کاربران خانگی و هم برای مدیران سیستم و شبکه مفید است.

آشنایی با فرمان stat در لینوکس

برای پاسخ به این سوال که چگونه می‌توان تاریخ آخرین دسترسی به فایلی را متوجه شد، می‌توانید از اپلیکیشن Terminal استفاده کنید که البته روش گرافیکی و کاملاً ساده‌ای نیست اما در توزیعات مختلف لینوکس کاربرد دارد و روشی عمومی محسوب می‌شود.

توجه کنید که به دسترسی روت نیاز است و می‌بایست از دستور stat استفاده شود. این دستور اطلاعاتی مثل اندازه‌ی فایل، نوع آن،‌ UID و یا GIUD و همین‌طور تاریخ دسترسی به فایل و یا تغییرات فایل را ارایه می‌کند. البته به صورت مشابه می‌توانید از این دستور برای دریافت اطلاعات در مورد فولدرها نیز استفاده کنید. به عنوان مثال اگر پس از دستور stat از آدرس فولدر /etc استفاده کنیم، اطلاعاتی مثل تصویر زیر نمایش داده می‌شود:

آموزش فهمیدن تاریخ آخرین دسترسی یا تغییر در فایل و فولدرها در لینوکس

لذا سینتکس کلی این دستور، stat و پس از آن آدرس فایل یا آدرس فولدر است.

پیدا کردن فایل موردنظر با دستور ls

در سیستم عامل لینوکس برای یافتن فایل‌ها می‌توانید از دستور لیست کردن که ls است، استفاده کنید. برای لیست کردن تمام فایل‌ها شامل موارد مخفی یا Hidden، از سوییچ -a پس از فرمان ls استفاده کنید:

و برای لیست کردن فایل‌ها با فرمت لیست طولانی، از دستور زیر استفاده نمایید:

و در نهایت برای نمایش لیست به صورتی که تاریخ‌ها به شکل دلخواه باشد، از دستور زیر استفاده کنید و به جای FORMAT، نوع نمایش تاریخ را قرار بدهید. به عنوان مثال از %m/%d/%y استفاده کنید تا تاریخ شامل ماه و سپس روز و سال باشد:

به یک نمونه از اجرای دستور ls‌ به همراه تعدادی از سوییچ‌ها را در تصویر زیر مشاهده می‌کنید:

آموزش فهمیدن تاریخ آخرین دسترسی یا تغییر در فایل و فولدرها در لینوکس

در لیست اطلاعات فایل‌ها، به دسترسی‌ها، نام حساب کاربری، تاریخ و آدرس فایل اشاره می‌شود. اگر تعداد فایل‌های موجود در یک فولدر کم باشد، دستور ls به شکلی که استفاده شده، کافی است اما اگر هزاران فایل در یک فولدر باشد چطور می‌توان فایل موردنظر را به سرعت پیدا کرد؟

در این موارد می‌توانید از یک سوییچ اضافی دیگر استفاده کنید تا لیست فایل‌ها کوتاه‌تر شود. برای مرتب‌سازی بر حسب حروف الفبا، از دستور زیر استفاده کنید:

با استفاده از دستور زیر نیز می‌توانید فایل‌ها را بر حسب اندازه مرتب کرده و اطلاعات را بررسی کنید:

جستجو کردن فایل‌ها با دستور ls

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

در مورد پارامتر atime در دستور فوق، می‌توانید از سه حالت زیر استفاده کنید:

  • atime: تاریخ آخرین دسترسی به فایل یا به عبارت دیگر تاریخ آخرین خوانده شدن فایل
  • mtime: تاریخ آخرین تغییر در فایل
  • ctime: تاریخ آخرین تغییر در فایل یا مالک فایل یا دسترسی‌های فایل

استفاده از فرمان find برای جستجو

دستور مفید و کاربردی دیگر در لینوکس، فرمان find است. به عنوان مثال اگر بخواهید فایلی که آخرین تغییرات را داشته پیدا کنید، می‌توانید از دستور زیر استفاده کنید:

دستور فوق به نظر پیچیده می‌رسد اما در حقیقت دستور ساده‌ای است. برای دریافت اطلاعات بیشتر به وب‌سایت اوبونتو و بخش راهنمای دستورات مراجعه کنید.

آموزش فهمیدن تاریخ آخرین دسترسی یا تغییر در فایل و فولدرها در لینوکس