كيفية استخدام الأمر stat على لينكس
فاطماواتي أحمد زينوري / Shutterstock.com
لينكس stat
يوضح لك الأمر تفاصيل أكثر بكثير من ls
يفعل. ألق نظرة خاطفة خلف الستارة باستخدام هذه الأداة المفيدة والتكوينية. سنوضح لك كيفية استخدامه.
القانون الأساسي يأخذك وراء الكواليس
ال ls
الأمر رائع في ما يفعله - ويفعل الكثير - ولكن مع Linux ، يبدو أن هناك دائمًا طريقة للتعمق أكثر ومعرفة ما يكمن تحت السطح. وغالبًا ، لا يتعلق الأمر فقط برفع حافة السجادة. يمكنك تمزيق ألواح الأرضية ثم حفر حفرة. يمكنك تقشير لينكس مثل البصل.
ذات صلة 10 أوامر لينكس أساسية للمبتدئين
ls
سيعرض لك قدرًا كبيرًا من المعلومات حول أحد الملفات ، مثل الأذونات التي تم تعيينها عليه وحجمه ، و سواء كان ملفًا أو ارتباطًا رمزيًا . لعرض هذه المعلومات ls
يقرأها من أ بنية نظام الملفات تسمى inode .
يحتوي كل ملف ودليل على inode. يحمل inode البيانات الوصفية حول الملف ، مثل كتل نظام الملفات التي يشغلها ، وطوابع التاريخ المرتبطة بالملف. إنود هو مثل بطاقة مكتبة للملف. لكن ls
سوف تظهر لك فقط بعض المعلومات. لرؤية كل شيء ، نحتاج إلى استخدام stat
يأمر.
مثل ls
، stat
القيادة لديها الكثير من الخيارات. هذا يجعلها مرشحًا رائعًا لاستخدام الأسماء المستعارة. بمجرد أن تكتشف مجموعة معينة من الخيارات التي تجعل stat
تعطيك المخرجات التي تريدها ، لفها في اسم مستعار أو وظيفة قذيفة . هذا يجعله أكثر ملاءمة للاستخدام ، ولا يتعين عليك تذكر مجموعة غامضة من خيارات سطر الأوامر.
ذات صلة: كيفية استخدام الأمر ls لسرد الملفات والدلائل على نظام Linux
مقارنة سريعة
دعونا نستخدم ls
لتزويدنا بقائمة طويلة (-l
خيار) بأحجام ملفات يمكن قراءتها بواسطة الإنسان (-h
خيار):
ana.c
الإعلانات
من اليسار إلى اليمين ، المعلومات التي توفرها ls هي:
- الحرف الأول هو الواصلة - وهذا يخبرنا أن الملف عبارة عن ملف عادي وليس مقبسًا أو رابطًا رمزيًا أو نوعًا آخر من الكائنات.
- المالك والمجموعة والأذونات الأخرى مدرجة في شكل ثماني .
- عدد الروابط الصلبة التي تشير إلى هذا الملف. في هذه الحالة ، وفي معظم الحالات ، ستكون واحدة.
- مالك الملف هو ديف.
- مالك المجموعة هو ديف.
- حجم الملف 802 بايت.
- تم تعديل الملف آخر مرة يوم الجمعة 13 ديسمبر 2015.
- اسم الملف هو
stat
.
دعونا نلقي نظرة مع stat
:
stat
المعلومات التي نحصل عليها من stat
يكون:
- & [رسقوو] ؛ كل ما تريد معرفته عن inodes على Linux
- & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
- & [رسقوو] ؛ Cyber Monday 2021: أفضل العروض التقنية
- & [رسقوو] ؛ Cyber Monday 2021: أفضل عروض Apple
- & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
- & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
- & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
rwx
في سطر الأوامر ، ولكن يمكن أن يكون الأمر مختلفًا إذا نظرنا إلى ارتباط رمزي. relatime
في دليل ما ، يمثل هذا الرقم عدد الملفات الموجودة في الدليل ، بما في ذلك ملف. إدخال للدليل الحالي و .. إدخال للدليل الأصل. -0500
(قراءة ، كتابة ، تنفيذ تنسيقات). chmod
، والذي يحاول تحسين عمليات الكتابة على القرص الصلب المطلوبة لتحديث وقت الوصول . ببساطة ، يتم تحديث وقت الوصول إذا كان أقدم من الوقت المعدل. فهم الطوابع الزمنية
الطوابع الزمنية حساسة للمنطقة الزمنية. ال ana.c
في نهاية كل سطر يوضح أن هذا الملف تم إنشاؤه على جهاز كمبيوتر بتنسيق توقيت عالمي متناسق (UTC) المنطقة الزمنية التي تسبق المنطقة الزمنية للكمبيوتر الحالي بخمس ساعات. إذن هذا الكمبيوتر متأخر بخمس ساعات عن الكمبيوتر الذي أنشأ هذا الملف. في الواقع ، تم إنشاء الملف على كمبيوتر منطقة زمنية في المملكة المتحدة ، ونحن ننظر إليه هنا على جهاز كمبيوتر في المنطقة الزمنية الشرقية للولايات المتحدة.
يمكن أن يتسبب تعديل الطوابع الزمنية وتغييرها في حدوث ارتباك لأن أسماءهم تبدو بالنسبة للمبتدئين كما لو كانت تعني نفس الشيء.
دعونا نستخدم stat
لتعديل أذونات الملف على ملف يسمى stat
. سنجعله قابلاً للكتابة من قبل الجميع. لن يؤثر ذلك على محتويات الملف ، لكنه سيؤثر على سمات الملف.
stat
وبعد ذلك سنستخدم stat
للنظر في الطوابع الزمنية:
stat
الإعلانات
تم تحديث الطابع الزمني للتغيير ، لكن لم يتم تحديث الطابع المعدل.
ال تم التعديل سيتم تحديث الطابع الزمني فقط إذا تم تغيير محتويات الملف. ال يتغير يتم تحديث الطابع الزمني لكل من تغييرات المحتوى وتغييرات السمات.
استخدام Stat مع ملفات متعددة
للحصول على تقرير الحالة على عدة ملفات في وقت واحد ، مرر أسماء الملفات إلى -f
في سطر الأوامر:
stat
لاستخدام stat
في مجموعة من الملفات ، استخدم مطابقة الأنماط. علامة الاستفهام؟ تمثل أي حرف مفرد ، وتمثل العلامة النجمية * أي سلسلة من الأحرف. يمكننا معرفة stat
للإبلاغ عن أي ملف يسمى آنا بامتداد حرف واحد ، باستخدام هذا الأمر:
stat
استخدام الإحصائيات للإبلاغ عن أنظمة الملفات
stat
يمكن الإبلاغ عن حالة أنظمة الملفات ، وكذلك حالة الملفات. ال -L
يخبر خيار (نظام الملفات) code.c
للإبلاغ عن نظام الملفات الذي يوجد عليه الملف. لاحظ أنه يمكننا أيضًا تمرير دليل مثل / إلى ana.c
بدلا من اسم الملف.
-L
المعلومات code.c
يعطينا هو:
كتل:
Inodes:
إلغاء الإشارة إلى الروابط الرمزية
إذا كنت تستخدم ->
في ملف يمثل ارتباطًا رمزيًا بالفعل ، سيتم إرسال تقرير على الرابط. إذا أردت ana.c
للإبلاغ عن الملف الذي يشير إليه الارتباط ، استخدم -L
(dereference) الخيار. الملف code.c
ارتباط رمزي لـ stat
. دعونا نلقي نظرة عليها بدون -t
اختيار:
stat
الإعلانات
يظهر اسم الملف stat
مشيرا إلى (stat
) stat
. حجم الملف 11 بايت فقط. لا توجد كتل مخصصة لتخزين هذا الارتباط. يتم سرد نوع الملف كارتباط رمزي.
من الواضح أننا لا ننظر إلى الملف الفعلي هنا. لنفعل ذلك مرة أخرى ونضيف rwx
اختيار:
--format
هذا يعرض الآن تفاصيل الملف للملف المشار إليه بالارتباط الرمزي. لكن لاحظ أن اسم الملف لا يزال يُعطى كـ --printf
. هذا هو اسم الارتباط وليس الملف الهدف. يحدث هذا لأن هذا هو الاسم الذي مررناه إلى --printf
في سطر الأوامر.
تقرير مقتضب
ال
(مقتضب) يتسبب الخيار
لتقديم ملخص مكثف:
stat
لا توجد أدلة معينة. لفهمها - حتى تحفظ تسلسل الحقل - تحتاج إلى إحالة هذا الناتج إلى %n
كامل انتاج.
تنسيقات الإخراج المخصصة
طريقة أفضل للحصول على مجموعة مختلفة من البيانات من %s
هو استخدام تنسيق مخصص. توجد قائمة طويلة من الرموز المميزة تسمى تسلسلات التنسيق. كل من هؤلاء يمثل عنصر بيانات. حدد العناصر التي تريد تضمينها في الإخراج وإنشاء سلسلة تنسيق. عندما نتصل ب %F
وتمرير سلسلة التنسيق إليه ، سيشمل الإخراج فقط عناصر البيانات التي طلبناها.
هناك مجموعات مختلفة من تسلسلات التنسيق للملفات وأنظمة الملفات. قائمة الملفات هي:
). العصر هو عصر يونكس ، الذي تم بتاريخ 1970-01-01 00:00:00 +0000 (التوقيت العالمي المنسق).
بالنسبة لأنظمة الملفات ، فإن تسلسلات التنسيق هي:
هناك خياران يقبلان سلاسل من تسلسلات التنسيق. هذه هي stat
و --printf
. الفرق بينهما هو stat
يترجم تسلسلات الهروب على النمط C. مثل سطر جديد code.c
وعلامة تبويب ana.?
، ولا يقوم تلقائيًا بإضافة حرف سطر جديد إلى ناتجه.
دعونا ننشئ سلسلة تنسيق ونمررها إلى =
. تسلسلات التنسيق التي سيتم استخدامها هي --printf
لاسم الملف ، stat
لحجم الملف و
ls -lh ana.hلنوع الملف. سنضيف
stat ana.hتسلسل الهروب إلى نهاية السلسلة للتأكد من معالجة كل ملف في سطر جديد. تبدو سلسلة التنسيق الخاصة بنا كما يلي:
chmod +w ana.c
سنقوم بتمرير هذا إلى
stat ana.cباستخدام
stat ana.h ana.oاختيار. سنطلب
stat ana.?للإبلاغ عن ملف يسمى
stat -f ana.cومجموعة من الملفات التي تطابق
stat code.c. هذه هي الوصية الكاملة. لاحظ علامة يساوي
stat -L code.cبين
stat -t ana.cوسلسلة التنسيق:
'File %n is %s bytes, and is a %F '
يتم سرد التقرير الخاص بكل ملف في سطر جديد ، وهو ما طلبناه. يتم توفير اسم الملف وحجم الملف ونوع الملف بالنسبة لنا.
الإعلاناتتتيح لك التنسيقات المخصصة الوصول إلى عناصر بيانات أكثر مما تم تضمينه في المعيار
stat --printf='File %n is %s bytes, and is a %F ' code.c ana/ana.?انتاج.
مراقبة الحبوب الدقيقة
كما ترى ، هناك مجال هائل لاستخراج عناصر البيانات المعينة التي تهمك. ربما يمكنك أيضًا معرفة سبب اقتراحنا باستخدام الأسماء المستعارة للتعاويذ الأطول والأكثر تعقيدًا.
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين
اقرأ التالياستخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة