גע בפקודה בלינוקס/יוניקס עם דוגמאות

גע בפקודה בלינוקס/יוניקס עם דוגמאות

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

הוא זמין ב-ReactOS, Unix, FLEX של TSC, מערכות הפעלה דמויות Unix, מעטפת Microware OS-9, מעטפת AROS ו-Digital Research/Novell DR DOS. כמו כן, הפקודה זמינה עבור Microsoft Windows ו- FreeDOS.

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

SUS (Single Unix Specification) מגדיר שפקודת המגע צריכה לשנות את זמני השינוי, זמני הגישה או שניהם עבור הקבצים. הקובץ מזוהה על ידי שם נתיב מיובא כארגומנט אחד. כמו כן, זה מייצג שאם הקובץ שזוהה לא קיים, הקובץ נוצר, וזמני השינוי והגישה קבועים כמפורט. פקודת המגע מחילה את השעה הנוכחית אם לא צוינו חותמות זמן חדשות.

היסטוריה קצרה של מגע

ראשית, כלי מגע התרחש בגרסה 7 AT&T UNIX. הפקודה זמינה היום עבור מספר מערכות הפעלה שונות, כולל מערכות שונות של Unix, DOS, Unix, מערכת ההפעלה הקלאסית של Mac OS ו-Microsoft Windows. שחרור המגע המקובץ ב-coreutils של GNU צוין על ידי פול רובין, רנדי סמית', דיוויד מקנזי, ג'ים קינגדון וארנולד רובינס.

עבור Microsoft Windows, הפקודה היא חבילה מבודדת כחלק מאוסף UnxUtils של יציאות Win32 המקוריות של כלי עזר דמויי GNU Unix. מהדורת FreeDOS מורשית ב-GPL ושולבה על ידי Kris Heidenstrom. KolibriOS ו-DR DOS 6.0 מוסיפים את היישום של פקודת המגע. כמו כן, פקודת המגע נשלחה ל-IBM i OS.

עבודה של מגע באובונטו

touch היא פקודת לינוקס נפוצה ליצירת קובץ ריק או לשנות את חותמות הזמן של הקובץ (זמן גישה לקובץ, תאריך אחרון או שינוי).

חותמות זמן

קבצי Linux מכילים שלוש חותמות זמן: ctime, mtime ו-atime. חותמות זמן אלו מוסברות להלן:

    זמן: הוא כולל פרטים על מתי תוכן הקובץ נקרא עם פקודות או כלים להצגת תוכן הקובץ כמו head, grep, cat, vim, vi, nano, less וכו'. חותמת הזמן של atime משתנה ומתעדכנת בכל פעם שהיא נבדק. mtime: הוא מציג את השינוי האחרון של התוכן של קובץ, כגון שמו, אבל רק את הקובץ עצמו, לא את ההרשאה או הבעלים שלו. ctime: כמו כן, ctime מייצג כאשר קובץ כלשהו משתנה, אך הוא גם מתעדכן אם ההרשאה, הקבוצה או הגישה לבעלות על קובץ כלשהו משתנים. אנחנו יכולים לערוך את ה-mtime ואת ה-atime, אבל אנחנו לא יכולים לשנות את ה-ctime. השעה תעודכן אם ההרשאות של קובץ ישתנו או אם הקבצים ישתנו או יקראו.

תחביר:

 touch  

דוגמא:

 touch myfile1  

פקודה TOUCH

תסתכל למעלה, יצרנו שני קבצים, כלומר 'myfile1' ו-'myfile2' באמצעות פקודת מגע. כדי ליצור קבצים מרובים פשוט הקלד את כל שמות הקבצים בפקודת מגע אחת ואחריה מקש Enter. לדוגמה, אם תרצה ליצור את 'myfile1' ו-'myfile2' בו-זמנית, הפקודה שלך תהיה:

 touch myfile1 myfile2  

גע באפשרויות

