فهم الطوابع الزمنية لملفات Linux: mtime و ctime و atime

فهم الطوابع الزمنية لملفات Linux: mtime و ctime و atime

يتتبع نظام التشغيل Linux ثلاثة طوابع زمنية لكل ملف على نظامك. تتيح لك هذه الطوابع الزمنية اكتشاف وقت آخر تحديث للملف. لكن ماذا يقصدون جميعًا؟ وكيف تكتشف هذه الأوقات لملف؟ هل هناك فرق عندما يتعلق الأمر بالأدلة؟





يمكن لفهم atime و ctime و mtime الإجابة على كل هذه الأسئلة. هذه هي الطوابع الزمنية الثلاثة التي تتبعها أنظمة ملفات Unix. إذا احتجت في أي وقت إلى معرفة تفاصيل حول ما تغير ومتى ، فتابع القراءة.





ما هي الطوابع الزمنية الثلاثة يونكس؟

يحتوي كل ملف على ثلاثة طوابع زمنية مرتبطة به. يقوم Linux بتخزين هذه الملفات في ملف تنسيق وقت يونكس الذي يقيس الثواني منذ العصر. يشار إلى الطوابع الزمنية الثلاثة عادةً بـ atime و ctime و mtime.





ال mtime هو الأكثر شيوعًا والأكثر فائدة غالبًا. انها تقف ل الوقت المعدل . إنه الوقت الذي تمت فيه كتابة محتويات الملف آخر مرة على القرص.

قليلا مختلف هو ctime و التي تعني غير الوقت . يتتبع هذا الطابع الزمني تغييرات البيانات الوصفية مثل الملكية والأذونات. يتضمن إعادة تسمية الملف — على الأقل ، في أنظمة تشغيل Linux الحديثة النموذجية. ولكنه يتم تحديثه أيضًا عندما يتغير محتوى الملف ، لذا فهو دائمًا محدث مثل mtime.



الطابع الزمني الثالث هو وقت ، والذي يخزن آخر مرة وصل فيها أي شخص إلى الملف.

أين ترسل الرسائل للجنود

كيفية تطبيق الطوابع الزمنية على الدلائل

دليل Linux هو ، بشكل أساسي ، قائمة بالملفات الموجودة في هذا الدليل. لذا فإن إنشاء ملف داخل دليل سيؤدي إلى تحديث mtime لهذا الدليل. سرد الملفات في الدليل ، باستخدام امتداد ls الأمر ، على سبيل المثال ، يقوم بتحديث وقت الوصول الخاص به. وكما هو الحال مع ملف ، فإن تغيير أذونات الدليل أو الاسم يؤدي إلى تحديث ctime الخاص به.





ماذا عن وقت الخلق؟

قد يفاجئك معرفة أن Linux ببساطة لا يتتبع وقت الإنشاء. قد تفترض ذلك في البداية ctime لتقف على وقت الخلق. بالمثل ، قد تفكر في الأمر على أنه شيء مفيد للغاية لتتمكن من اكتشافه.

تقوم العديد من التطبيقات بحفظ الملفات عن طريق إنشائها من البداية في كل مرة. هذا من شأنه أن يجعل استخدام وقت الخلق مضللاً.





كيفية عرض الطوابع الزمنية المختلفة

إن أبسط طريقة للحصول على معلومات الطابع الزمني هي باستخدام ال ls أمر . يعرض التنسيق الطويل الافتراضي تفاصيل mtime:

$ date
Sat Mar 6 16:57:01 GMT 2021
$ echo 'hello, world' > tmp
$ ls -l tmp.txt
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

يمكنك عرض atime بدلاً من ذلك باستخدام ملف -u علم:

$ date
Sat Mar 6 16:59:33 GMT 2021
$ cat tmp
hello, world
$ ls -lu tmp
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp
$ ls -l tmp
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

يؤكد السطر الأخير أن mtime لهذا الملف يختلف عن atime. أخيرًا ، استخدم ملف علم لعرض ctime:

