Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

du(1)

Name

du - summarize disk usage

Synopsis

/usr/bin/du [-dorx] [-a | -s] [-h | -k | -m] [-H | -L] 
     [--scale[=item1,item2,...]] [file ...]
/usr/xpg4/bin/du [-dorx] [-a | -s] [-h | -k | -m] [-H | -L] 
     [--scale[=item1,item2,...]] [file ...]

Description

The du utility writes to standard output the size of the file space allocated to, and the size of the file space allocated to each subdirectory of, the file hierarchy rooted in each of the specified files. The size of the file space allocated to a file of type directory is defined as the sum total of space allocated to all files in the file hierarchy rooted in the directory plus the space allocated to the directory itself. This sum will include the space allocated to any extended attributes encountered.

Files with multiple links will be counted and written for only one entry. The directory entry that is selected in the report is unspecified. By default, file sizes are written in 512-byte units, rounded up to the next 512-byte unit.

/usr/xpg4/bin/du

When du cannot obtain file attributes or read directories (see stat(2)), it will report an error condition and the final exit status will be affected.

Options

The following options are supported for /usr/bin/du and /usr/xpg4/bin/du:

–a

In addition to the default output, report the size of each file not of type directory in the file hierarchy rooted in the specified file. Regardless of the presence of the –a option, non-directories given as file operands will always be listed.

–d

Do not cross filesystem boundaries. For example, the command, du -d / reports usage only on the root partition.

–h

All sizes are scaled to a human readable format. The –h option is equivalent to using the –scale=max,1024 option.

–H

If a symbolic link to a directory is specified on the command line, process the symbolic link by using the directory which the symbolic link references, rather than the link itself.

–k

Write the files sizes in units of 1024 bytes, rather than the default 512-byte units.

–L

Process symbolic links by using the file or directory which the symbolic link references, rather than the link itself.

–m

Write the files sizes in units of megabytes, rather than the default 512-byte units.

–o

Do not add child directories' usage to a parent's total. Without this option, the usage listed for a particular directory is the space taken by the files in that directory, as well as the files in all directories beneath it. This option does nothing if –s is used.

–r

Generate diagnostic messages about unreadable directories and files whose status cannot be obtained. /usr/bin/du is silent if these conditions arise and –r is not specified. /usr/xpg4/bin/du acts as though –r is always specified.

–s

Instead of the default output, report only the total sum for each of the specified files.

–scale[=item1,item2,...]

All sizes are scaled to a human readable format, for example, 14K, 234M, 2.7G, or 3.0T. Scaling is done by repetitively dividing by 1024, unless otherwise specified.

–scale specified without arguments enables default scaled output, and is equivalent to –scale=max,1024.

–scale can be specified with the following arguments.

binary

Scaling is done by repetitively dividing by a scale factor of 1024. The use of binary scaling is indicated by the addition of an 'i' modifier to the suffix (Ki, Mi, Gi, ...).

max

Values are scaled to the largest unit for which the result retains a non-zero integer part. Up to 2 decimal places of fractional output may be shown.

min

Values are scaled to the smallest unit capable of showing the full value within the allotted space of 5 columns, and displayed without the use of fractional output.

minwide

Values are scaled to the smallest unit capable of showing the full value within the allotted space of 8 columns, and displayed without the use of fractional output.

1000

Scaling is done by repetitively dividing by a scale factor of 1000.

1024

Scaling is done by repetitively dividing by a scale factor of 1024.

–x

When evaluating file sizes, evaluate only those files that have the same device as the file specified by the file operand.

Specifying more than one of the options in the mutually exclusive pair, –H and –L, is not considered an error. The last option specified determines the output format.

Specifying more than one of the options in the mutually exclusive set of options –h, –k, and –m is not considered an error. The last option specified determines the output format.

Operands

The following operand is supported:

file

The path name of a file whose size is to be written. If no file is specified, the current directory is used.

OUTPUT

The output from du consists of the amount of the space allocated to a file and the name of the file.

Environment Variables

See environ(7) for descriptions of the following environment variables that affect the execution of du: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

Exit Status

The following exit values are returned:

0

Successful completion.

>0

An error occurred.

Attributes

See attributes(7) for descriptions of the following attributes:

/usr/bin/du

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os
CSI
Enabled
Interface Stability
Committed

/usr/xpg4/bin/du

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/xopen/xcu4
CSI
Enabled
Interface Stability
Standard

See Also

ls(1), stat(2), attributes(7), environ(7), fsattr(7), standards(7)

Notes

A file with two or more links is counted only once. If, however, there are links between files in different directories where the directories are on separate branches of the file system hierarchy, du will count the excess files more than once.

Files containing holes will result in an incorrect block count.