फ़ाइल संशोधन या परिवर्तन के रूप में क्या मायने रखता है?


जवाबों:


9

नाम बदलने के समय को अद्यतन करता है:

$ mkdir tmp
$ cd tmp

$ echo abc > a
$ stat a
  File: `a'
  Size: 4               Blocks: 8          IO Block: 4096   regular file
Device: 26h/38d Inode: 5038682     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000 /  zelda   Gid: ( 1000/   zelda)
Access: 2013-12-12 07:06:58.981107444 +0100
Modify: 2013-12-12 07:06:58.981107444 +0100
Change: 2013-12-12 07:06:58.981107444 +0100
 Birth: -

$ mv a b
$ stat b
  File: `b'
  Size: 4               Blocks: 8          IO Block: 4096   regular file
Device: 26h/38d Inode: 5038682     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/  zelda)   Gid: ( 1000/   zelda)
Access: 2013-12-12 07:06:58.981107444 +0100
Modify: 2013-12-12 07:06:58.981107444 +0100
Change: 2013-12-12 07:07:14.893238472 +0100
 Birth: -

किसी फ़ाइल की सामग्री को पढ़ते समय एक्सेस समय अपडेट किया जाता है। जब आप वास्तव में फ़ाइल को अपडेट करते हैं तो संशोधित करें (संशोधन के लिए खोलना संशोधित समय को बदलने के लिए पर्याप्त नहीं है)।


क्या किसी फ़ाइल की प्रतिलिपि बनाने और चिपकाने से नई फ़ाइल पर उसका "संशोधित" समय बदल जाता है? क्या Ctrl + X और चिपकाने से "परिवर्तन" समय बदल जाता है?

1
एक प्रतिलिपि एक नई फ़ाइल बनाता है, जिसमें एक नया मूल्य (सभी समान) के साथ संशोधित, प्रवेश और परिवर्तन होता है। एक संपादक में कुछ चिपकाना (और फिर बचत) तीनों को अपडेट करता है (बाद में टाइमस्टैम्प के साथ अन्य दो की तुलना में बदलें, निश्चित रूप से आपके बचाने के बाद ही)
ज़ेल्डा

मेरा मतलब फ़ाइल पर CTRL + x और कहीं और CTRL + v का उपयोग करना था।

यह कमांडलाइन टूल cpऔर mv, और viसंपादन के लिए उपयोग कर रहा है। अन्य संपादक, या आपका डेस्कटॉप अलग तरीके से कार्य को संभाल सकता है, और अधिक टाइमस्टैम्प को अपडेट कर सकता है।
ज़ेल्डा

Eg Nautilus Ctrl + X का उपयोग करके एक्सेस और संशोधित नहीं करता है तो Ctrl + V, केवल चेंज अलग है, जैसेmv
Zelda

9

फ़ाइल के माइम को प्रभावित करने वाला एक संशोधन फ़ाइल के डेटा का एक बदलाव है: एक गैर-बायरो राशि का एक बाइट, या एक ट्रंकेशन जो फ़ाइल को संशोधित करता है। फ़ाइल बनाना वर्तमान समय के साथ-साथ इसके समय को भी निर्धारित करता है। लिखने के लिए एक फ़ाइल खोलने से केवल माइम प्रभावित नहीं होता है, यह मानते हुए कि फ़ाइल बनाई नहीं गई है या काट दी गई है।

एक फ़ाइल से पढ़ना (यदि बाइट्स की एक नॉनज़ेरो संख्या पढ़ी जाती है) या किसी फ़ाइल को निष्पादित करने से उसका समय वर्तमान में सेट हो जाता है। पढ़ने के लिए एक फ़ाइल खोलने से कभी भी एनिमे को प्रभावित नहीं किया जाता है। लिनक्स पर, यह अब ज्यादातर परिस्थितियों में डिफ़ॉल्ट रूप से अक्षम है; atimeमाउंट विकल्प पुनर्स्थापित, अद्यतन atime जबकि noatimeमाउंट विकल्प को अक्षम कर उन्हें पूरी तरह से।

प्रोग्राम एक फ़ाइल के माइम और एटम को बदल सकते हैं; ऐसा करने का मूल आदेश है touch। कुछ फ़ाइल कॉपी प्रोग्राम मूल cp -pया उदाहरण के लिए कॉपी को उसी माइम पर सेट करते हैं rsync -t

फ़ाइल के समय को प्रभावित करने वाला परिवर्तन फ़ाइल के मेटाडेटा का परिवर्तन है: अनुमतियाँ, स्वामी, समय, लिंक गणना, आदि। फ़ाइल का नाम बदलना भी इसके समय को अद्यतन करता है। फ़ाइल डेटा के परिवर्तन भी समय को प्रभावित करते हैं, लेकिन फ़ाइल को पढ़ने से उस समय में परिवर्तन नहीं होता है, भले ही यह समय बदल जाए। वर्तमान समय में सेट करने के अलावा किसी भी तरह से समय को बदलना असंभव है।


1

अन्य उत्तरों द्वारा उल्लेखित एक अतिरिक्त अनुभवजन्य अवलोकन:

O_TRUNCमूल रूप से फ़ाइल खाली होने पर भी बदलाव के साथ लिखने के लिए फ़ाइल खोलना ।

ऐसा कम से कम लिनक्स 3.10 पर ext3 पर लगता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.