Лавлахуудын хэмжээ нь бидний хүчин чармайлт гаргахад үнэ цэнэтэй зүйл биш юм

Энэ бол огт хэрэггүй, практик хэрэглээнд шаардлагагүй, гэхдээ *nix систем дэх лавлахуудын тухай хөгжилтэй бяцхан нийтлэл юм. Баасан гариг ​​боллоо.

Ярилцлагын үеэр inode-ийн тухай уйтгартай асуултууд ихэвчлэн гарч ирдэг бөгөөд цөөхөн хүн ухаалаг хариулж чаддаг. Гэхдээ жаахан гүнзгийрүүлбэл сонирхолтой зүйлсийг олж харах боломжтой.

Нийтлэлийг ойлгохын тулд цөөн хэдэн зүйлийг анхаарч үзээрэй.

  • бүх зүйл файл. директор нь бас файл юм
  • inode нь файлын мета өгөгдлийг хадгалдаг боловч файлын нэрийг тэнд хадгалдаггүй
  • файлын нэр нь лавлах өгөгдөлд хадгалагдана
  • Лавлах сангийн хэмжээ нь 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

сэтгэгдэл нэмэх