Disk usage on a specific filesystem
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 /
Related videos on Youtube
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, 2022Comments
-
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 about 7 yearsThanks Stephen. Not sure this works the way I understand it does (see this followup)
-
user855443 over 5 yearsI 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 almost 3 yearsNote 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 over 2 yearsTo find directories containing a large size, I would recommend adding
--max-depth=1
:du --human-readable --one-file-system --max-depth=1