# How to Know Folder Size in Linux


When working with Linux, knowing the size of a folder is essential for managing disk space. Whether you want to clean up your system or monitor storage usage, understanding how to find folder sizes can save you time and hassle. You might think it’s complicated, but it’s actually quite straightforward once you know the right commands and tools.

In this article, I’ll guide you through simple methods to check folder sizes in Linux. You’ll learn how to use built-in commands like `du`, graphical tools, and even scripts to get detailed size information. By the end, you’ll feel confident managing your disk space like a pro.

## Using the `du` Command to Check Folder Size

The `du` (disk usage) command is the most common way to find out folder sizes in Linux. It shows the amount of disk space used by files and directories. Here’s how you can use it effectively.

- To check the size of a specific folder, type:
  ```bash
  du -sh /path/to/folder
  ```
  - `-s` means summarize the total size.
  - `-h` makes the output human-readable (KB, MB, GB).

For example, if you want to check the size of your Documents folder, run:
```bash
du -sh ~/Documents
```
This will display something like `1.2G    /home/username/Documents`, meaning the folder uses 1.2 gigabytes.

If you want to see the size of each subfolder inside a directory, use:
```bash
du -h --max-depth=1 /path/to/folder
```
This lists all subfolders with their sizes, making it easy to spot large directories.

### Additional `du` Options

- `--apparent-size`: Shows the actual file sizes, ignoring disk block usage.
- `-c`: Adds a grand total at the end.
- `-a`: Includes individual files in the output.

For example:
```bash
du -ahc /path/to/folder
```
This command lists all files and folders with sizes and shows the total at the bottom.

## Checking Folder Size with `ncdu` – A User-Friendly Tool

If you prefer a more interactive way, `ncdu` (NCurses Disk Usage) is a great tool. It provides a text-based interface to explore folder sizes easily.

### How to Install and Use `ncdu`

- Install it using your package manager:
  - On Debian/Ubuntu:
    ```bash
    sudo apt install ncdu
    ```
  - On Fedora:
    ```bash
    sudo dnf install ncdu
    ```
  - On Arch Linux:
    ```bash
    sudo pacman -S ncdu
    ```

- Run it by typing:
  ```bash
  ncdu /path/to/folder
  ```
  
Once it starts, you’ll see a list of folders and files sorted by size. You can navigate with arrow keys, enter directories, and delete files directly from the interface if needed.

`ncdu` is especially helpful when you want to quickly find large files or folders without typing long commands.

## Using Graphical Tools to View Folder Size

If you’re using a Linux desktop environment, graphical tools can make checking folder sizes easier.

### File Managers with Size Display

Most file managers like **Nautilus** (GNOME), **Dolphin** (KDE), and **Thunar** (XFCE) show folder sizes, but sometimes you need to enable this feature.

- In **Nautilus**, right-click a folder and select **Properties** to see its size.
- In **Dolphin**, you can enable size columns in the view settings.
- In **Thunar**, right-click and choose **Properties** for folder size.

### Disk Usage Analyzers

Many Linux distros include disk usage analyzers:

- **Baobab** (Disk Usage Analyzer) is popular in GNOME.
- **KDirStat** or **QDirStat** works well in KDE and other desktops.

These tools scan your disk and present a visual map of folder sizes, making it easy to spot space hogs.

## Writing a Simple Script to Check Folder Size

If you often need to check folder sizes, you can automate the process with a bash script.

Here’s a basic example:

```bash
#!/bin/bash
if [ -z "$1" ]; then
  echo "Usage: $0 /path/to/folder"
  exit 1
fi

du -sh "$1"
```

Save this as `foldersize.sh`, make it executable with `chmod +x foldersize.sh`, and run it like:

```bash
./foldersize.sh /home/username/Documents
```

This script checks if you provided a folder path and then shows its size.

## Understanding Folder Size Differences: Disk Usage vs. Apparent Size

Sometimes, the size reported by commands can be confusing. This is because of how Linux calculates disk usage.

- **Disk Usage**: Actual space used on the disk, considering block size and filesystem overhead.
- **Apparent Size**: The total size of the files as reported by their content length.

For example, sparse files or files with compression might show a large apparent size but use less disk space.

To see apparent size with `du`, use:

```bash
du --apparent-size -sh /path/to/folder
```

This helps you understand the real file content size versus disk space used.

## Tips for Managing Disk Space Using Folder Size Information

Knowing folder sizes is just the first step. Here are some tips to manage your disk space effectively:

- Regularly check large folders like `/var/log`, `/home`, and `/tmp`.
- Use `ncdu` to find and delete unnecessary large files.
- Automate disk usage reports with cron jobs running `du` or scripts.
- Clean package caches (`apt clean`, `dnf clean all`) to free space.
- Archive old files you don’t need often using `tar` or `zip`.

## Common Mistakes When Checking Folder Size

When you check folder sizes, avoid these pitfalls:

- Forgetting to use `sudo` for system folders, which can cause permission errors.
- Confusing file size with disk usage due to sparse files.
- Not considering hidden files (those starting with a dot). Use `du -sh /path/to/folder/.*` to include hidden files.
- Running commands without `-h` option, making output hard to read.

## Conclusion

Now you know several ways to check folder size in Linux, from simple commands like `du` to interactive tools like `ncdu` and graphical analyzers. Each method has its strengths, so you can choose what fits your needs best.

By regularly monitoring folder sizes, you can keep your system clean and avoid running out of disk space. Whether you prefer the command line or a graphical interface, managing your Linux storage is easier than you might think.

### FAQs

### How do I check the size of all folders in my home directory?

Use `du -h --max-depth=1 ~` to list sizes of all folders in your home directory with human-readable output.

### Can I check folder size including hidden files?

Yes, use `du -sh /path/to/folder/.*` to include hidden files and folders in the size calculation.

### What is the difference between `du` and `ncdu`?

`du` is a command-line tool that outputs folder sizes, while `ncdu` provides an interactive interface to explore and manage disk usage.

### How do I find the largest files in a folder?

You can use `find /path/to/folder -type f -exec du -h {} + | sort -rh | head -n 10` to list the top 10 largest files.

### Why does folder size sometimes differ from file sizes inside it?

Disk usage depends on filesystem block size, sparse files, and compression, so apparent file size and actual disk space used can differ.
