Pa nisam bas najbolje razumeo ceo zahvat, zasto bi alocirao nesto na pocetku ako ti ne treba a posle se oslobadjao tih visaka? Hmm a zar nije jednostavnije recimo da pises u fajl i da recimo proveris da li si sa upisom kod maksimalne duzine. I na kraju u svakom slucaju dobijas taj fajlsa minimalnom duzinom.
U svakom slucaju moze i ono "seljacko" resenje imas fajl a.txt koji trebas da skratis sa sistemskim pozivom open otvoris novi fajl sa istim imenom i stavis medju opcijama da overwritujes predhodni sadrzaj. E sada ukoliko si ostavio na predhodnom fajldeskriptoru otvoren fajl nemas brige. Jer stari fajl i dalje postoji samo ga ti vise ne vidis iz shella ili programa ali taj fd je jedina veza sa njim. i onda ceo sadrzaj prekopiras kako ti treba u novi fajl i to je to.
A sada malo ispod haube da pogledamo fajl je fizicki obrisan ako broj linkova na njegov inode(blok gde je to fizicki zapisano na disku) padne na nulu. broj linkova na fajl vidis kada odkucas ls -l ( to je druga kolona). E sada sa svakim open sistemskim pozivom ti povecavas broj linkova za jedan a sa close ga smanjujes za jedan. I tako realno kada zatvoris neki fajl mozes da izazoves njegovo brisanje. Probaj recimo da se igras sa nekim malo duzim fajlom prvo proveri sa df slobodno mesto na disku, pa onda sa less recimo otvori fajl. pa u drugom prozoru obrisi taj fajl i pogledaj df videces da se nista nije promenilo. u prvom shellu i dalje sa less gledas normalno fajl. i tek kada izadjes iz less-a sa df ces videti promenu :)
Ma unix vlada :)))