Ma intereseaza sa calculez spatiul (real) ocupat de un fisier si sa obtin un 
rezultat similar cu cel de la rularea comenzii:

du --block-size=1 /my/file
8192    /my/file

Daca folosesc "stat" am urmatorii parametri care m-ar ajuta:

  $size     total size of file, in bytes
  $blksize  preferred block size for file system I/O
  $blocks   actual number of blocks allocated

Exemplu: daca fisierul are 5556 bytes, valorile celor 3 variabile ar fi:

  $size = 5556
  $blksize = 4096
  $blocks = 16

Cum obtin eu din aceste 3 valori rezultatul care ma intereseaza si anume 
"8192" ?

Eu vad 2 variante, dar nu am incredere in nici una din ele:

1. $rezultat = ceil($size / $blksize) * $blksize
? e OK formula asta pe orice filesystem ?

2. $rezultat = $blocks * 512
? e bine sa hardcodez marimea unui bloc la 512 bytes ?

Sugestii ?


Mihai

PS: Nu, nu as vrea sa execut din perl "du" ca sa aflu rezultatul.


-- 
This message was scanned for spam and viruses by BitDefender.
For more information please visit http://www.bitdefender.com/


--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui