क्यों निर्देशिका / घर, / usr, / var, आदि सभी में एक ही इनकोड संख्या (2) है?


31

मुझे लगता है कि मेरी रूट निर्देशिका के तहत, कुछ निर्देशिकाएं हैं जिनके पास एक ही इनोड संख्या है:

$ ls -aid */ .*/

2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/

मुझे केवल यह पता है कि निर्देशिकाओं के नाम मूल निर्देशिका में रखे गए हैं, और उनका डेटा निर्देशिकाओं के इनकोड में रखा गया है।

मैं यहाँ उलझन में हूँ।

यह वही है जो मुझे लगता है कि जब मैं pathname / home / user1 को ट्रेस करता हूं।

  • पहले मैं इनोड 2 में आता हूं जो रूट डायरेक्टरी है जिसमें डायरेक्टरी लिस्ट होती है।
  • फिर मुझे इनोड 2 के साथ जोड़े गए घर का नाम मिला।
  • तो मैं डिस्क 2 को खोजने के लिए डिस्क पर वापस जाता हूं?
  • और मुझे यहाँ user1 नाम मिला है?

जवाबों:


39

वे विभिन्न उपकरणों पर हैं।

यदि हम के आउटपुट को statदेखते हैं, तो हम उस डिवाइस को भी देख सकते हैं जो फ़ाइल चालू है:

# stat / | grep Inode
Device: 801h/2049d      Inode: 2           Links: 24
# stat /opt | grep Inode
Device: 803h/2051d      Inode: 2           Links: 5

इसलिए वे दोनों अलग-अलग उपकरणों / फाइल सिस्टम पर हैं। इनकोड संख्या केवल एक फ़ाइल सिस्टम के भीतर अद्वितीय हैं, इसलिए यहां कुछ भी असामान्य नहीं है। Ext2 / 3/4 इनोड 2 पर भी हमेशा रूट डायरेक्टरी होती है , इसलिए हम जानते हैं कि वे अपने संबंधित फाइल सिस्टम की जड़ें हैं।

पूरे सिस्टम पर डिवाइस नंबर + इनोड का संयोजन अद्वितीय होने की संभावना है। (ऐसे फाइल सिस्टम हैं जिनमें पारंपरिक अर्थों में इनोड्स नहीं हैं, लेकिन मुझे लगता है कि उन्हें अभी भी अपनी जगह पर किसी विशिष्ट पहचानकर्ता के कुछ प्रकार नकली हैं।)

वहां मौजूद डिवाइस नंबर वही दिखाई देते हैं जो डिवाइस नोड्स पर दिखाए जाते हैं, इसलिए /dev/sda1फाइलसिस्टम को वहीं /पर रखें:

# ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Sep 21 10:45 /dev/sda1

धन्यवाद, अब मुझे स्टैट मिलता है, मेरे लिए उपयोगी है, मैं इसका उपयोग करना सीखूंगा।
youxiao

1
रिकॉर्ड के लिए, सभी फ़ाइल सिस्टम में कुछ समतुल्य होते हैं, तब भी जब वे गतिशील रूप से इनोड्स आवंटित करते हैं। उदाहरण के लिए, BTRFS पर (जो ext2 / 3/4 के स्थिर इनोड टेबल के विपरीत डायनामिक इनोड आवंटन करता है), इस तरह से उपयोग किया जाने वाला विशेष इनोड वैल्यू 256 है (क्योंकि सब कुछ मेटाडोर के पेड़ों में विशेष प्रविष्टियों के लिए आरक्षित है) ।
ऑस्टिन हेमेलर्गरन डे

1
@AustinHemmelgarn, FAT या ISO9660 जैसे कुछ फाइल सिस्टम में शब्द के किसी भी सार्थक अर्थ में इनोड नहीं होते हैं। फाइलसिस्टम ड्राइवर कुछ मामूली-सा काम करता है, ताकि यह बाकी व्यवस्था को देख सके।
मार्क

@ मर्क: इसे परिभाषित करने वाले मानक के अनुसार शब्द का एकमात्र "अर्थपूर्ण अर्थ" "डिवाइस के भीतर सीरियल नंबर [अद्वितीय" है। एक विशेष ऑन-डिस्क डेटा संरचना के रूप में इनोड्स के बारे में सोचने पर जोर देते हुए पीछे की ओर के रूप में यांत्रिक टेलेटिप के रूप में टिट्स के बारे में सोच रहे हैं।
आर ..

1
@R .., मुझे लगता है कि इस परिभाषा से FAT फाइल सिस्टम में इनकोड हैं, लेकिन FAT फाइल सिस्टम पर दिए गए फाइल के लिए "फाइल सीरियल नंबर" माउंट के पार स्थिर नहीं है, या समय के साथ एक भी माउंट पर नहीं है: यदि मेमोरी दबाव कैश से बेदखल किए जाने के लिए एक संश्लेषित इनोड संरचना का कारण बनता है, फ़ाइल को अगली बार कुछ समय मिलता है जब कुछ अपने इनोड डेटा का अनुरोध करता है।
मार्क

24

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

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