Copyright (c) 2001 Sun Microsystems, Inc. - All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
/usr/ucb/du [-adkLr] [-o | -s] [filename]
The du utility gives the number of kilobytes contained in all files and, recursively, directories within each specified directory or file filename. If filename is missing, `.' (the current directory) is used.
A file that has multiple links to it is only counted once.
The following options are supported: -a
Generates an entry for each file.
Does not cross file system boundaries. For example, du -d / reports usage only on the root partition.
Writes the files sizes in units of 1024 bytes, rather than the default 512-byte units.
Processes symbolic links by using the file or directory that the symbolic link references, rather than the link itself.
Does 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 the -s option is used.
Generates messages about directories that cannot be read, files that cannot be opened, and so forth, rather than being silent (the default).
Only displays the grand total for each of the specified filenames.
Entries are generated only for each directory in the absence of options.
Example 1 Showing usage of all subdirectories in a directory
This example uses du in a directory. The pwd(1) command was used to identify the directory, then du was used to show the usage of all the subdirectories in that directory. The grand total for the directory is the last entry in the display:
example% pwd /usr/ralph/misc example% du 5 ./jokes 33 ./squash 44 ./tech.papers/lpr.document 217 ./tech.papers/new.manager 401 ./tech.papers 144 ./memos 80 ./letters 388 ./window 93 ./messages 15 ./useful.news 1211 .
If any of the LC_* variables, that is, LC_CTYPE, LC_MESSAGES, LC_TIME, LC_COLLATE, LC_NUMERIC, and LC_MONETARY (see environ(5)), are not set in the environment, the operational behavior of du for each corresponding locale category is determined by the value of the LANG environment variable. If LC_ALL is set, its contents are used to override both the LANG and the other LC_* variables. If none of the above variables is set in the environment, the "C" (U.S. style) locale determines how du behaves. LC_CTYPE
Determines how du handles characters. When LC_CTYPE is set to a valid value, du can display and handle text and filenames containing valid characters for that locale. du can display and handle Extended Unix Code (EUC) characters where any individual character can be 1, 2, or 3 bytes wide. du can also handle EUC characters of 1, 2, or more column widths. In the "C" locale, only characters from ISO 8859-1 are valid.
Determines how diagnostic and informative messages are presented. This includes the language and style of the messages, and the correct form of affirmative and negative responses. In the "C" locale, the messages are presented in the default form found in the program itself (in most cases, U.S. English).
pwd(1), df(1M), du(1), quot(1M), attributes(5), environ(5)
Filename arguments that are not directory names are ignored, unless you use -a.
If there are too many distinct linked files, du will count the excess files more than once.