2.1 KiB
du
du (disk usage) reports the disk space used by files and directories.
Usage
du [OPTIONS]... [FILE]...
Description
By default, du prints human-readable sizes for each file and directory it encounters, starting from the current directory (.) if no path is given.
Options
| Option | Description |
|---|---|
-s, --summarize |
Show only a total for each argument, suppressing per-entry output. |
-a, --all |
Write counts for all files, not just directories. |
-d, --max-depth=N |
Stop at depth N; show only entries at or above depth N. |
-c, --total |
Print a grand total after all arguments have been processed. |
-b, --bytes |
Print sizes in exact bytes instead of human-readable units. |
-H, --human-readable |
Accepted for compatibility; human-readable is the default. |
--help |
Display usage information and exit. |
Output Format
Each line shows a size followed by the path:
SIZE PATH
Sizes are formatted as B, KB, MB, or GB by default, with one decimal place when appropriate (e.g., 1.5 GB). The -b option overrides this to show exact byte counts.
Examples
Show disk usage for the current directory:
du
Show disk usage for a specific path:
du /bin
Show only totals per argument (-s):
du -s /bin /home
Show all files and directories recursively (-a):
du -a /bin
Limit output to depth 1 (-d):
du -d 1 /
Print a grand total after processing (-c):
du -c /bin /home
Show exact byte counts (-b):
du -b /bin
How It Works
du uses sys_get_file_info() to read file sizes and sys_list() to enumerate directory contents recursively. The command skips the synthetic . and .. entries and continues processing remaining paths if one path is inaccessible, printing an error for the failed path.
The size reported is the apparent file size (the logical size stored in the directory entry), not the allocated disk blocks. This is consistent with how BoredOS reports file sizes through the filesystem API.
Exit Status
0: Success1: One or more paths could not be accessed or listed