StÞrrelsen pÄ katalogene er ikke verdt innsatsen vÄr

Dette er et helt unyttig, unĂždvendig i praktisk bruk, men morsom liten post om kataloger i *nix-systemer. Det er tross alt fredag.

PÄ intervjuer dukker det ofte opp kjedelige spÞrsmÄl om inode, alt-er-filer, som fÄ kan svare fornuftig pÄ. Men hvis man graver litt dypere, kan man finne interessante ting.

For Ä forstÄ posten, her er noen punkter:

  • alt er en fil. en katalog er ogsĂ„ en fil
  • i inoden lagres metadata fra filen, men filnavnet lagres ikke der
  • filnavnet lagres i dataene til katalogen
  • stĂžrrelsen pĂ„ katalogen, som den som vises i ls og som standard er 4KB, avhenger av antall filer i katalogen og lengden pĂ„ navnene deres
  • det er Ă„penbart at jo flere filer, jo stĂžrre er katalogstĂžrrelsen

Og nÄ det interessante: vi lager en katalog med en million filer, sjekker stÞrrelsen pÄ katalogen, og sÄ sletter vi alle filene og ser pÄ stÞrrelsen pÄ katalogen.

$ mkdir niceDir && cd niceDir
# avhengig av hastigheten pÄ lagringsmediet kan neste kommando ta 2-10 minutter
$ 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 .

Som man kan merke, har ikke stĂžrrelsen pĂ„ katalogen endret seg, selv om det ser ut som det burde 🙂

For Ä fikse stÞrrelsen pÄ katalogen (uten Ä slette) kan man bare bruke fsck (og -D alternativet) i frakoblet tilstand.

Men da jeg gikk for Ä finne ut hvorfor dette er, viste det seg at for 10 Är siden var denne oppfÞrselen allerede diskuterte i lkml. Og ifÞlge utviklerne er det ikke verdt de ekstra anstrengelsene Ä fikse det.

Kilde: habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster