Possible Duplicate:
Unix command to list all directories larger than 10mb

How to find the largest file in a directory?


3 Answers 3


The best way is to use ls, sorted by size:

ls -S

To get the biggest one, use head:

ls -S | head -1

Assuming you're in the directory already:

du -a | sort -nr | head -1
  • Sizes for subdirectories are also calculated. Maybe you should mention that -- I'm not sure which approach the OP prefers.
    – Daniel Beck
    Commented Jan 4, 2011 at 9:11
  • Had it in there originally, figured it was logical to leave it in case one of the directories is large as well.
    – user1931
    Commented Jan 4, 2011 at 9:14

You can use the find command to do this work.

Let DIR is the directory in which you want to find the largest file, run the following command:

find DIR/ -type f -size +5000k

This will list the files whose size greater than 5MB. You can adjust this value (ie. option size) according to your need.

If you want to check the files under this DIR only, use the below one. You can adjust the maxdepth value to check in subfolder.

find ./ -maxdepth 1 -type f -size +5000k
  • this is nice. It would be even nicer if there was a way to show the size for each one found
    – AShelly
    Commented Aug 22, 2012 at 15:34