On 02/21/2012 05:22 AM, George R Goffe wrote:
> I'm running the du command from / and am seeing other file systems even though -x is specified.
> Here's the full command + args: du -xs -- .??* * | sort -k1nr | more
> Am I doing something wrong or misunderstanding something?
There's your problem. -x applies to each command line argument, but you
are passing multiple command line arguments. Therefore, you are
computing the disk usage of /usr and all subdirectories within the same
device as /usr, of /opt and all subdirectories within the same device as
/opt, and so forth.
If you really wanted to compute the usage of just / and all
subdirectories on the same device as /, then use du -x /, not du -x /*.
I'm closing this out as not a bug, as the du was doing what it was asked
after the shell glob expansion is taken into account.
Side note - your glob does not list all files. It's possible to name a
file '.a', which matches neither '.??*' nor '*'. To properly catch
_all_ files, you need three globs, as in '.??* * .[!.]'.