फ़ाइल सिस्टम को ट्रैवर्स किए बिना किसी फ़ाइल के सभी हार्ड-लिंक ढूंढना


9

मैंने इस पृष्ठ में देखा है कि इनोड्स के पास यह जानने के लिए कि कितने फाइल (पढ़ें: "डायरेक्टरी एंट्री") का लिंक काउंटर है। क्या यह जानने का कोई तरीका है कि कौन सी निर्देशिकाओं में संपूर्ण फ़ाइल सिस्टम को ट्रैवर्स किए बिना ऐसी प्रविष्टियाँ हैं? क्या यह जानकारी कहीं संग्रहित है?

struct inode {
    kdev_t                       i_dev;
    unsigned long                i_ino;
    umode_t                      i_mode;
    nlink_t                      i_nlink;
    uid_t                        i_uid;
    gid_t                        i_gid;
    …
};

सबसे तेज विधि - केवल ट्रैवर्सल के साथ - हो सकती है find -inum <n> -samefile path
ott--

2
@ ott-- findका उपयोग या तो दोनों के साथ किया जाता है लेकिन दोनों के साथ नहीं। -inum -samefile
हॉके लैगिंग

@HaLLaging तुम सही हो, उनमें से केवल एक।
ott--

जवाबों:


10

नं। निर्देशिका प्रविष्टियां इंगित करती हैं कि इनोड्स एक तरफ़ा लिंक हैं। इनोडेस निर्देशिका प्रविष्टियों में वापस इंगित नहीं करते हैं।

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

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