Unless, of course, the block size on the filesystem containing $HOME
isn't 1024 bytes. If, for example, it is 512 (such as on Solaris and
several other (mainly SVR4 related) unix systems)) it will report a
number that is TWICE as much as what you're really using. After all,
du reports BLOCKS used. If you're on a filesystem that has an unusual
(but theoretically possible) block size of say, 65536 blocks then
you're really, really stuffed.
Some unix systems (including Solaris) have a -k option to du to report
usage in KB rather than blocks.
So, on SunOS 4.x or smaller, use du -s $HOME. On Solaris with standard
ufs 512-byte block filesystems, use du -sk $HOME
On other systems, incite your fellow workers to rise up against the
evil power of the purchasing department, put them up against the wall,
shoot them then buy Suns. Obey.
Failing that, try find $HOME -exec wc -c {} \;
then use a calculator to add up all the numbers :-)
Christofu.