شاید به این مشکل بر خورده باشید که زمانی که جستجو می کنید و دنبال دستوری برای پیدا کردن زمان تغییر و یا ساخت یک فایل می گردید، به دستور stat می رسید. ولی این دستور یه مشکل داره.
$ stat linuxmotto.txt $ stat linuxmotto.txt
File: linuxmotto.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 15h/21d Inode: 492194 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 1000/ behrad) Gid: ( 1000/ behrad)
Access: 2017-10-14 22:25:13.673825333 +0330
Modify: 2017-10-14 22:25:13.673825333 +0330
Change: 2017-10-14 22:25:13.673825333 +0330
Birth: –
همانطور که میبینید، این دستور سالهاست که زمان ساخت (Birth) را نشان نمیده. این به دلیل این نیست که این زمان در فایل سیستم ذخیره نمیشه. بلکه دقیقا مشکل دستور stat است.
البته همه فایل سیستم ها از Creation time پشتیبانی نمیکنند. مانند XFS و در ضمن هر فایل سیستم ممکنه این مقدار را با اسامی مختلفی نگهداری کند
zfs → crtime
ext4 → crtime
btrfs → otime
برای اینکه بتونید زمان ساخت یک فایل را پیدا کنید، می تونید از دستور دیگری به نام debugfs استفاده کنید. debugfs دستور بسیار قدرتمندی برای بررسی یک فایل سیستم است. این دستور مربوط به فایل سیستم ext4 هست، و من نتونستم دستور معادلی برای btrfs پیدا کنم. اگه سراغ دارید ممنون می شم در کامنت معرفی کنید.
debugfs -R “stat /tmp/linuxmotto.txt” /dev/sda2 | grep crtime