Skip to main content

Command Palette

Search for a command to run...

How to Check File Size in Linux

Published
6 min readView as Markdown

Checking file sizes in Linux is a common task that helps you manage your storage and understand your files better. Whether you’re a beginner or an experienced user, knowing how to quickly find out the size of a file or directory can save you time and help keep your system organized. In this article, I’ll walk you through several simple methods to check file sizes using Linux commands and tools.

You’ll learn how to use commands like ls, du, and stat, plus some handy options that make these commands even more useful. By the end, you’ll feel confident managing your files and directories with ease, whether you’re working on a personal project or managing a server.

Using the ls Command to Check File Size

The ls command is one of the most basic and widely used commands in Linux. It lists files and directories, and with the right options, it can show file sizes too.

  • To see file sizes in a human-readable format, use:

    ls -lh filename
    

    The -l option lists files in long format, showing details like permissions, owner, and size. The -h option makes the size easier to read by converting bytes into KB, MB, or GB.

  • To check sizes of all files in a directory:

    ls -lh
    

    This lists all files with their sizes in a readable format.

  • If you want to sort files by size, add the -S option:

    ls -lhS
    

    This sorts files from largest to smallest.

The ls command is quick and useful when you want a snapshot of file sizes in a directory.

Using the du Command for Directory and File Sizes

The du (disk usage) command is designed to show how much disk space files and directories use. It’s especially helpful for checking the size of directories, which ls doesn’t do by default.

  • To check the size of a single file:

    du -h filename
    

    This shows the disk space used by the file in a human-readable format.

  • To see the size of a directory and its contents:

    du -sh directoryname
    

    The -s option summarizes the total size, and -h makes it readable.

  • To list sizes of all files and subdirectories inside a directory:

    du -h directoryname
    

    This shows sizes for each item inside the directory.

  • For a more detailed view sorted by size, you can combine du with sort:

    du -h directoryname | sort -h
    

    This sorts the output from smallest to largest.

The du command is powerful for managing disk space and understanding which files or folders take up the most room.

Using the stat Command for Detailed File Information

If you want detailed information about a file, including its exact size in bytes, the stat command is your friend.

  • To check a file’s size:

    stat filename
    

    This outputs various details, including:

    • File size in bytes
    • Access, modify, and change times
    • File permissions and ownership
  • If you want just the size in bytes, use:

    stat -c %s filename
    

    This prints only the size number, which is useful for scripting.

The stat command provides precise file size info and other metadata that can be useful in many situations.

Using Graphical Tools to Check File Size

If you prefer a graphical interface over the command line, most Linux desktop environments offer file managers that display file sizes.

  • In GNOME Files (Nautilus):

    • Right-click a file or folder and select Properties.
    • The size is shown in the properties window.
  • In KDE Dolphin:

    • Right-click and choose Properties.
    • The size and other details appear in the dialog.
  • Some file managers also show file sizes directly in the file list, often with options to sort by size.

Graphical tools are great if you’re more comfortable with a visual approach or need to check sizes occasionally.

Checking File Size in Scripts and Automation

Sometimes, you need to check file sizes automatically in scripts. Here are some tips:

  • Use stat -c %s filename to get the size in bytes for calculations.
  • Use du -b filename for disk usage in bytes.
  • Combine commands with conditional statements to check if a file exceeds a certain size.

Example script snippet to check if a file is larger than 1MB:

filesize=$(stat -c %s filename)
if [ $filesize -gt 1048576 ]; then
  echo "File is larger than 1MB"
else
  echo "File is smaller than 1MB"
fi

This approach helps automate file management tasks based on size.

Understanding File Size Units in Linux

Linux commands often display file sizes in different units. Here’s a quick guide:

  • Bytes (B): The smallest unit, used for exact size.
  • Kilobytes (KB or K): 1 KB = 1024 bytes.
  • Megabytes (MB or M): 1 MB = 1024 KB.
  • Gigabytes (GB or G): 1 GB = 1024 MB.

Commands like ls -lh and du -h use these units to make sizes easier to read. Knowing these units helps you understand the output better.

Tips for Efficient File Size Checking

Here are some practical tips to make checking file sizes easier:

  • Use alias to create shortcuts for common commands, e.g., alias lsh='ls -lh'.
  • Combine commands with grep to filter files by name or size.
  • Use watch to monitor file size changes in real-time:
    watch -n 2 ls -lh filename
    
  • Use ncdu (NCurses Disk Usage) for an interactive, terminal-based disk usage viewer.

These tips can speed up your workflow and make file size management smoother.

Troubleshooting Common Issues

Sometimes, you might face issues when checking file sizes:

  • Permission denied: You may not have rights to view some files. Use sudo if necessary.
  • Symbolic links: Commands may show the size of the link, not the target file. Use ls -l to see link targets.
  • Sparse files: Some files appear smaller than their actual disk usage. Use du to see real disk space used.

Understanding these quirks helps you get accurate file size information.

Conclusion

Now you know several ways to check file size in Linux, from simple commands like ls to detailed tools like stat and du. Whether you prefer the command line or graphical tools, these methods help you manage your files and disk space effectively. You can also automate size checks in scripts to keep your system organized.

By mastering these commands and tips, you’ll save time and avoid storage surprises. Next time you need to check a file or directory size, you’ll know exactly which tool to use and how to interpret the results.

FAQs

How do I check the size of all files in a directory?

Use ls -lh to list all files with sizes in a readable format. For total directory size, use du -sh directoryname.

What command shows the exact file size in bytes?

The stat -c %s filename command outputs the exact size in bytes.

Can I check file sizes using a graphical interface?

Yes, most Linux file managers like Nautilus or Dolphin show file sizes in the properties window.

How do I find the largest files in a directory?

Use ls -lhS to sort files by size or du -ah directoryname | sort -rh | head -n 10 to list the top 10 largest files and folders.

What if I get a "permission denied" error when checking file size?

You may need to use sudo before your command to get the necessary permissions, like sudo ls -lh filename.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts