Computer >> कंप्यूटर >  >> प्रणाली >> Linux

Linux फ़ाइल टाइमस्टैम्प को समझना:mtime, ctime, और atime

Linux ऑपरेटिंग सिस्टम आपके सिस्टम पर प्रत्येक फ़ाइल के लिए तीन टाइमस्टैम्प का ट्रैक रखता है। ये टाइमस्टैम्प आपको यह पता लगाने में सक्षम करते हैं कि किसी फ़ाइल को अंतिम बार कब अपडेट किया गया था। लेकिन इन सबका क्या मतलब है? और आप किसी फ़ाइल के लिए इन समयों का पता कैसे लगाते हैं? जब निर्देशिकाओं की बात आती है तो क्या कोई अंतर होता है?

समय, समय और समय की समझ इन सभी प्रश्नों का उत्तर दे सकती है। ये तीन टाइमस्टैम्प हैं जिन्हें यूनिक्स फाइल सिस्टम ट्रैक करता है। यदि आपको कभी भी इस बारे में विवरण जानने की आवश्यकता है कि क्या बदला और कब, पढ़ें।

तीन यूनिक्स टाइमस्टैम्प क्या हैं?

प्रत्येक फ़ाइल में तीन टाइमस्टैम्प जुड़े होते हैं। Linux इन्हें यूनिक्स समय प्रारूप में संग्रहीत करता है जो युग के बाद से सेकंड को मापता है। तीन टाइमस्टैम्प को आमतौर पर एटाइम, सीटाइम और माइटाइम कहा जाता है।

एमटाइम सबसे आम और अक्सर सबसे उपयोगी है। इसका अर्थ है संशोधित समय . यह वह समय है जब फ़ाइल की सामग्री अंतिम बार डिस्क पर लिखी गई थी।

थोड़ा अलग है सीटाइम जिसका अर्थ है समय बदलें . यह टाइमस्टैम्प स्वामित्व और अनुमतियों जैसे मेटाडेटा परिवर्तनों को ट्रैक करता है। इसमें एक फ़ाइल का नाम बदलना शामिल है - कम से कम, विशिष्ट आधुनिक Linux OSes पर। लेकिन यह तब भी अपडेट होता है जब फ़ाइल की सामग्री बदलती है, इसलिए यह हमेशा माइटाइम की तरह अप-टू-डेट रहती है।

तीसरा टाइमस्टैम्प समय . है , जो पिछली बार किसी के द्वारा फ़ाइल तक पहुँचने पर संग्रहीत करता है।

निर्देशिकाओं पर टाइमस्टैम्प कैसे लागू होते हैं

एक लिनक्स निर्देशिका, अनिवार्य रूप से, उस निर्देशिका में फाइलों की एक सूची है। इसलिए किसी निर्देशिका के अंदर फ़ाइल बनाने से उस निर्देशिका का माइम अपडेट हो जाएगा। ls . का उपयोग करके निर्देशिका में फ़ाइलों को सूचीबद्ध करना कमांड, उदाहरण के लिए, अपने एक्सेस टाइम को अपडेट करता है। और, जैसा कि एक फ़ाइल के साथ होता है, किसी निर्देशिका की अनुमति या नाम बदलने से उसका समय अपडेट हो जाता है।

निर्माण समय के बारे में क्या?

आपको यह जानकर आश्चर्य हो सकता है कि लिनक्स केवल निर्माण समय का ट्रैक नहीं रखता है। आप शुरू में यह मान सकते हैं कि सीटाइम सृजन समय के लिए खड़ा है। समान रूप से, आप इसका पता लगाने में सक्षम होने के लिए इसे एक बहुत ही उपयोगी चीज़ के रूप में सोच सकते हैं।

कई एप्लिकेशन हर बार स्क्रैच से फाइल बनाकर सेव करते हैं। यह निर्माण समय का उपयोग भ्रामक बना देगा।

अलग-अलग टाइमस्टैम्प कैसे देखें

टाइमस्टैम्प जानकारी प्राप्त करने का सबसे आसान तरीका है ls आज्ञा। डिफ़ॉल्ट लंबा प्रारूप माइम के लिए विवरण दिखाता है:

$ 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

आप इसके बजाय -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

अंतिम पंक्ति पुष्टि करती है कि इस फ़ाइल का माइम समय से भिन्न है। अंत में, -c . का उपयोग करें समय देखने के लिए झंडा:

$ 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

इस बार, हम पुष्टि करते हैं कि तीनों बार अलग और सही हैं:हमने उस क्रम में संशोधित किया, फिर एक्सेस किया, फिर फ़ाइल को बदल दिया।

एलएस का एक विकल्प है स्टेट आज्ञा। यह कमांड फ़ाइल के इनोड से निम्न-स्तरीय विवरण प्रदर्शित करता है। इससे एक बार में तीनों बार जांच करना आसान हो जाता है। यह अनजाने -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 को वर्तमान समय पर सेट करेगा। आप -t . के साथ एक अलग समय निर्धारित कर सकते हैं झंडा:

touch -t 202103061200 tmp

आप -m . के साथ केवल mtime या atime भी सेट कर सकते हैं और -a झंडे क्रमशः:

touch -t 202103061300 -m tmp

ध्यान दें कि जब हम समय या समय निर्धारित करते हैं तो समय हमेशा अपडेट होता है।

टाइमस्टैम्प के आधार पर फ़ाइलें कैसे खोजें

ढूंढें कमांड एक अन्य उपकरण है जो टाइमस्टैम्प पर कार्य करता है। यह atime, ctime, या mtime के आधार पर फ़ाइलों को फ़िल्टर कर सकता है। उदाहरण के लिए:

find . -amin 15

ठीक 15 मिनट पहले एक्सेस की गई फाइलों को ढूंढेगा, जबकि:

find . -mtime -2

पिछले दो दिनों के भीतर संशोधित फ़ाइलें मिलेंगी।

Linux हर फ़ाइल तीन बार ट्रैक करता है

सबसे अधिक संदर्भित फ़ाइल टाइमस्टैम्प mtime है। उदाहरण के लिए, यह वह दिनांक और समय है जो फ़ाइल सूची दिखाती है। लेकिन अन्य दो टाइमस्टैम्प भी उपयोगी हो सकते हैं, बशर्ते आप समझते हों कि वे क्या कह रहे हैं। विशेष रूप से, हमेशा याद रखें कि ctime परिवर्तन का प्रतिनिधित्व करता है समय, न कि सृजन समय।

टच और स्टेट जैसे कमांड लिनक्स कमांड लाइन टूलबॉक्स के उपयोगी सदस्य हैं। ये आदेश आपको नई फ़ाइलें शीघ्रता से बनाने की अनुमति देकर आपके Linux वर्कफ़्लो को बेहतर बनाएंगे.


  1. लिनक्स में शटडाउन और रीबूट तिथि की जांच कैसे करें

    ऐसे बहुत से कारण हैं जिनकी वजह से आप यह पता लगाना चाहते हैं कि आपका Linux कंप्यूटर कब बंद हुआ, फिर से चालू हुआ, या यह कितने समय से चल रहा है। अधिकांश समय यह जानकारी किसी समस्या को डीबग करने में अमूल्य होती है जो तब हुई होगी जब कोई नहीं देख रहा था। शुक्र है, अधिकांश वितरणों पर लिनक्स सावधानीपूर्वक सि

  1. लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

    लिनक्स एक बहु-उपयोगकर्ता, समय साझा करने वाला सिस्टम है, जिसका अर्थ है कि एक से अधिक उपयोगकर्ता लॉग इन कर सकते हैं और सिस्टम का उपयोग कर सकते हैं। और सिस्टम एडमिनिस्ट्रेटर के पास विभिन्न पहलुओं को प्रबंधित करने का कार्य होता है कि कैसे अलग-अलग उपयोगकर्ता सॉफ़्टवेयर को इंस्टॉल/अपडेट/निकालने, प्रोग्राम

  1. चामोद 777 क्या है और यह लिनक्स में क्या करता है?

    यह लेख chmod 777 की खोज करता है, जो एक Linux कमांड है जो उपयोगकर्ता, समूह और अन्य लोगों को सभी अधिकार देता है। एक नए Linux उपयोगकर्ता, वेब डेवलपर या सिस्टम व्यवस्थापक के रूप में, आपको संभवतः टाइप करने का निर्देश दिया गया है: chmod 777 /path/to/file/or/folder ...किसी समय आपके Linux शेल में। जब भी