Aplikazio praktikoan guztiz alferrikakoa da, alferrikakoa, baina dibertigarria *nix sistemetako direktorioei buruz. Ostirala da.
Elkarrizketetan, galdera aspergarriak sortzen dira sarritan inodoei buruz, dena-fitxategiei buruz, eta jende gutxik zentzuz erantzuten die. Baina pixka bat sakontzen baduzu, gauza interesgarriak aurki ditzakezu.
Mezua ulertzeko, puntu batzuk:
- dena fitxategi bat da. direktorioa fitxategi bat ere bada
- inodoak fitxategiko metadatuak gordetzen ditu, baina fitxategiaren izena ez da bertan gordetzen
- fitxategiaren izena direktorioko datuetan gordetzen da
- Direktorioaren tamaina, ls-n agertzen den bera eta berez 4Kb-koa dena, direktorioaren fitxategi kopuruaren eta haien izenen luzeraren araberakoa da.
- Jakina, zenbat eta fitxategi gehiago, orduan eta handiagoa izango da direktorioaren tamaina
Orain hona hemen zati interesgarria: milioi bat fitxategi dituen direktorio bat sortzen dugu, direktorioaren tamaina egiaztatu eta gero fitxategi guztiak ezabatu eta direktorioaren tamaina begiratu.
$ 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 .
Ikus dezakezunez, direktorioaren tamaina ez da aldatu, badirudi ere :)
Direktorio baten tamaina bakarrik konpondu dezakezu (ezabatu gabe) fsck erabiliz (eta -D aukera) muntatu gabeko egoeran.
Baina hori zergatik zen horrela bilatzera joan nintzenean, orain dela 10 urte horrelako jokabideak bazeudela ikusi zen
Iturria: www.habr.com