Ho bisogno di ottenere la dimensione della directory nel terminale per la firma. Sto usando il seguente comando:
du -s /path/to/dir
Moltiplico il risultato per la dimensione del blocco UNIX tradizionale (512 byte) e ottengo la dimensione effettiva della directory in byte. Tuttavia, la finestra di dialogo "Ottieni informazioni" del Finder mostra la dimensione leggermente inferiore a quella calcolata con il comando del terminale. E sembra che sia riproducibile su qualsiasi cartella/bundle. Cosa mi sto perdendo?
Risposta accettata:
Normalmente, du
mostra informazioni sull'utilizzo del disco (da cui deriva il suo nome). Tieni presente che
disk usage != sum of file sizes
Perché ogni file occupa un numero di blocchi sul filesystem (vedi man mkfs.ext2
Per esempio). Ciò significa che solo in una situazione molto rara l'utilizzo del disco di un file è uguale alla sua dimensione effettiva, per questo la dimensione deve essere esattamente un multiplo della dimensione del blocco.
Pensa ai blocchi del filesystem come a riquadri che contengono parti di file:ciascuno può contenere una parte di un solo file.
Per la versione GNU di du
, controlla il --apparent-size
opzione.
Può verificarsi una situazione ancora più interessante, quando ci sono alcuni file sparsi sul file system!