2012-05-22 9 views
5

हम एक आदेश पर अमल करते हैं:'एमवी ए बी' निष्पादित: क्या 'इनोड' बदल दिया जाएगा?

mv A B 

तो फ़ाइल एक की आइनोड में फ़ील्ड पर क्या होगा? क्या यह बदल जाएगा?

मुझे नहीं लगता कि इसे फ़ाइल के नाम को बदलकर बदलना चाहिए, लेकिन मुझे यकीन नहीं है।

उत्तर

8

यह कम से कम आंशिक रूप से निर्भर करता है कि ए और बी क्या हैं। यदि आप फ़ाइल सिस्टम के बीच आगे बढ़ रहे हैं, तो इनोड लगभग निश्चित रूप से अलग होगा।

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

उदाहरण के लिए, इनोड अवधारणा के साथ एक संस्करण फ़ाइल सिस्टम हो सकता है जो आपको एक नया इनोड देता है क्योंकि यह नाम परिवर्तन को ट्रैक करना चाहता है।

+0

यदि हम एक ही फाइल सिस्टम में हैं, तो? – Luv

+1

@Luv - मुझे [इस पृष्ठ] पर स्पष्टीकरण मिलता है (http://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.html) काफी उपयोगी है। एक निर्देशिका बस 'नाम' से 'इनोड' तक मैपिंग है। इसलिए एक 'एमवी' जिसे भौतिक रूप से डेटा स्थानांतरित करने की आवश्यकता नहीं है, वह निर्देशिका प्रविष्टि में बदलाव होगा। 'इनोड' में कोई बदलाव नहीं है। – ArjunShankar

+1

@paxdiablo - यह एक अच्छा जवाब है। वर्जनिंग फाइल सिस्टम के बारे में आपका मुद्दा दिलचस्प है। उदाहरण के लिए सौहार्दपूर्ण व्यवहार होने के लिए यह बहुत महंगा होगा, अगर फ़ाइल के लिए संकेत देने वाले हार्ड लिंक हैं जो 'mv'ed थे। – ArjunShankar

0

यह निर्भर करता है।

this site पर एक अच्छा उदाहरण है जो दिखाता है कि इनोड एक ही रह सकता है। लेकिन मैं इस व्यवहार पर भरोसा नहीं करता, मुझे संदेह है कि यह किसी भी मानक में निर्दिष्ट है।

संबंधित मुद्दे