Disk usage on a specific filesystem

13,270

Solution 1

Use the -x (single file system) option:

du -cshx /

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

Solution 2

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 /
Share:
13,270

Related videos on Youtube

Amelio Vazquez-Reina
Author by

Amelio Vazquez-Reina

I'm passionate about people, technology and research. Some of my favorite quotes: "Far better an approximate answer to the right question than an exact answer to the wrong question" -- J. Tukey, 1962. "Your title makes you a manager, your people make you a leader" -- Donna Dubinsky, quoted in "Trillion Dollar Coach", 2019.

Updated on September 18, 2022

Comments

  • Amelio Vazquez-Reina
    Amelio Vazquez-Reina over 1 year

    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
    nfshome.XXX.net:/home/userA
                          5.3T  1.6T  3.5T  32% /home/userA
    nfshome.XXX.net:/home/userB
                          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/
      
  • Amelio Vazquez-Reina
    Amelio Vazquez-Reina about 7 years
    Thanks Stephen. Not sure this works the way I understand it does (see this followup)
  • user855443
    user855443 over 5 years
    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"?
  • nealmcb
    nealmcb almost 3 years
    Note that the magic here is the -x option. The other options here, mirroring the OP approach, report in human-readable numbers, and summarize the results, including a grand total. So for example, du -x / would give a full description of all files on the root file system.
  • koppor
    koppor over 2 years
    To find directories containing a large size, I would recommend adding --max-depth=1: du --human-readable --one-file-system --max-depth=1