[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: du v5.93: traverses subdirectories although --separate-dirs and --su
From: |
Jim Meyering |
Subject: |
Re: du v5.93: traverses subdirectories although --separate-dirs and --summarize are set? |
Date: |
Thu, 29 May 2008 21:26:41 +0200 |
"Volker Badziong" <address@hidden> wrote:
> I do not understand why this is necessary if the results from subdirectories
> are not taken into account? Or asked the other way: What information from the
> traversal process is taken into the total sum?
>
> E.g. look at the following. du yields almost the same as "ls sums without
> dirs" - although I cannot explain why these two do not match?!
>
> somehost:/ # sum=0; for var in $(ls -l /etc/ | grep -v "^d" | awk '{print
> $5}'); do sum=$(($sum + $var)); done; echo "erg: $sum"
> erg: 2574839
> somehost:/ # sum=0; for var in $(ls -l /etc/ | awk '{print $5}'); do
> sum=$(($sum + $var)); done; echo "erg: $sum"
> erg: 2902519
> somehost:/ # du --separate-dirs --apparent-size --block-size=1 --summarize
> /etc/
> 2583031 /etc/
Thanks for the report.
--separate-dirs is not useful with --summarize.
The documentation of --separate-dirs is insufficient.
Does this documentation patch make it clearer?
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index 982ad3c..5fd2a74 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -9838,8 +9838,12 @@ Display only a total for each argument.
@itemx --separate-dirs
@opindex -S
@opindex --separate-dirs
-Report the size of each directory separately, not including the sizes
-of subdirectories.
+Normally, in the output of @command{du} (when not using @option{--summarize}),
+the size listed next to a directory name, @var{d}, represents the sum
+of sizes of all entries beneath @var{d} as well as the size of @var{d} itself.
+With @option{--separate-dirs}, the size reported for a directory name,
address@hidden, is merely the @code{stat.st_size}-derived size of the directory
+entry, @var{d}.
@itemx --time
@opindex --time