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

How to find the largest file in a directory?

marked as duplicate by Sathyajith Bhat, BinaryMisfit Jan 4 '11 at 15:14

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

migrated from stackoverflow.com Jan 4 '11 at 7:55

This question came from our site for professional and enthusiast programmers.


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

ls -S

To get the biggest one, use head:

ls -S | head -1

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 Aug 22 '12 at 15:34

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 Jan 4 '11 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. – John T Jan 4 '11 at 9:14