ڊائريڪٽرن جي سائيز اسان جي ڪوشش جي قابل ناهي

هي هڪ مڪمل طور تي بيڪار آهي، عملي ايپليڪيشن ۾ غير ضروري، پر * نڪس سسٽم ۾ ڊائريڪٽرن جي باري ۾ مزاحيه ننڍڙي پوسٽ. جمعو آهي.

انٽرويو دوران، بورنگ سوال اڪثر انوڊس جي باري ۾ پيدا ٿيندا آهن، سڀ ڪجهه فائلون آهن، جن جا ٿورا ماڻهو جواب ڏئي سگھن ٿا. پر جيڪڏهن توهان ٿوري گهڻي کوٽائي ڪريو ته توهان دلچسپ شيون ڳولي سگهو ٿا.

پوسٽ کي سمجھڻ لاء، ڪجھ پوائنٽون:

  • سڀ ڪجهه هڪ فائل آهي. ڊاريڪٽري پڻ هڪ فائل آهي
  • انوڊ فائل مان ميٽا ڊيٽا کي ذخيرو ڪري ٿو، پر فائل جو نالو اتي محفوظ نه آهي
  • فائل جو نالو ڊاريڪٽري ڊيٽا ۾ ذخيرو ٿيل آهي
  • ڊاريڪٽري جي سائيز، ساڳي ئي جيڪا ls ۾ ڏيکاريل آهي ۽ ڊفالٽ طور 4Kb آهي، ڊاريڪٽري ۾ فائلن جي تعداد ۽ انهن جي نالن جي ڊيگهه تي منحصر آهي.
  • ظاهر آهي، وڌيڪ فائلون، وڏي ڊاريڪٽري سائيز

ھاڻي اھو دلچسپ حصو آھي: اسان ھڪڙي ڊاريڪٽري ٺاھيون ٿا ھڪڙي ملين فائلن سان، ڊاريڪٽري جي سائيز کي چيڪ ڪريو، ۽ پوء سڀني فائلن کي حذف ڪريو ۽ ڊاريڪٽري جي سائيز کي ڏسو.

$ mkdir niceDir && cd niceDir
# в зависимости от скорости носителя, следующая команда может занять 2-10 минут
$ for ((i=1;i<133700;i++)); do touch long_long_looong_man_sakeru_$i ; done
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug 2 13:37 .
$ find . -type f -delete
$ ls -l
total 0
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug  2 13:37 .

جئين توهان ڏسي سگهو ٿا، ڊاريڪٽري سائيز تبديل نه ڪئي آهي، جيتوڻيڪ اهو لڳي ها :)

توھان صرف ڊاريڪٽري جي سائيز کي درست ڪري سگھو ٿا (ان کي ڊاھڻ کان سواء) fsck (۽ -D اختيار) استعمال ڪندي غير نصب ٿيل حالت ۾.

پر جڏهن مون اهو معلوم ڪيو ته ائين ڇو آهي، معلوم ٿيو ته 10 سال اڳ به اهڙو رويو هو بحث ڪيو lkml ۾. ۽ ڊولپرز جي مطابق، درست ڪرڻ صرف ڪوشش جي قابل ناهي.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو