"डॉट" फ़ाइल का आकार क्यों हो सकता है "।" 4096 से अधिक?


10

आज मुझे 4 एमबी के आकार के साथ एक "खाली" निर्देशिका मिली।

इसकी कोई दृश्य सामग्री नहीं थी, इसलिए मैंने कोशिश की ls -lah। इससे मुझे कुछ छिपी हुई फाइलें मिलीं (बहुत बड़ी नहीं)। इस कारण के लिए खोज कि निर्देशिका इतनी बड़ी थी कि मैंने पाया कि डॉट फ़ाइल ( .) का आकार 3.9 एमबी था।

उस फाइल में क्या जमा होता है? क्या यह उसी निर्देशिका के लिए एक तरह का लिंक नहीं है?

यहाँ शेल आउटपुट (अज्ञात) है:

-bash# more /proc/version
Linux version 2.6.18-8.1.15.el5 (mockbuild@builder6.centos.org) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Mon Oct 22 08:32:04 EDT 2007
-bash# pwd
/data/foo/bar/tmp
-bash# ls -lah
total 4.1M
drwxrwxrwx  3 nobody nobody 3.9M Nov 21 10:02 .
drwxrwxrwx 16 nobody nobody 4.0K Aug 27 17:26 ..
-rw-------  1 root   root    20K Oct 25 14:06 .bash_history
...

जवाबों:


14

हर डायरेक्टरी की तरह डॉट फाइल में इस डायरेक्टरी की फाइलों और उनके इनोड नंबरों के नामों की सूची होती है। इसलिए यदि आपके पास एक बार उस निर्देशिका में बहुत सारी फाइलें हैं ("tmp" निर्देशिका के लिए संभावना नहीं है) जो कि इस आकार में निर्देशिका प्रविष्टि को विकसित कर सकती है।

फ़ाइलें चले जाने के बाद, फ़ाइल सिस्टम स्वचालित रूप से निर्देशिका फ़ाइल को फिर से सिकोड़ नहीं पाता है।

आप एक नई खाली निर्देशिका बनाकर अपने आप से इस पर प्रयोग कर सकते ls -laहैं, प्रारंभिक आकार (मेरी मशीन पर 4096) को देखने के लिए इसे करें , फिर touchबहुत सारी फ़ाइलों को निगलेगा, जिससे निर्देशिका का आकार बढ़ेगा।

(हाँ, मुझे पता है कि मैं यहाँ बहुत सारे विवरणों के बारे में गलत जानकारी प्राप्त कर रहा / रही हूँ। लेकिन ओपी ने पूर्ण विवरण के लिए नहीं पूछा कि EXT * फाइल सिस्टम कैसे काम करता है।)


2
धन्यवाद, यह घटना की व्याख्या करता है। जिज्ञासा से दो सवाल: निर्देशिका फ़ाइल फिर से कब सिकुड़ जाएगी? और क्या उस फ़ाइल की सामग्री को दिखाने का कोई तरीका है?
मार्टिन हेन्निंग्स

3
(1) यह भी देखें unix.stackexchange.com/questions/38639/… - संक्षिप्त उत्तर, निर्देशिका को हटा दें और इसे पुनः बनाएँ।
ब्रिस्टल

2
(२) दुख की बात है, अब नहीं। यह पुराने UNIX संस्करणों पर संभव हुआ करता था।
ब्रिस्टल

आप e2fsck -Dफ़ाइल सिस्टम पर भी चल सकते हैं , लेकिन इसके लिए इसे अनमाउंट करना होगा।
Psusi

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