Kako je lahko velikost datoteke nič?
Vsi smo občasno naleteli na "situacijo" na naših računalnikih, ki nas je pustila popolnoma zmedene, kot je datoteka, ki ima velikost nič, toda kako je to mogoče? Današnja postavka SuperUser Q&A ima odgovore na zmedeno vprašanje bralca.
Današnja seja vprašanj in odgovorov prihaja z namenom SuperUser-a, ki je del skupine Stack Exchange, ki temelji na skupnostih spletnih mest za vprašanja in odgovore.
Vprašanje
Bralnik SuperUser Eugene S želi vedeti, kako je velikost datoteke lahko enaka nič:
To je nekaj, na kar sem naletela in se nisem mogla spomniti pravilne razlage. Če ustvarim prazno * .txt datoteka na mojem računalniku in nato pogled na njegovo velikost, kaže velikost nič. Kako je to mogoče? Mislim, tudi če je datoteka sama prazna, mora imeti še vedno nekaj velikosti (tudi če je samo shranjevanje lastnega imena). Kako je to mogoče razložiti?
Kako je mogoče, da ima datoteka velikost nič?
Odgovor
Sodelavci super uporabnika David Schwartz in Cort Ammon imata odgovor za nas. Prvič, David Schwartz:
Možno je, ker res ni datoteke. Obstaja samo vnos imenika z imenom in lastnikom. Vnos imenika je logično ločen od datoteke. Na primer, ista datoteka ima lahko več imen v več imenikih.
Na žalost se besedni spis ne uporablja vedno za točno isto stvar. Toda logika velikosti datoteke prihaja iz modela, kjer vnos v imeniku pripiše datoteko imeniku, nato pa so imena datotek in pripadajoči meta podatki shranjeni v imeniku..
Sledi odgovor Cort Ammon:
Semantični pomen velikosti datoteke je drugačen od tistega, ki ga uporabljate.
Obstaja veliko velikosti datotek, ki so pomembne. Najpogostejša in tista, ki jo vidite tukaj, je število bajtov v datoteki. Če je datoteka prazna besedilna datoteka, lahko dejansko vsebuje nič bajtov. Ta številka je pomembna za programerje, ker pogosto potrebujemo, da odprete datoteko, preberete vse podatke in jo zaprete. Vedeti moramo, koliko bajtov podatkov bo v datoteki, da bomo lahko načrtovali naprej.
Drug pomen izhaja iz načina shranjevanja podatkov v večini datotečnih sistemov. Večina datotečnih sistemov shranjuje podatke v bloke. Na primer, datotečni sistem lahko shrani podatke v bloke 64 kB, kar pomeni, da nikoli ne bo dodelil ničesar, kar ni večkratno od 64 kB. To se zdi neučinkovito, vendar lahko knjigovodstvo precej preprostejše in pogosto preprostejše pomeni hitrejše.
Tretji pomen, ki ga vlečete, bi bilo dejansko število bitov, ki so potrebni na trdem disku za opis prisotnosti datoteke. To vključuje informacije, ki so običajno shranjene ločeno od datoteke. V Linuxu je na primer koncept imena datoteke shranjen v inode za imenik, ki vsebuje datoteko. [Na podlagi vhodnih podatkov drugih komentarjev je to (tehnično) shranjeno v podatkih imenika. Ko sem to napisal, sem pomislil na zadevo z malimi imeni. Podatki, manjši od 156 bajtov, se lahko shranijo neposredno v inode.] To ni pogosto uporabljen pomen, ker je zelo težko ugotoviti, ne da bi vedel izjemno globoko delovanje vašega datotečnega sistema (kot je obračunavanje prostora, ki je potreben za shranjevanje vseh dovoljenj v datoteki). Če pa imate trdi disk s 1.000.000 bajtov in želite vedeti, kako velika je lahko datoteka na trdem disku, bo to za vas zelo pomembno.!
Imate kaj dodati pojasnilu? Zvok v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.