خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


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

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

نرم افزار سامانه مودیان راهکار
این مقاله نحوه استفاده از دستور stat را توضیح می دهد.



Using the stat Command

Syntax استفاده از دستور stat بصورت زیر می باشد:

stat [OPTION]... FILE...

Stat یک یا چند نام فایل به عنوان ورودی می پذیرد و شامل تعدادی گزینه است که رفتار و خروجی دستور Stat را کنترل می کند. اجازه دهید با ذکر مثال، توضیحات را کمی ملموس تر کنیم.

stat file.txt

مثلا خروجی ما در خصوص این فایل، خروجی زیر است که البته برای شما می تواند متفاوت باشد:

File: file.txt
Size: 4030 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 13633379 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ linuxize) Gid: ( 1000/ linuxize)
Access: 2019-11-06 09:52:17.991979701 +0100
Modify: 2019-11-06 09:52:17.971979713 +0100
Change: 2019-11-06 09:52:17.971979713 +0100
Birth: -

توضیحات مربوط به هر کدام از خروجی ها را در ذیل مشاهده می کنید. البته که بخش اعظمی از خروجی کاملا قابل درک است:

File - The name of the file.
Size - The size of the file in bytes.
Blocks - The number of allocated blocks the file takes.
IO Block - The size in bytes of every block.
File type - (ex. regular file, directory, symbolic link.)
Device - Device number in hex and decimal.
Inode - Inode number.
Links - Number of hard links.
Access - File Permissions in the numeric and symbolic methods.
Uid - User ID and name of the owner .
Gid - Group ID and name of the owner.
Context - The SELinux security context.
Access - The last time the file was accessed.
Modify - The last time the file’s content was modified.
Change - The last time the file’s attribute or content was changed.
Birth - File creation time (not supported in Linux)

برای دریافت اطلاعات در مورد فایل سیستم که فایل مشخص شده در آن قرار دارد، به جای اطلاعات مربوط به خود فایل، از گزینه f- استفاده کنید:

stat -f file.txt

File: "package.json"
ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 61271111 Free: 25395668 Available: 22265851
Inodes: Total: 15630336 Free: 13979610

File که در واقع اشاره به نام فایل دارد. ID شناسه فایل سیستم است که بصورت هگزا نشان داده می شود. Namelen حداکثر طول نام فایل است. Fundamental block size اندازه هر بلوک در فایل سیستم است.
Blocks ها:
Total تعداد کل بلوک ها در فایل سیستم است.
Free تعداد بلوک های آزاد در فایل سیستم است.
Available تعداد بلوک های آزاد در دسترس برای کاربران غیر root است.

Inodes ها:
Total مجموع کل inodes در فال سیستم است.
Free تعداد inode های آزاد در فایل سیستم است.

به طور پیش‌فرض، stat به shortcut ها کاری ندارد. اگر این دستور را روی یک shortcut اجرا کنید، خروجی شامل اطلاعات مربوط به آن فایل shortcut خواهد بود و نه فایلی که به آن اشاره می کند:

stat /etc/resolv.conf

File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
Size: 39 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 8126659 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2018-07-24 11:11:48.128794519 +0200
Change: 2018-07-24 11:11:48.128794519 +0200
Birth: -

ولی اگر می خواهید به جای shortcut، اطلاعات مربوط به فایل اصلی که shortcut بدان اشاره دارد را مشاهده کنید، از L- در دستور استفاده کنید:

stat -L /etc/resolv.conf

  File: /etc/resolv.conf
Size: 715 Blocks: 8 IO Block: 4096 regular file
Device: 17h/23d Inode: 989 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 101/systemd-resolve) Gid: ( 103/systemd-resolve)
Access: 2019-11-06 20:35:25.603689619 +0100
Modify: 2019-11-06 20:35:25.555689733 +0100
Change: 2019-11-06 20:35:25.555689733 +0100
Birth: -

دستور stat دو گزینه format—و printf—را به شما ارائه می دهد که به شما امکان می دهد خروجی را مطابق با نیاز خود شخصی سازی کنید.
تفاوت بین این دو گزینه در این است که وقتی دو یا چند فایل به عنوان عملگر استفاده می شود format به طور خودکار پس از خروجی هر عملوند یک خط جدید اضافه می کند. اجازه دهید با ذکر مثال به توضیح این دو بپردازیم.
به عنوان مثال، برای مشاهده فقط نوع فایل، دستور زیر را اجرا کنید:

stat --format="%F" /dev/null

character special file

می توانید هر تعداد دستورات format را ترکیب کنید و به صورت اختیاری از جداکننده های سفارشی بین آنها استفاده کنید. جداکننده می تواند یک کاراکتر یا یک رشته باشد:

stat --format="%n,%F" /dev/null

/dev/null,character special file

برای تفسیر کاراکترهای خاص مانند خط جدید یا تب، از گزینه printf استفاده کنید:

stat --printf='Name: %n\nPermissions: %a\n' /etc

n\ یک خط جدید را نمایش می دهد:

Name: /etc
Permissions: 755

Stat همچنین می تواند اطلاعات را به صورت مختصر نمایش دهد. این فرمت برای آنالیز توسط سایر ابزارها مفید است. دستور را با گزینه t- فراخوانی و اجرا کنید تا خروجی بصورت مختصر نمایش داده شود:

stat -t /etc

/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

برای مشاهده لیست کاملی از گزینه های مورد استفاده در دستور stat می توانید دستورات man stat و یا stat –help را اجرا کنید.

نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز