دستور DEBUGFS در لینوکس و نحوه بدست آوردن زمان ایجاد یا تغییر فایل در لینوکس

در سیستم های یونیکسی، تمامی اطلاعات یک فایل (متا دیتا، ویژگی های فایل شامل زمان ایجاد و اخرین تغییرات و غیره ) بجز محتوبات خود فایل داخل یک inode ذخیره می شوند و لینوکس هر فایلی را به همین شماره inode می شناسد و با آن کار می کند.

علاوه بر این، linux stat نیز برنامه کاربردی برای نمایش آمار سیستمی یک فایل می باشد. این برنامه اطلاعاتی شامل شماره inode، زمان متولد شدن فایل، آخرین تغییرات، آخرین دسترسی، آخرین تغییر وضعیت و خیلی موارد دیگر را نمایش می دهد.

در این آموزش از دور روش Linux stat و debugfs استفاده می کنیم تا بینیم چگونه اطلاعات زیر در مورد یک فایل در لینوکس را بدست آوریم:

  • ctime: نمایش زمان تغییر فایل
  • atime: نمایش زمان دسترسی به فایل
  • mtime: نمایش زمان اصلاح فایل
  • crtime : زمان ایجاد فایل

بدست آوردن زمان ایجاد فایل در لینوکس

خب در ابتدا با استفاده از دستور stat می توانیم شماره inode فایل را بدست آوریم (من برای مثال فایلی به نام about_sadegh-khan.irرا بررسی می کنم):

stat about_sadegh-khan.ir

همچنین می توانید با دستور ls -i شناسه inodeرا بدست آورید:

ls -i about_sadegh-khan.ir

خب با توجه به خروجی دو دستور فوق، شناسه فایل مورد نظر 1986131 می باشد.

حال نوبت به این رسیده که روت فایل سیستم که فایل هایمان در آن هستند را بدست آوریم، برای این کار از ستور df -h استفاده می کنیم:

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

sudo debugfs -R 'stat <1986131>' /dev/nvme0n1p5