$ date
Sat Mar 6 17:02:34 GMT 2021
$ mv tmp tmp2
$ ls -lc tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 17:02 tmp2
$ ls -l tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp2
$ ls -lu tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp2

هذه المرة ، نؤكد أن جميع الأوقات الثلاثة مميزة وصحيحة: قمنا بتعديل الملف ، ثم الوصول إليه ، ثم تغييره بهذا الترتيب.

بديل ل ls هو حالة أمر. يعرض هذا الأمر تفاصيل منخفضة المستوى من inode الخاص بالملف. يجعل من السهل التحقق من جميع المرات الثلاث مرة واحدة. كما أنه يدور حول مشكلة ما هو غير بديهي -u علم. فيما يلي مثال ناتج عن نفس الملف:

$ stat tmp2
File: `tmp2'
Size: 13 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 327688 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2021-03-06 16:59:45.000000000 +0000
Modify: 2021-03-06 16:57:59.000000000 +0000
Change: 2021-03-06 17:02:43.000000000 +0000

كيفية تحديث الطوابع الزمنية

ال لمس. اتصال. صلة الأمر يغير أوقات التعديل والوصول للملف. إنها أيضًا طريقة مناسبة لإنشاء ملف فارغ ، وستفعل إذا لم يكن الملف موجودًا بالفعل:

المجرة s7 قراءة الرسائل النصية بصوت عالٍ
touch tmp

بشكل افتراضي ، سيتم تعيين mtime و atime على الوقت الحالي. يمكنك ضبط وقت مختلف باستخدام ملف -t علم:

touch -t 202103061200 tmp

يمكنك أيضًا تعيين mtime أو atime مع ملف م و -إلى الأعلام على التوالي:

touch -t 202103061300 -m tmp

لاحظ أن ctime يتم تحديثه دائمًا عندما نقوم بتعيين atime أو mtime.

كيفية البحث عن الملفات بناءً على الطوابع الزمنية

ال تجد command هو أداة أخرى تعمل على الطوابع الزمنية. يمكنه تصفية الملفات بناءً على atime أو ctime أو mtime. على سبيل المثال:

find . -amin 15

سيجد الملفات التي تم الوصول إليها قبل 15 دقيقة بالضبط ، بينما:

find . -mtime -2

سوف تجد الملفات التي تم تعديلها خلال اليومين الماضيين.

يتتبع Linux كل ملف ثلاث مرات

الطابع الزمني للملف الأكثر شيوعًا هو mtime. هذا هو التاريخ والوقت اللذين تظهرهما قائمة الملفات ، على سبيل المثال. ولكن يمكن أن يكون الطابعان الزمنيان الآخران مفيدًا أيضًا ، بشرط أن تفهم ما يشيرون إليه. على وجه الخصوص ، تذكر دائمًا أن ctime يمثل يتغيرون الوقت ، لا خلق زمن.

الأوامر مثل اللمس والإحصائيات هي أعضاء مفيدون في مربع أدوات سطر أوامر Linux. ستعمل هذه الأوامر على تحسين سير عمل Linux من خلال السماح لك بإنشاء ملفات جديدة بسرعة.

يشارك يشارك سقسقة بريد الالكتروني ورقة الغش المرجعية لأوامر Linux

ستساعدك ورقة الغش البسيطة هذه على الشعور بالراحة مع محطة سطر أوامر Linux في أي وقت من الأوقات.

كيفية تغيير خلفية الصورة في الفوتوشوب
اقرأ التالي مواضيع ذات صلة
  • لينكس
  • إدارة الملفات
  • لينكس توزيعة
نبذة عن الكاتب بوبي جاك(تم نشر 58 مقالة)

بوبي متحمس للتكنولوجيا وعمل كمطور برمجيات لأكثر من عقدين من الزمن. إنه شغوف بالألعاب ، ويعمل كمحرر المراجعات في مجلة Switch Player ، وهو منغمس في جميع جوانب النشر عبر الإنترنت وتطوير الويب.

المزيد من Bobby Jack

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك