6

Is this possible, and what would the command be?

2
  • 1
    Do you mean like, all directories (regardless of at what depth)? Do you mean containing 10mb in the directory itself, or 10 mb in the directory or any subdirectory?
    – falstro
    Oct 27, 2009 at 14:55
  • all directories at any depth, and the the total file size next to each directory would include it's sub directories.
    – kylex
    Oct 27, 2009 at 15:00

4 Answers 4

6

du is the easiest way. Grab the directories of interest with perl.

du -m . | perl -ne '@l = split();print "@l\n" if $l[0]>=10'
0
9
du -k /<root-of-interest> | sort -n 

Then look at the tail for the large directories. You want all that are report greater than 10000.

2
  • du is the way to go. du|xdu makes it more visibile too..
    – falstro
    Oct 27, 2009 at 14:57
  • I might type "du --max-depth=1 | sort -g | less" but that's just a personal preference. Of course the "max-depth" flag only exists in GNU du.
    – CarlF
    Oct 27, 2009 at 15:45
1

Do like this:

find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'

Remember to don´t put the {}'s.

In your case do like this:

find / -type f -size +10000k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'
2
  • 3
    this finds files, not directories
    – falstro
    Oct 27, 2009 at 14:56
  • Ops, sorry, i didn't see. Sorry! Oct 27, 2009 at 14:58
0

The du answers above are closer to what you want, but you might also want to try out kdirstat. Its a cool gui tool that shows all your dirs, what's in them, what the content is, and has various tools to delete or move files. There's even Windows (WindDirStat) and MacOSX (Disk Inventory X) clones.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .