הבנת חותמות זמן של קובצי Linux: mtime, ctime ו- atime

הבנת חותמות זמן של קובצי Linux: mtime, ctime ו- atime

מערכת ההפעלה לינוקס עוקבת אחר שלוש חותמות זמן עבור כל קובץ במערכת שלך. חותמות זמן אלה מאפשרות לך לגלות מתי עודכן הקובץ לאחרונה. אבל מה המשמעות של כולן? ואיך אתה מגלה את הזמנים האלה לקובץ? האם יש הבדל בכל הנוגע לספריות?





הבנה בזמן, בזמן וב- mtime יכולה לענות על כל השאלות הללו. אלה שלוש חותמות הזמן שעוקבות אחר מערכות הקבצים של יוניקס. אם אי פעם תצטרך לברר פרטים על מה השתנה ומתי, המשך לקרוא.





מהם שלושת חותמות הזמן של יוניקס?

לכל קובץ יש שלוש חותמות זמן המשויכות אליו. לינוקס מאחסן אותם ב- פורמט זמן Unix המודד שניות מאז התקופה. שלוש חותמות הזמן מכונות בדרך כלל זמן, זמן, ו -זמן.





ה mtime הוא הנפוץ ביותר ולעתים קרובות השימושי ביותר. זה מייצג זמן שונה . זה הזמן שבו תוכן הקובץ נכתב לאחרונה לדיסק.

מעט שונה הוא ה ctime מה שמייצג לשנות זמן . חותמת זמן זו עוקבת אחר שינויי מטא נתונים כגון בעלות והרשאות. הוא כולל שינוי שם לקובץ - לפחות, על מערכות הפעלה Linux מודרניות טיפוסיות. אך הוא מתעדכן גם כאשר תוכן הקובץ משתנה, כך שהוא תמיד מעודכן כמו mtime.



חותמת הזמן השלישית היא זמן , המאחסנת את הפעם האחרונה שמישהו ניגש לקובץ.

כיצד לראות הודעות שנמחקו במסנג'ר

כיצד חותמות זמן חלות על ספריות

ספריית Linux היא בעצם רשימה של הקבצים בספרייה זו. אז יצירת קובץ בתוך ספרייה תעדכן את משך הזמן של הספרייה. רישום הקבצים בספרייה, באמצעות ls פקודה, למשל, מעדכנת את זמן הגישה שלה. וכמו בקובץ, שינוי הרשאות או שם של ספרייה מעדכן את זמן הפעולה שלו.





מה לגבי זמן הבריאה?

זה עשוי להפתיע אותך ללמוד שלינוקס פשוט לא עוקבת אחר זמן היצירה. אתה יכול בתחילה להניח זאת 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 של קובץ זה שונה מהזמן. לבסוף, השתמש ב- סמן כדי לצפות בזמן:

$ 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 היא ה- מדינה פקודה. פקודה זו מציגה פרטים ברמה נמוכה מתוך קוד הקובץ. זה מקל לבדוק את כל שלוש הפעמים בבת אחת. זה גם עוקף את הבעיה של הלא אינטואיטיבי -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

כיצד לעדכן חותמות זמן

ה לגעת הפקודה משנה את זמני השינוי והגישה לקובץ. זוהי גם דרך נוחה ליצור קובץ ריק, שהוא יעשה אם הקובץ לא קיים עדיין:

כיצד לשנות את הגדרות ברירת המחדל של האפליקציה
touch tmp

כברירת מחדל, הוא יגדיר את mtime ו- atime לזמן הנוכחי. אתה יכול לקבוע זמן אחר עם דֶגֶל:

touch -t 202103061200 tmp

אתה יכול גם להגדיר רק mtime או atime עם -M ו דגלים בהתאמה:

touch -t 202103061300 -m tmp

שים לב שהזמן תמיד מתעדכן כאשר אנו מגדירים את השעה atime או mtime.

כיצד למצוא קבצים המבוססים על חותמות זמן

ה למצוא פקודה היא כלי נוסף הפועל על חותמות זמן. זה יכול לסנן קבצים על בסיס זמן, זמן cime או mtime. לדוגמה:

find . -amin 15

ימצא קבצים שנכנסו אליהם בדיוק לפני 15 דקות, בעוד:

find . -mtime -2

ימצא קבצים שהשתנו ביומיים האחרונים.

לינוקס עוקבת אחר כל קובץ שלוש פעמים

חותמת הזמן של הקבצים הנפוצה ביותר היא mtime. זהו התאריך והשעה שבהם רישום קבצים מציג, למשל. אבל שני חותמות הזמן האחרות יכולות להיות שימושיות גם כן, בתנאי שאתה מבין למה הם מתכוונים. בפרט, זכור תמיד ש- ctime מייצג שינוי זמן, לא יצירה זְמַן.

פקודות כגון מגע וסטט הם חברים שימושיים בארגז הכלים של שורת הפקודה של Linux. פקודות אלה ישפרו את זרימת העבודה שלך ב- Linux על ידי כך שתוכל ליצור קבצים חדשים במהירות.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל גיליון הרמאות של הפקודות לינוקס

גיליון בגידות פשוט זה יעזור לך להרגיש בנוח עם מסוף שורת הפקודה של Linux תוך זמן קצר.

מסך מגע טאבלט אסוס לא עובד
קרא הבא נושאים קשורים
  • לינוקס
  • ניהול קבצים
  • Linux Distro
על הסופר בובי ג'ק(58 מאמרים פורסמו)

בובי הוא חובב טכנולוגיה שעבד כמפתח תוכנה במשך רוב שני העשורים. הוא נלהב משחקים, עובד כעורך ביקורות במגזין Switch Player, והוא שקוע בכל ההיבטים של פרסום באינטרנט ופיתוח אתרים.

עוד מאת בובי ג'ק

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה