How to find large file size on linux

Often time, you may need to know which file contains large file size, and delete it to save space. Here’s a code pattern to show you how to find large file size on Linux :

find {directory} -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }' 

1. File size >= 100MB

Find all files that have a size >= 100MB, from root folder and its sub-directories.

sudo find / -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }' 


/Applications/Diablo: 2.3G
/Applications/Diablo: 203M
/Applications/Diablo: 978M
/Applications/Diablo: 1.4G
/Applications/Diablo: 1.3G
/Applications/Diablo: 1.5G
/Applications/ 242M

2. File size >= 50MB

Find all files that have a size >= 50MB, from folder ‘/Users/mkyong’ and its sub-directories.

find /User/mkyong -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }' 


/Users/mkyong/Downloads/command_line_tools_for_xcode_june_2012.dmg: 147M
/Users/mkyong/Downloads/ubuntu-12.04-desktop-i386.iso: 701M
/Users/mkyong/Downloads/X15-65805.iso: 3.0G
/Users/mkyong/Library/Preferences/ 104M
Above command tested for Ubuntu and Mac OSX.


  1. Unix find command

About the Author

author image
Founder of, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.


8 Comment threads
2 Thread replies
Most reacted comment
Hottest comment thread
5 Comment authors
ChuckThe Geek Scopenewsasnow.commkyongthe dsc Recent comment authors
newest oldest most voted
find command

[…] […]

Tip: Como encontrar ficheros que ocupan mucho espacio en Linux | Ayuda Linux

[…] comando […]

Tip: Como encontrar ficheros que ocupan mucho espacio en Linux « Command Line

[…] comando […]

Problem mit HTTPD und Traffic - Server Support Forum

[…] […]

the dsc
the dsc

Thanks. Specially useful if you’re browsing a cifs mount, on which graphic file size visualizers like that konqueror plugin (I guess) don’t work.

Just one suggestion, I think it goes better with the awk part as:

awk ‘{ print $5 “: ” $8 }’ | sort

with the file size first, followed by the file name (which in my case would be number 9, not 8 BTW), and then followed by “sort”, so you have it ordered by file size, which may be useful in helping to deal with the largest files first.


Nop, “|sort” will not work as you expect. Size is considered as text, not as integer, so sort will give :

the dsc
the dsc

Ops, just now I noticed, the “sort” part won’t work quite right though. 1.000 GB files will appear at the top, followed by 100 MB files, going down until you reach 900MB file sizes. It still helps, as long as you have that in mind.

The Geek Scope
The Geek Scope

Here is a script to display the largest files on your system. Following is the sample output of the script: # sh / 5 [SIZE (BYTES)] [% OF DISK] [OWNER] [LAST MODIFIED ON] [FILE] 56421808 0% root 2012-08-02 14:58:51 /usr/lib/locale/locale-archive 32464076 0% root 2008-09-18 18:06:28 /usr/lib/ 29147136 0% root 2012-08-02 15:17:40 /var/lib/rpm/Packages 20278904 0% root 2008-12-09 13:57:01 /usr/lib/xulrunner-1.9/ 16001944 0% root 2012-08-02 15:02:36 /etc/selinux/targeted/modules/active/base.linked Total disk size: 23792652288 Bytes Total size occupied by these files: 154313868 Bytes [ 0% of Total Disc Space ] *** Note: 0% represents less than 1% ***

When you use find with size option. I guess you are assuming that file size has to be more than +100000k which will is not the solution to the topic you are covering Topic is: “How to find large file size on linux (Solution)” So this will give only the file larger than size specified. find / -type f -size +100000k … The solution that might get the results. find . -type f -exec du {} \; | sort -rn | head -10 so the command says:- find all files and run then run du (estimate file space usage) then… Read more »