How to Find Files Size in Linux

Find Files Size in Linux

In the world of Linux, understanding how to manage and navigate your file system is crucial. One of the key aspects of this is knowing how to find the size of files and directories. This knowledge can help you manage disk space, optimize system performance, and troubleshoot issues. In this article, we will explore various methods to find file sizes in Linux, providing you with the tools to better understand and control your system.

Table of Contents

Find Files Size in Linux

Using the ls Command

The ls command is one of the most frequently used commands in Linux. It lists the contents of a directory. By adding different options, you can use ls to display file sizes. The ls -lh command shows file sizes in a human-readable format.

The -l option provides a long listing format, while the -h option makes the file size output human-readable, displaying sizes in KB (Kilobytes), MB (Megabytes), or GB (Gigabytes) as appropriate.

ls -lh

If you want to view the size in bytes, you can use the ls -l command. The size of the file is displayed in the fifth column of the output. For size in blocks, use the ls -s command. The block size is displayed in the first column.

Using the du Command

The du command, short for disk usage, is another useful tool for finding file sizes in Linux. It provides the estimated amount of disk space used by files and directories.

The du -h command provides a human-readable output, similar to ls -lh. The -s option can be used to summarize the total size of a file or directory.

du -h
du -s

The du command also has two important options: --apparent-size and -b. The --apparent-size option prints apparent sizes, rather than disk usage. The -b option displays size in bytes.

Using the find Command

The find command is a powerful tool that can search for files based on various criteria, including size. For example, to find files larger than 50MB in the current directory, you can use:

find . -type f -size +50M

Similarly, to find files smaller than 50MB, replace the + with a -.

Using the stat Command

The stat command provides detailed information about a file, including its size. The output of stat is more comprehensive than ls or du, as it includes information such as the number of links, inode number, and timestamps.

stat filename

Tips and Best Practices

Understanding the difference between apparent file size and actual disk usage is important. The apparent size is the amount of data that the file contains, while the disk usage is the amount of space the file takes up on the disk, which can be larger due to factors like block size.

To check the size of hidden files and directories, you can use the -a option with the ls command. This will display all files, including those starting with a dot (.), which are hidden by default in Linux.

Remember that some commands are more suitable for files, while others are better for directories. For example, ls and stat are great for files, while du is more useful for directories.


In this article, we’ve covered several methods to find file sizes in Linux, including the ls, du, find, and stat commands. Each of these commands has its strengths and can be used in different scenarios. For more advanced disk usage analysis, you might also consider using tools like ncdu.

Understanding how to find file sizes in Linux is a fundamental skill for any Linux user. By mastering these commands, you can gain better control over your file system, optimize your disk usage, and improve your overall Linux experience.

Marshall Anthony is a professional Linux DevOps writer with a passion for technology and innovation. With over 8 years of experience in the industry, he has become a go-to expert for anyone looking to learn more about Linux.

Related Posts