I need to find out what's contributing to the disk usage on a specific filesystem (/dev/sda2):

$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              96G   82G  9.9G  90% /

I can't just do du -csh / because I have many other filesystems mounted underneath /, some of which are huge and slow:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              96G   82G  9.9G  90% /
/dev/sdb1             5.2T  3.7T  1.3T  76% /disk3
/dev/sda1              99M   18M   76M  20% /boot
tmpfs                  16G  4.0K   16G   1% /dev/shm
                      5.3T  1.6T  3.5T  32% /home/userA
                      5.3T  1.6T  3.5T  32% /home/userB

How can I retrieve disk usage only on /dev/sda2?

None of these work:

  • Attempt 1:

    $ du -csh /dev/sda2
    0       /dev/sda2
    0       total
  • Attempt 2:

    $ cd /dev/sda2/
    cd: not a directory: /dev/sda2/
  • Maybe I am missing something, but why doesn't the Used column give you what you are looking for? – StrongBad Apr 11 '17 at 13:44

Use the -x (single file system) option:

du -cshx /

This instructs du to only consider directories of / which are on the same file system.


There are two options to solving your problem:

Using the option --exclude which makes du ignore the given path.

du --human-readable --exclude=/home

Using the option --one-file-system would tell du to not go into a different file system.

du --human-readable --one-file-system /
  • I have home on a different partition but when I use `du -hd1x ` the home directory is included. I use debian stretch. What do I misunderstand in "one file system"? – user855443 Nov 26 '18 at 22:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.