stat - نمایش فایل‌ها و یا وضعیت سیستم فایل

stat - از این دستور برای نمایش اطلاعات مخصوص یک فایل استفاده می‌شود.

شکل کلی دستور:

$ stat [options] [file]

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

  • آخرین زمان دسترسی (last access time) : آخرین زمانی که فایل خوانده شده است.
  • آخرین زمان تغییر (last change time) : آخرین زمانی که فراداده‌ها (Meta data) تغییر کرده است. مانند مجوزها و...
  • آخرین زمان اصلاح (last modification time) : آخرین زمانی که محتوایات فایل تغییر کرده است.
  • نماگره (Inode) : شماره نماگره (که هر فایل شماره مخصوص خود را دارد)
  • اندازه(size) : سایز فایل
  • دسترسی(Access) : که شامل خواندن، نوشتن و اجراست
  • بلوک‌ها (Blocks) : تعداد کل بلوک های مورد استفاده توسط این فایل
  • بلوک ورودی/خروجی (IO Block) : سایز بلوک ورودی/خروجی برای این فایل
  • فایل منظم (Regular file) : نوع فایل را مشخص می‌کند که می‌تواند یکی از موارد زیر باشد:
    • فایل‌ منظم (regular file) : که فایل‌های عادی به این صورت است
    • مسیر(directory) : برای پوشه‌ها (directorys) استفاده می‌شود
    • سوکت (socket) : برای سوکت‌ها (sockets) استفاده می‌شود
    • لینک نمادین (symbolic link) : برای لینک‌های نمادین (symbolic links) استفاده می‌شود
    • بلوک فایل خاص (block special file ) : مانند دیسک سخت
    • فایل کاراکتر ویژه‌ای (character special file) : مانند فایل دستگاه پایانه (terminal device file)
  • دستگاه (Device) : شماره دستگاه بر مبنای شانزده و ده
  • لینک‌ها (Links) : تعداد لینک‌های که به فایل لینک شده است

به ما می دهد.

نکته: این فایل نیاز به دسترسی ریشه ندارد.

یک بار بیایید باهم خروجی را ببینیم:

stat test
  File: `File address'
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: 80fh/2063d    Inode: 288513      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/  name)   Gid: ( 1000/ groupname)
Access: 2013-04-11 10:41:06.334928676 +0430
Modify: 2013-04-11 10:41:03.190928592 +0430
Change: 2013-04-11 10:41:05.306928648 +0430
 Birth: -

به دنبال این دستور، چندین دستور دیگر ظاهر می‌شود که بسیار پراستفاده است. نظیر : Pidstat, Iostat و...

توجه: قبل از استفاده از دو دستور بالا لازم است بسته sysstat را نصب کنید.

گزینه‌های اختیاری

f-: نمایش وضعیت فایل سیستم به جای وضعیت فایل.

stat -f /
  File: "/"
    ID: bf1b1e0c64908b5 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 2402617    Free: 271896     Available: 149848
Inodes: Total: 610800     Free: 210178

t-: چاپ اطلاعات موجود به شکل مختصر و مفید.

stat -t test
/home/name/Desktop/test 61 8 81b4 1000 1000 80f 284019 1 0 0 1365662193 1365662192 1365662192 0 4096

c format-: نمایش به صورت قالب خاصی است که این قالب‌ها به صورت زیر می‌توانند باشند:

  • A% : نمایش دسترسی به‌صورتی که توسط انسان قابل خواندن باشد
  • a% : نمایش دسترسی در مبنای هشت
  • B% : اندازه به بایت هر یک از بلوک‌های گزارش شده توسط b%
  • b% : تعداد بلوک‌های اختصاص داده شده
  • D% : شماره دستگاه در مبنای شانزده
  • d% : شماره دستگاه در مبنای ده
  • F% : نوع فایل
  • G% : نام گروه مالک
  • g% : شماره شناسایی گروه مالک
  • h% : تعداد لینک‌های سخت
  • i% : شماره نماگره
  • N% : نام آدرس فایل که آدرس را در علامت نقل‌قول(' آدرس فایل ') قرار می‌دهد
  • n% : نام فایل
  • o% : سایز بلوک ورودی/خروجی
  • s% : سایز فایل بر اساس بایت
  • U% : نام کاربر مالک
  • u% : شماره کاربر مالک
  • x% : آخرین زمان دسترسی
  • y% : آخرین زمان اصلاح
  • z% : آخرین زمان تغییر

مثال:

stat -c %x%A%U /home/name/Desktop/test
2013-04-11 11:06:33.842970078 +0430-rw-rw-r--name