هذا عديم الفائدة تمامًا ، وغير ضروري في الاستخدام العملي ، ولكنه منشور صغير ممتع حول الدلائل في أنظمة * nix. الجمعة هو نفسه.
في المقابلات ، غالبًا ما تتسرب الأسئلة المملّة حول الإينودات ، كل الملفات ، والتي يمكن أن يجيب عليها القليلون بسلام. ولكن إذا قمت بحفر أعمق قليلاً ، يمكنك أن تجد أشياء غريبة.
لفهم المنشور بضع نقاط:
- كل شيء ملف. الدليل هو أيضا ملف
- يتم تخزين بيانات التعريف inode inode من الملف ، ولكن لا يتم تخزين اسم الملف هناك
- يتم تخزين اسم الملف في بيانات الدليل
- يعتمد حجم الدليل ، وهو نفس الدليل الظاهر في ls والافتراضيات إلى 4 كيلوبايت ، على عدد الملفات في الدليل وطول أسمائهم
- من الواضح ، كلما زاد عدد الملفات ، زاد حجم الدليل
والآن بالنسبة للجزء المثير للاهتمام: قم بإنشاء دليل به مليون ملف ، تحقق من حجم الدليل ، ثم امسح كل الملفات وانظر إلى حجم الدليل.
$ mkdir niceDir && cd niceDir
كما ترون ، لم يتغير حجم الدليل ، على الرغم من أنه يبدو :)
يمكنك إصلاح حجم الدليل (دون الحذف) فقط مع fsck (وخيار -D) في حالة إلغاء التثبيت.
لكن عندما
بحثت عن سبب ذلك ، اتضح أنه قبل 10 سنوات ،
نوقش هذا السلوك بالفعل في اللغة الإنجليزية. وفقا للمطورين ، الإصلاح ببساطة لا يستحق كل هذا الجهد.