No problem to find the largest top 10 files and directories on a UNIX system with this command :

du -hsx * | sort -rh | head -10

Output :

536G    home
1.3G    usr
1.2G    var
756M    lib
123M    boot
40M     root
24M     sbin
22M     upd
12M     bin



Man du


du – estimate file space usage


du [OPTION]… [FILE]…
du [OPTION]… –files0-from=F


Summarize disk usage of each FILE, recursively for directories.

Mandatory arguments to long options are mandatory for short options

-a, –all

write counts for all files, not just directories


print apparent sizes, rather than disk usage; although the
apparent size is usually smaller, it may be larger due to holes
in (‘sparse’) files, internal fragmentation, indirect blocks,
and the like

-B, –block-size=SIZE

use SIZE-byte blocks

-b, –bytes

equivalent to ‘–apparent-size –block-size=1’

-c, –total

produce a grand total

-D, –dereference-args

dereference FILEs that are symbolic links


summarize disk usage of the NUL-terminated file names specified
in file F


like –si, but also evokes a warning; will soon change to be
equivalent to –dereference-args (-D)

-h, –human-readable

print sizes in human readable format (e.g., 1K 234M 2G)


like -h, but use powers of 1000 not 1024


like –block-size=1K

-l, –count-links

count sizes many times if hard linked


like –block-size=1M

-L, –dereference

dereference all symbolic links

-P, –no-dereference

don’t follow any symbolic links (this is the default)

-0, –null

end each output line with 0 byte rather than newline

-S, –separate-dirs

do not include size of subdirectories

-s, –summarize

display only a total for each argument

-x, –one-file-system

skip directories on different file systems

-X FILE, –exclude-from=FILE

Exclude files that match any pattern in FILE.


Exclude files that match PATTERN.


print the total for a directory (or file, with –all) only if it
is N or fewer levels below the command line argument;
–max-depth=0 is the same as –summarize


show time of the last modification of any file in the directory,
or any of its subdirectories


show time as WORD instead of modification time: atime, access,
use, ctime or status


show times using style STYLE:
full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like


display this help and exit


output version information and exit

SIZE may be (or may be an integer optionally followed by) one of fol-
lowing: kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T,
P, E, Z, Y.


PATTERN is a shell pattern (not a regular expression). The pattern ?
matches any one character, whereas * matches any string (composed of
zero, one or multiple characters). For example, *.o will match any
files whose names end in .o. Therefore, the command

    du --exclude='*.o'

will skip all files and subdirectories ending in .o (including the file
.o itself).

Find The Largest Top 10 Files and Directories On a UNIX

Leave a Reply

Your email address will not be published.