How to find total MB of a directory plus all subdirectories

Les hlhowell at pacbell.net
Sun Mar 11 21:06:21 UTC 2007


On Sat, 2007-03-10 at 16:03 +0100, Nigel Henry wrote:
> On Friday 09 March 2007 01:13, Les wrote:
> 
> > > I have a question about du though. On the other machine where I wanted to
> > > find out the size of my soundfiles directory, du couldn't access it
> > > because it was named "Sounds Library" , without the quotes. I renamed it
> > > putting a hyphen between the 2 words, and then du accessed the directory
> > > ok, but all of the subdirectories are multi worded without any hyphens,
> > > and du didn't have any problem with them. Any reason why du will not
> > > access the main directory without hyphenated words, and yet has no
> > > problem with all the subdirectories?
> > >
> > > It's not a big deal, just puzzling.
> > >
> > > btw. The now Sounds-Library (with the hyphen) is on a separate harddrive
> > > so I have to run du as.
> > >
> > > du -sh /mnt/hdb5/Sounds-Library
> >
> > Hi, Nigel,
> >  The reason a command won't parse correctly with a space in the file
> > name is due to the tokenizer used by the shell.  It cannot deal with
> > spaces in filenames.  A space is the end of the word to the tokenizer
> > unless it is inside Quotes or escaped in some way.  Thus the command du
> > xxx yyy is going to look for files xxx and then yyyy.  This is true of
> > most systems.  otherwise there would be no way to chose which way to
> > parse a command with several arguments, for example:
> >  cat xxx yyy aaa bbb ccc ddd > temp.txt
> >
> >  In this case should the result consist of files xxx, yyy, zzz, bbb,
> > ccc, and ddd all being concatenated to a file called temp.txt, or should
> > it be xxx yyy, zzz bbb, and ccc ddd?  Moreover how would an unambiguous
> > error message tell the operator what was wrong?  What if files xxx, yyy
> > zzz, bbb zzz, and ddd were all present?  Is this what the operator
> > meant?
> >  This is why a good administrator doesn't put spaces in system control
> > files.  It leads to ambigousity when working on the system, leading to
> > errors and system corruption.  Typo's that would be caught might not be
> > if spaces are allowed into filenames.
> >
> >  On the other hand, once a directory is opened, the file names are read
> > via a special command designed for the OS, and if the OS permits spaces,
> > the entire file name up to the end charactor (generally control-Z or
> > NULL).  Thus the sub directories and files will be correctly handled.
> > But with spaces in the names, error messages regarding parsing, or
> > tracing the file contents may be ambiguous to the operator.  It is not
> > illegal to put spaces in filenames, but is should be considered a bad
> > practice, and avoided.  But it is your system, so YMMV.
> >
> > Regards,
> > Les H
> 
> Thanks Les for that very thorough explanation. I will be more carefull about 
> spaces in the future.
> 
> A related question, is. How do I find out how many files are in the 
> Sounds-Library directory, including all subdirectories. I looked at ls, but 
> that will only give a list of files, as far as I can see.
> 
> Thanks.
> 
> Nigel.
> 
> 
try ls -a or ls -al

   man on ls will give you some options to try.  The best way to get at
the commands is through man or Xman (an old utility that would list the
man pages available by category).

Regards,
Les H





More information about the fedora-list mailing list