Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP C C++ C# AWS W3.CSS HOW TO BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SWIFT SASS VUE GEN AI SCIPY CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING HTML & CSS BASH RUST TOOLS

Bash Tutorial

Bash HOME Bash Intro Bash Get Started

Basic Commands

Bash Commands Bash List (ls) Bash Change Dir (cd) Bash Print Dir (pwd) Bash Echo (echo) Bash Concatenate (cat) Bash Copy (cp) Bash Move (mv) Bash Remove (rm) Bash Timestamp (touch) Bash Make Dir (mkdir) Bash Find Files (find) Bash Manual (man) Bash Alias

Pipes and Redirection

Bash Redirection Bash Pipes (|) Bash Build Commands (xargs)

Text Processing

Bash Search Text (grep) Bash Pattern Scan (awk) Bash Stream Editor (sed) Bash Remove Section (cut) Bash Sort Lines (sort) Bash View End (tail) Bash View Start (head) Bash Count (wc) Bash Unique Lines (uniq) Bash Translate (tr) Bash Compare Files (diff)

System Monitoring

Bash Process Status (ps) Bash List Processes (top) Bash Disk Space (df) Bash Directory Usage (du) Bash Memory Usage (free) Bash Terminate (kill) Bash Uptime

Networking

Bash Ping Bash URL Transfer (curl) Bash Downloader (wget) Bash Remote Connect (ssh) Bash Secure Copy (scp) Bash File Sync (rsync)

File Compression

Bash Compress (zip) Bash Extract (unzip) Bash TAR Archive

File Permissions

Bash Ownership Bash Modify (chmod) Bash Ownership (chown) Bash Group (chgrp)

Scripting

Bash Syntax Bash Script Bash Variables Bash Data Types Bash Operators Bash If...Else Bash Case Bash Loops Bash Functions Bash Script Arguments Bash Read Input (read) Bash Exit Codes Bash Arrays Bash Strings Bash Here Documents Bash Trap Signals (trap) Bash Schedule (cron)

Bash Cert

Bash Certificate

Bash Reference

Bash Glossary

Exercises and Quiz

Bash Compiler Bash Exercises Bash Challenges Bash Quiz

Bash du Command - File Space Usage


Share

Using the du Command

The du command is used to estimate file space usage.

It's helpful for finding out how much space files and directories take up.

All examples below are run in this small directory tree:

.
|-- dir1
|   |-- a.txt
|   `-- subdir1
|       `-- b.txt
|-- dir2
|   |-- c.txt
|   `-- subdir2
|       `-- d.txt
`-- file1.txt

Each directory uses 4K on disk for itself. Each file uses 4K, except c.txt, which uses 8K.

The Try it Yourself examples run on a memory-based file system where directories use no space for themselves, so their totals are smaller.


Understanding the Output

The du command output consists of two columns:

  • Size: The amount of disk space used by the file or directory.
  • Path: The file or directory path.

Basic Usage

To display file space usage, use du:

Example: Basic Usage

du
8	./dir1/subdir1
16	./dir1
8	./dir2/subdir2
20	./dir2
44	.

Without options, sizes are counted in 1K blocks, so 44 means 44 kilobytes.

Try it Yourself »


Options

The du command has options to change how it works:

  • -h - Show sizes in human-readable format (e.g., KB, MB)
  • -s - Show only the total size for each item
  • -a - Show sizes for all files, not just directories
  • -c - Produce a grand total
  • --max-depth=N - Limit the depth of directory traversal

Show Sizes in Human-Readable Format

The -h option allows you to show sizes in human-readable format.

Example: Show Sizes in Human-Readable Format

du -h
8.0K	./dir1/subdir1
16K	./dir1
8.0K	./dir2/subdir2
20K	./dir2
44K	.
Try it Yourself »

Show Only Total Size

The -s option allows you to show only the total size for each item.

Example: Show Only Total Size

du -s
44	.
Try it Yourself »

Show Sizes for All Files

The -a option allows you to show sizes for all files, not just directories.

Example: Show Sizes for All Files

du -a
4	./dir1/a.txt
4	./dir1/subdir1/b.txt
8	./dir1/subdir1
16	./dir1
8	./dir2/c.txt
4	./dir2/subdir2/d.txt
8	./dir2/subdir2
20	./dir2
4	./file1.txt
44	.
Try it Yourself »

Produce a Grand Total

The -c option allows you to produce a grand total.

This is most useful when you give du several directories:

Example: Produce a Grand Total

du -c dir1 dir2
8	dir1/subdir1
16	dir1
8	dir2/subdir2
20	dir2
36	total
Try it Yourself »

Limit Directory Traversal Depth

The --max-depth=N option allows you to limit the depth of directory traversal.

This can be useful for summarizing disk usage at a specific directory level.

Example: Limit Directory Traversal Depth

du --max-depth=1
16	./dir1
20	./dir2
44	.

In this example, du --max-depth=1 shows the space used by each directory at the top level, without diving deeper into subdirectories.

Try it Yourself »

Example: Limit Directory Traversal Depth to 2

du --max-depth=2
8	./dir1/subdir1
16	./dir1
8	./dir2/subdir2
20	./dir2
44	.

Here, du --max-depth=2 provides a summary of disk usage up to two levels deep, including subdirectories.

Try it Yourself »

Combining Options

Options can be combined to provide more detailed output. For example, du -h --max-depth=1 shows sizes in human-readable format with limited directory depth.

Example: Combine Options

du -h --max-depth=1
16K	./dir1
20K	./dir2
44K	.
Try it Yourself »


Free account

Track your progress

XP earned 0 Day streak 0 Spaces 0 League —

New

Learn in Adventure Mode W3Schools Adventure App

Coding fundamentals as bite-sized lessons and challenges.

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookies and privacy policy.

Copyright 1999-2026 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.