شاید به این مشکل بر خورده باشید که زمانی که جستجو می کنید و دنبال دستوری برای پیدا کردن زمان تغییر و یا ساخت یک فایل می گردید، به دستور 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