The Blog

Shell du command tip – estimate file space usage and Posted on

The du command estimate file space usage and summarize disk usage of each
FILE, recursively for directories.

It displays the file system block usage for each file argument and for each
directory in the file hierarchy rooted in each direc tory argument. If no file
is specified it will use current directory.

But why use du command?

You must be wondering why I’m throwing out a light on du command. du is
commonly used by system administrators to automate monitoring and notification
programs that help prevent directories from becoming full.

du command Examples

Type du to display usage in current directory :
$
du

Pass -h option to display output in Byte, Kilobyte, Megabyte, Gigabyte,
Terabyte and Petabyte (Human-readable output)
$ du
-h

Display the name and size of each png file in the /ramdisk/figs/ directory as
well as a total for all of the pngs:
$ du -hc
/ramdisk/figs/*.png

Another useful option is -c which produce a grand total:
$ du
-c

Show the disk usage of the /home/vivek subdirectory:
$ du
/home/vivek

Show only a summary of the disk usage of the /home/vivek
$ du -hs
/home/vivek

Exclude files that match PATTERN. For example do not count *.obj or *.jpg
files:

$ du -h --exclude='*.obj'
$ du -h --exclude='*.jpg'

A PATTERN is a shell pattern (not a regular perl or other expression). The
pattern ? matches any one character, whereas * matches any string.

Pipes and filters with du

Now display everything sorted by filesize:
$ du -sk .[A-z]* *| sort
-n

Display screenful output at a time as du generate more output than can fit on
the console / screen:
$ du -h | less

To find top 3 directories, enter :
$ cd /chroot
$ du -sk * | sort
-nr | head -3

4620348 var
651972  home
27896   usr
21384   lib64

Working without du

Finally here is one liner (without du command) that prints top 10 filesize in
Mb (thanks to dreyser for submitting idea):
# find /var -type f | xargs
ls -s | sort -rn | awk '{size=$1/1024; printf("%dMb %s\n", size,$2);}' | head

This entry was posted in Linux. Bookmark the permalink.

Please Post Your Comments & Reviews

Your email address will not be published. Required fields are marked *



CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code