rbunten@miclon.uucp (Rob Bunten) (08/11/90)
Thanks for the responses to my original request for the disk usage of directories, not including stuff mounted from other partitions. The responses were from: xie@math.arizona.edu suggested using df(1) :-) dietrich@cernvax.cern.ch sent a program which is used to determine the number of files and directories and the occupied disk space in a file hierarchy beginning at startdirectory. I have the source, but haven't managed to get it to run on SunOS. meissner@osf.org mentions that the gnu fileutils 1.3 package contains a du rewrite that adds a -f option to prevent du from crossing filesystem boundaries. tmdg@ti.co.uk has a program that reports file fragmentation that could possibly be adapted. eirik@elf.tn.cornell.edu suggested the following (this is what I used): Apparently you want a way to tell du not to cross mount points; if not, I am probably answering a different question than the one you asked. It also sounds like you are ignoring all but local partitions. Assuming you have root permissions on the machine with the disks, there is a way of doing what you want. It is, in a sense, cheating, but I'd rather cheat than lose. :-) Here's the idea: export all file systems you're interested in to localhost, and mount them via NFS. As an example, the following shows the usage in my root partition: exportfs -i -o root=localhost,access=localhost / mount -n localhost:/ /mnt du /mnt mount -f localhost:/ /mnt umount /mnt chip@chinacat.unicom.com has written a du reimplementation. It is more oriented towards the SysV world, but it might be usable. paul@ixi-limited.co.uk suggests: find / -fstype nfs -prune -o -type f -exec du -s {} \; | \ awk ' { total = total + $1 } END { print total }' However, this doesn't do quite what I wanted, as I wanted the totals for each directory. Sorry for the delay in summarizing (the original posting was on 4th July).