summaryrefslogtreecommitdiffstats
path: root/man1p/du.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man1p/du.1p')
-rw-r--r--man1p/du.1p244
1 files changed, 244 insertions, 0 deletions
diff --git a/man1p/du.1p b/man1p/du.1p
new file mode 100644
index 000000000..3f34004f8
--- /dev/null
+++ b/man1p/du.1p
@@ -0,0 +1,244 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "DU" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" du
+.SH NAME
+du \- estimate file space usage
+.SH SYNOPSIS
+.LP
+\fBdu\fP \fB[\fP\fB-a | -s\fP\fB][\fP\fB-kx\fP\fB][\fP\fB-H | -L\fP\fB][\fP\fIfile\fP
+\fB\&...\fP\fB]\fP\fB\fP
+.SH DESCRIPTION
+.LP
+By default, the \fIdu\fP utility shall write 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. By default, when a symbolic
+link is encountered on the command line or in the file hierarchy,
+\fIdu\fP shall count the size of the symbolic link (rather than
+the file referenced by the link), and shall not follow the link to
+another portion of the file hierarchy. The size of the file
+space allocated to a file of type directory shall be 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.
+.LP
+When \fIdu\fP cannot \fIstat\fP() files or \fIstat\fP() or read directories,
+it shall report an error condition and the final exit status is
+affected. Files with multiple links shall be counted and written for
+only one entry. The directory entry that is selected in the
+report is unspecified. By default, file sizes shall be written in
+512-byte units, rounded up to the next 512-byte unit.
+.SH OPTIONS
+.LP
+The \fIdu\fP utility shall conform to the Base Definitions volume
+of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
+.LP
+The following options shall be supported:
+.TP 7
+\fB-a\fP
+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 \fB-a\fP option,
+non-directories given as \fIfile\fP operands shall always be
+listed.
+.TP 7
+\fB-H\fP
+If a symbolic link is specified on the command line, \fIdu\fP shall
+count the size of the file or file hierarchy referenced by
+the link.
+.TP 7
+\fB-k\fP
+Write the files sizes in units of 1024 bytes, rather than the default
+512-byte units.
+.TP 7
+\fB-L\fP
+If a symbolic link is specified on the command line or encountered
+during the traversal of a file hierarchy, \fIdu\fP shall
+count the size of the file or file hierarchy referenced by the link.
+.TP 7
+\fB-s\fP
+Instead of the default output, report only the total sum for each
+of the specified files.
+.TP 7
+\fB-x\fP
+When evaluating file sizes, evaluate only those files that have the
+same device as the file specified by the \fIfile\fP
+operand.
+.sp
+.LP
+Specifying more than one of the mutually-exclusive options \fB-H\fP
+and \fB-L\fP shall not be considered an error. The last
+option specified shall determine the behavior of the utility.
+.SH OPERANDS
+.LP
+The following operand shall be supported:
+.TP 7
+\fIfile\fP
+The pathname of a file whose size is to be written. If no \fIfile\fP
+is specified, the current directory shall be used.
+.sp
+.SH STDIN
+.LP
+Not used.
+.SH INPUT FILES
+.LP
+None.
+.SH ENVIRONMENT VARIABLES
+.LP
+The following environment variables shall affect the execution of
+\fIdu\fP:
+.TP 7
+\fILANG\fP
+Provide a default value for the internationalization variables that
+are unset or null. (See the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
+for
+the precedence of internationalization variables used to determine
+the values of locale categories.)
+.TP 7
+\fILC_ALL\fP
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.TP 7
+\fILC_CTYPE\fP
+Determine the locale for the interpretation of sequences of bytes
+of text data as characters (for example, single-byte as
+opposed to multi-byte characters in arguments).
+.TP 7
+\fILC_MESSAGES\fP
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard
+error.
+.TP 7
+\fINLSPATH\fP
+Determine the location of message catalogs for the processing of \fILC_MESSAGES
+\&.\fP
+.sp
+.SH ASYNCHRONOUS EVENTS
+.LP
+Default.
+.SH STDOUT
+.LP
+The output from \fIdu\fP shall consist of the amount of space allocated
+to a file and the name of the file, in the following
+format:
+.sp
+.RS
+.nf
+
+\fB"%d %s\\n", <\fP\fIsize\fP\fB>, <\fP\fIpathname\fP\fB>
+\fP
+.fi
+.RE
+.SH STDERR
+.LP
+The standard error shall be used only for diagnostic messages.
+.SH OUTPUT FILES
+.LP
+None.
+.SH EXTENDED DESCRIPTION
+.LP
+None.
+.SH EXIT STATUS
+.LP
+The following exit values shall be returned:
+.TP 7
+\ 0
+Successful completion.
+.TP 7
+>0
+An error occurred.
+.sp
+.SH CONSEQUENCES OF ERRORS
+.LP
+Default.
+.LP
+\fIThe following sections are informative.\fP
+.SH APPLICATION USAGE
+.LP
+None.
+.SH EXAMPLES
+.LP
+None.
+.SH RATIONALE
+.LP
+The use of 512-byte units is historical practice and maintains compatibility
+with \fIls\fP
+and other utilities in this volume of IEEE\ Std\ 1003.1-2001. This
+does not mandate that the file system itself be based on
+512-byte blocks. The \fB-k\fP option was added as a compromise measure.
+It was agreed by the standard developers that 512 bytes
+was the best default unit because of its complete historical consistency
+on System V (\fIversus\fP the mixed 512/1024-byte usage
+on BSD systems), and that a \fB-k\fP option to switch to 1024-byte
+units was a good compromise. Users who prefer the 1024-byte
+quantity can easily alias \fIdu\fP to \fIdu\fP \fB-k\fP without breaking
+the many historical scripts relying on the 512-byte
+units.
+.LP
+The \fB-b\fP option was added to an early proposal to provide a resolution
+to the situation where System V and BSD systems give
+figures for file sizes in \fIblocks\fP, which is an implementation-defined
+concept. (In common usage, the block size is 512 bytes
+for System V and 1024 bytes for BSD systems.) However, \fB-b\fP was
+later deleted, since the default was eventually decided as
+512-byte units.
+.LP
+Historical file systems provided no way to obtain exact figures for
+the space allocation given to files. There are two known
+areas of inaccuracies in historical file systems: cases of \fIindirect
+blocks\fP being used by the file system or \fIsparse\fP
+files yielding incorrectly high values. An indirect block is space
+used by the file system in the storage of the file, but that
+need not be counted in the space allocated to the file. A \fIsparse\fP
+file is one in which an \fIlseek\fP() call has been made to a position
+beyond the end of the file and data has subsequently
+been written at that point. A file system need not allocate all the
+intervening zero-filled blocks to such a file. It is up to the
+implementation to define exactly how accurate its methods are.
+.LP
+The \fB-a\fP and \fB-s\fP options were mutually-exclusive in the original
+version of \fIdu\fP. The POSIX Shell and Utilities
+description is implied by the language in the SVID where \fB-s\fP
+is described as causing "only the grand total" to be reported.
+Some systems may produce output for \fB-sa\fP, but a Strictly Conforming
+POSIX Shell and Utilities Application cannot use that
+combination.
+.LP
+The \fB-a\fP and \fB-s\fP options were adopted from the SVID except
+that the System V behavior of not listing non-directories
+explicitly given as operands, unless the \fB-a\fP option is specified,
+was considered a bug; the BSD-based behavior (report for
+all operands) is mandated. The default behavior of \fIdu\fP in the
+SVID with regard to reporting the failure to read files (it
+produces no messages) was considered counter-intuitive, and thus it
+was specified that the POSIX Shell and Utilities default
+behavior shall be to produce such messages. These messages can be
+turned off with shell redirection to achieve the System V
+behavior.
+.LP
+The \fB-x\fP option is historical practice on recent BSD systems.
+It has been adopted by this volume of
+IEEE\ Std\ 1003.1-2001 because there was no other historical method
+of limiting the \fIdu\fP search to a single file
+hierarchy. This limitation of the search is necessary to make it possible
+to obtain file space usage information about a file
+system on which other file systems are mounted, without having to
+resort to a lengthy \fIfind\fP and \fIawk\fP script.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIls\fP , the System Interfaces volume of IEEE\ Std\ 1003.1-2001,
+\fIstat\fP()
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .