Id-daqs tad-direttorju ma jiswax l-isforz tagħna

Din hija post għal kollox inutli, mhux meħtieġ fl-applikazzjoni prattika, iżda ftit umoristiċi dwar direttorji f'sistemi * nix. Wasal il-Ġimgħa.

Waqt l-intervisti, ħafna drabi jqumu mistoqsijiet boring dwar inodes, everything-is-files, li ftit nies jistgħu jwieġbu b'mod sensibbli. Imma jekk tħaffer ftit aktar fil-fond, tista 'ssib affarijiet interessanti.

Biex tifhem il-post, ftit punti:

  • kollox huwa fajl. direttorju huwa wkoll fajl
  • l-inode jaħżen il-metadata mill-fajl, iżda l-isem tal-fajl mhuwiex maħżun hemmhekk
  • l-isem tal-fajl huwa maħżun fid-data tad-direttorju
  • Id-daqs tad-direttorju, l-istess wieħed li jidher f'ls u huwa 4Kb awtomatikament, jiddependi fuq in-numru ta 'fajls fid-direttorju u t-tul ta' l-ismijiet tagħhom
  • Ovvjament, iktar ma jkun hemm fajls, iktar ikun kbir id-daqs tad-direttorju

Issa hawn il-parti interessanti: noħolqu direttorju b'miljun fajl, iċċekkja d-daqs tad-direttorju, u mbagħad ħassar il-fajls kollha u nħarsu lejn id-daqs tad-direttorju.

$ 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 .

Kif tistgħu taraw, id-daqs tad-direttorju ma nbidilx, għalkemm jidher :)

Tista' tiffissa biss id-daqs ta' direttorju (mingħajr ma tħassarha) billi tuża fsck (u l-għażla -D) fi stat mhux immuntat.

Imma meta mort infittex għaliex dan kien hekk, irriżulta li 10 snin ilu imġieba bħal din kienet diġà diskussi f'lkml. U skont l-iżviluppaturi, l-iffissar sempliċement ma jiswax l-isforz.

Sors: www.habr.com

Żid kumment