אוֹפְּצִיָה פוּנקצִיָה
לגעת -א כדי לשנות את הגישה לקובץ וזמן השינוי.
מגע -מ הוא משמש רק לשינוי זמן של קובץ.
לגעת ב-r לעדכון זמן של קובץ אחד בהתייחסות לקובץ השני.
מגע -ת כדי ליצור קובץ על ידי ציון השעה.
לגעת -ג זה לא יוצר קובץ ריק.
-d=, --date= אפשרות זו משמשת לשינוי חותמת הזמן עם מחרוזת תאריך.
-ה, --אין-התייחסות זה משנה את חותמת הזמן של קישור סמלי.
-f אין השפעה. האפשרות מאלצת שינויים ב-BSD ישן יותר.
--גרסה, -v זה מציג את גרסת התוכנית.
--עֶזרָה זה מציג את תפריט העזרה.

Linux touch -פקודה

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

תחביר:

 touch -a  

דוגמא:

 touch -a usr  

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

גע בפקודה

בתמונת המצב שלמעלה השתמשנו בפקודה 'stat' (שאותה נלמד במדריך מאוחר יותר) רק כדי לבדוק את המצב של הספרייה שלנו (usr). אז אל תתבלבלו עם זה. עכשיו אתה יכול להתאים את זמן הגישה של הספרייה (usr) לפני ואחרי העברת הפקודה 'touch -a usr. זה לקח את זמן הגישה המוגדר כברירת מחדל של המערכת שלנו.

פקודת Linux touch -m

אפשרות המגע '-m' תעזור לך לשנות רק את זמן השינוי של קובץ.

תחביר:

 touch -m  

דוגמא:

 touch -m usr  
פקודה TOUCH

שימו לב בזהירות בתמונת המצב לעיל, רק זמן השינוי השתנה.

אפשרות Linux touch -r

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

בדוגמה למטה, אנו רוצים לשנות את חותמת הזמן של 'Demo.txt' בהתייחס ל 'demo.txt' . ראשית אתה יכול לכתוב את זה בתור,

 touch -r demo.txt Demo.txt  

אוֹ

 touch Demo.txt -r demo.txt  

ראשית נראה את המצב של שני הקבצים לפני השימוש בפקודה מגע.

פקודה TOUCH

עכשיו לאחר השימוש touch -r demo.txt Demo.txt פקודה, זמן של Demo.txt השתנה בהתייחסות לזמן של demo.txt

פקודה TOUCH

פקודת Linux touch -t

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

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

פורמט הזמן יהיה:

 touch -t YYYYMMDDhhmm.ss  

צילום המסך למטה מציג את הסטטוס של קובץ 2.webp לפני פקודת המגע,

פקודה TOUCH -t

צילום מסך זה מראה שהזמן של קובץ 2.webp השתנה לפי הזמן שצוין.

פקודה TOUCH

פקודת Linux touch -c

שימוש באפשרות 'c' עם פקודת מגע לא ייצור קובץ ריק, אם הקובץ הזה לא קיים.

תחביר:

 touch -c  

דוגמא:

 touch -c movie  

פקודה TOUCH

באיור לעיל, רצינו ליצור קובץ 'סרט' אבל עם אפשרות 'c' לא נוצר קובץ.

הגדר חותמת זמן מסוימת

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

 touch -t  

פורמט חותמת הזמן רודף דפוס מסוים:

 [[CC]YY]MMDDhhmm[.ss]  

איפה,

    CC: אלו הן שתי הספרות הראשוניות של השנה. YY: אלו הן שתי הספרות האחרונות לשנה. מ'מ: זה מראה את החודש. DD: זה מראה את היום. חח: זה מראה את השעה. מ'מ: זה מציג את הדקות. ss: זה מראה את השניות.

הגדרת חותמת זמן של קובץ עם מחרוזת הנתונים

אנו יכולים להשתמש בפקודת המגע עם הדגל -d להגדרת חותמת זמן עם מחרוזת תאריך. התחביר שלו הוא כדלקמן:

 touch -d  

מחרוזת התאריך היא פורמט זמן מתכוונן ומאפשרת מספר פורמטים של טקסט קריא אנושי. כמה דוגמאות הן כדלקמן:

  • תאריכים בלוח השנה, למשל, 19 באוגוסט 2020.
  • שעה ביום, למשל, 21:28 או 7:03 בבוקר.
  • ימים בשבוע, למשל, שלישי, רביעי וכו'.
  • זמן יחסי, למשל, לפני 8 שנים, ביום רביעי הבא, אתמול וכו'.