Энэ бол огт хэрэггүй, практик хэрэглээнд шаардлагагүй, гэхдээ *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 жилийн өмнө ийм зан авир аль хэдийн байсан нь тогтоогдсон
Эх сурвалж: www.habr.com