Identifying large files on your PC can help you quickly reclaim some much needed space. For desktop Linux users, hunting down large unnecessary files might be optional. But when it comes to server space, it costs money, and you have to pay for that excess space every month. Here’s how you can locate big files in Linux to quickly get rid of them.
Use the ls Command
ls command is used to list all of the directories and files in the Linux terminal. However, it can do much more – for instance, classify directory contents and display file sizes.
- To see more information about files and directories including their permissions, you can use the
- To print their size along with all of the information, use the
-sflag along with the previous
- By default, the
lscommand will only list the directories. To see the files inside the directories recursively, use the
- To sort files, you can use two methods. One takes advantage of the
-Sflag inside the
lscommand, while the other employs the power of the
sortcommand. To sort the files according to their file size in descending order, run the following command:
- To reverse the order, you can use the
- Alternatively, after the
lscommand returns, you can pipe the result into the
sortcommand. This will sort the list as per their numerical file sizes in ascending order. You can also reverse the order by using
-rflag in conjunction with the
ls -ls | sort -nr
- So far, we have analyzed and found the largest files inside our current working directory. To identify the largest file in your whole filesystem, you can add the location after the
sudo ls / -S
Use the find Command
find command can be used to search any files inside a Linux filesystem. In this case, we can employ it to list files according to their file sizes. We can also filter the results by minimum file size.
- To find the largest files inside your current working directory, type the following:
find . -type f
- It’s possible to also add a filter with the minimum size of 100MB.
find . -type f -size +100M
- To specify a certain directory, add the relative path after the
find ./test -type f -size +100M
- Doing so will find all the files inside the “test” directory which has a size greater than 100MB.
- Sometimes you need to search the entire filesystem to find the largest file. For that, just add a
/after the find command.
sudo find / -xdev -type f -size +100M
-xdev flag instructs not to descend directories on other filesystems. In simple words, it won’t scan other mounted filesystems in your Linux system.
- To remove this behavior and to scan all the mounted drives along with your primary filesystem, just remove the
-xdevcommand as follows:
sudo find / -type f -size +100M
Now you should be able to view the list of the largest files in your entire device along with your mounted drives.
Use the du Command
du command is primarily designed to estimate file sizes in Linux. Here’s how to find large files with it.
- You can use the
-aflag to list the files along with directory sizes recursively.
- The file sizes listed here appear as very long number strings, so they are very hard to estimate. To make it readable, use the
-hflag in conjunction with other flags.
- To make the file size uniform, use the blocksize operator
-Balong with a unit of your choice. If you want to convert the sizes in MB, use unit
Mas a block size.
- To find the largest files among them, use the
sortcommand to sort the files in descending order.
du -aBM | sort -nr
- To list only the first five results, pipe the sorted list into the head command by using
du -aBM | sort -nr | head -n 5
- So far we’ve been displaying file sizes only in our current working directory. To list the largest files of a specific directory, append the directory name after the
ducommand. The following command will list the five largest files in your home directory.
du /home -aBM | sort -nr | head -n 5
- To find the largest 10 files in your entire filesystem, just add the
du / -aBM | sort -nr | head -n 10
Find Large Unused Files
Getting the list of unused files is very useful, as you can readily delete them to save space on your hard disk. Do this with the help of the
-mtime flag and the
find command discussed earlier. The following instructions will list out the top 10 files, which have not been modified for more than 30 days and have a file size of at least 100MB.
find / -xdev -mtime +30 -type f -size +100M
GUI Apps to Find the Largest Files in Linux
If you are running Linux on your desktop, make use of these GUI apps to find the largest files in your system.
Disk Usage Analyzer
One of the best GUI apps to analyze file sizes in Linux is Disk Usage Analyzer. It comes preinstalled in your Gnome desktop environment.
- If this application is not installed on your machine, you can easily install the disk usage analyzer application like so:
sudo apt update sudo apt install baobab
For Fedora or other red-hat-based distributions, install Disk Usage Analyzer by using the following command:
sudo dnf install baobab
- Open the app and select the filesystem you want to scan. Disk Usage Analyzer will list the attached filesystem in your machine.
- You’ll have to wait a few seconds until the scan completes.
- Once the process is done, you’ll be able to see the list of files and folders sorted according to their sizes (larger ones at the top, smaller towards the bottom).
- You can navigate through the folders using double clicks.
Some additional GUI apps that you can use to find large files on your Linux system include:
Remove the Largest Files
After finding the largest files, you need to remove them and can easily do so with the help of the
rm command in Linux.
- Copy the absolute or relative file of the file you want to delete, then append the file path after the
rm "your file path goes here"
- To remove any non-empty directory, use the
-rrepresents recursively deleting the files inside the directory, and
-fimplies force to delete that directory. For example, if you want to delete your “Downloads” folder along with all the files inside it, run the following command.
rm -rf ~/Downloads
Frequently Asked Questions
Why I am getting a "permission denied" error?
If you want to run a command beyond your home directory, you should have root permission. Otherwise, you will get the permission denied error. Try using
sudo before the command to elevate your permission as a root user. You can successfully run any command on your system files. Try to be careful when using
sudo with commands.
How do I find files larger than 1GB?
To find files larger than 1GB, use the find command with its
-size flag. The command will look like this:
sudo find / -xdev -type f -size +1G.
How can I view the size of a particular folder?
To see the size of a folder, use any of the tools mentioned in this article. You can also use your File Explorer to see the size of a folder. Just right-click on the folder and select the properties option. There you can easily find the listed folder size.
Image source: Unsplash All screenshots Hrishikesh Pathak
Our latest tutorials delivered straight to your inbox