soubor bez programovani

Jacek Kopecky kopeckyj na inf.upol.cz
Úterý Říjen 17 09:14:52 CEST 2000


 > | dd if=/dev/zero of=soubor bs=1 count=1 seek=<velikost-1>
 > | 
 > | Timto se vytvori soubor veliky <velikost> bajtu, nazve se "soubor" a
 > | bude na disku zabirat prave jeden blok (krome metadat). Takto muzete
 > | na gigovem disku vytvorit dvougigovy soubor. 8-)
 > | 
 > |                             Jacek Kopecky
 > 
 > Oj, jsem nejak dnes natvrdly ci co, muzete prosim trochu vnesti svetla do
 > tohoto mechanismu vytvoreni souboru vetsiho, nez sam disk?

 Uz se to tu objevilo nekolikrat. 8-)
 Unixove filesystemy jsou schopne nasledujici optimalizace: kdyz se
program presune v souboru (seek) na nejake misto za koncem souboru,
soubor se neprodluzuje. Kdyz nasledne zapise, na disku se obsadi jen
ty bloky, do kterych se zapsalo, zbytek je v strukture zaznamu o
souboru neobsazen, tedy nulovy. Takto muzeme skocit za konec souboru
treba na pozici 2000000000 (necele 2GiB), tam zapsat jednu nulu a
soubor ma velikost 2000000001. Na disku zabira jeden blok. Tomu se
rika deravy soubor.
 Kdyz z deraveho souboru cteme, tam, kde jsou diry, dostaneme nuly. To
je v podstate spravne. 8-)

                            Jacek Kopecky
-- 
http://www.inf.upol.cz/~kopeckyj      ICQ: 49514837
Finger  kopeckyj(at)alpha.inf.upol.cz for Geek Code.



Další informace o konferenci Linux