xref: /freebsd/usr.bin/du/du.1 (revision a96ef4501919d7ac08e94e98dc34b0bdd744802b)
1.\" Copyright (c) 1990, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"	@(#)du.1	8.2 (Berkeley) 4/1/94
29.\" $FreeBSD$
30.\"
31.Dd August 1, 2019
32.Dt DU 1
33.Os
34.Sh NAME
35.Nm du
36.Nd display disk usage statistics
37.Sh SYNOPSIS
38.Nm
39.Op Fl Aclnx
40.Op Fl H | L | P
41.Op Fl g | h | k | m
42.Op Fl a | s | d Ar depth
43.Op Fl B Ar blocksize
44.Op Fl I Ar mask
45.Op Fl t Ar threshold
46.Op Ar
47.Sh DESCRIPTION
48The
49.Nm
50utility displays the file system block usage for each file argument
51and for each directory in the file hierarchy rooted in each directory
52argument.
53If no file is specified, the block usage of the hierarchy rooted in
54the current directory is displayed.
55.Pp
56The options are as follows:
57.Bl -tag -width indent
58.It Fl A
59Display the apparent size instead of the disk usage.
60This can be helpful when operating on compressed volumes or sparse files.
61.It Fl B Ar blocksize
62Calculate block counts in
63.Ar blocksize
64byte blocks.
65This is different from the
66.Fl h , k , m ,
67.Fl Fl si
68and
69.Fl g
70options or setting
71.Ev BLOCKSIZE
72and gives an estimate of how much space the examined file hierarchy would
73require on a filesystem with the given
74.Ar blocksize .
75Unless in
76.Fl A
77mode,
78.Ar blocksize
79is rounded up to the next multiple of 512.
80.It Fl H
81Symbolic links on the command line are followed, symbolic links in file
82hierarchies are not followed.
83.It Fl I Ar mask
84Ignore files and directories matching the specified
85.Ar mask .
86.It Fl L
87Symbolic links on the command line and in file hierarchies are followed.
88.It Fl P
89No symbolic links are followed.
90This is the default.
91.It Fl a
92Display an entry for each file in a file hierarchy.
93.It Fl c
94Display a grand total.
95.It Fl d Ar depth
96Display an entry for all files and directories
97.Ar depth
98directories deep.
99.It Fl g
100Display block counts in 1073741824-byte (1 GiB) blocks.
101.It Fl h
102.Dq Human-readable
103output.
104Use unit suffixes: Byte, Kilobyte, Megabyte,
105Gigabyte, Terabyte and Petabyte based on powers of 1024.
106.It Fl k
107Display block counts in 1024-byte (1 kiB) blocks.
108.It Fl l
109If a file has multiple hard links, count its size multiple times.
110The default behavior of
111.Nm
112is to count files with multiple hard links only once.
113When the
114.Fl l
115option is specified, the hard link checks are disabled, and these files
116are counted (and displayed) as many times as they are found.
117.It Fl m
118Display block counts in 1048576-byte (1 MiB) blocks.
119.It Fl n
120Ignore files and directories with user
121.Dq nodump
122flag
123.Pq Dv UF_NODUMP
124set.
125.It Fl r
126Generate messages about directories that cannot be read, files
127that cannot be opened, and so on.
128This is the default case.
129This option exists solely for conformance with
130.St -xpg4 .
131.It Fl s
132Display an entry for each specified file.
133(Equivalent to
134.Fl d Li 0 )
135.It Fl Fl si
136.Dq Human-readable
137output.
138Use unit suffixes: Byte, Kilobyte, Megabyte,
139Gigabyte, Terabyte and Petabyte based on powers of 1000.
140.It Fl t Ar threshold
141Display only entries for which size exceeds
142.Ar threshold .
143If
144.Ar threshold
145is negative, display only entries for which size is less than the absolute
146value of
147.Ar threshold .
148.It Fl x
149File system mount points are not traversed.
150.El
151.Pp
152The
153.Nm
154utility counts the storage used by symbolic links and not the files they
155reference unless the
156.Fl H
157or
158.Fl L
159option is specified.
160If either the
161.Fl H
162or
163.Fl L
164option is specified, storage used by any symbolic links which are
165followed is not counted (or displayed).
166The
167.Fl H ,
168.Fl L
169and
170.Fl P
171options override each other and the command's actions are determined
172by the last one specified.
173.Pp
174The
175.Fl h , k , m
176and
177.Fl Fl si
178options all override each other; the last one specified determines
179the block counts used.
180.Sh ENVIRONMENT
181.Bl -tag -width BLOCKSIZE
182.It Ev BLOCKSIZE
183If the environment variable
184.Ev BLOCKSIZE
185is set, and the
186.Fl h , k , m
187or
188.Fl Fl si
189options are not specified, the block counts will be displayed in units of
190that block size.
191If
192.Ev BLOCKSIZE
193is not set, and the
194.Fl h , k , m
195or
196.Fl Fl si
197options are not specified, the block counts will be displayed in 512-byte
198blocks.
199.El
200.Sh EXAMPLES
201Show disk usage for all files in the current directory.
202Output is in human-readable form:
203.Pp
204.Dl # du -ah
205.Pp
206Summarize disk usage in the current directory:
207.Pp
208.Dl # du -hs
209.Pp
210Summarize disk usage for a specific directory:
211.Pp
212.Dl # du -hs /home
213.Pp
214Show name and size of all C files in a specific directory.
215Also display a grand total at the end:
216.Pp
217.Dl # du -ch /usr/src/sys/kern/*.c
218.Sh SEE ALSO
219.Xr df 1 ,
220.Xr chflags 2 ,
221.Xr fts 3 ,
222.Xr symlink 7 ,
223.Xr quot 8
224.Sh STANDARDS
225The
226.Nm
227utility is compliant with the
228.St -p1003.1-2008
229specification.
230.Pp
231The flags
232.Op Fl cdhP ,
233as well as the
234.Ev BLOCKSIZE
235environment variable,
236are extensions to that specification.
237.Pp
238The flag
239.Op Fl r
240is accepted but ignored, for compatibility with systems implementing
241the obsolete
242.St -xcu5
243standard.
244.Sh HISTORY
245The
246.Nm
247utility and its
248.Fl a
249and
250.Fl s
251options first appeared in
252.At v1 .
253.Pp
254The
255.Fl r
256option first appeared in
257.At III
258and is available since
259.Fx 3.5 .
260The
261.Fl k
262and
263.Fl x
264options first appeared in
265.Bx 4.3 Reno
266and
267.Fl H
268in
269.Bx 4.4 .
270The
271.Fl c
272and
273.Fl L
274options first appeared in the GNU fileutils;
275.Fl L
276and
277.Fl P
278are available since
279.Bx 4.4 Lite1 ,
280.Fl c
281since
282.Fx 2.2.6 .
283The
284.Fl d
285option first appeared in
286.Fx 2.2 ,
287.Fl h
288first appeared in
289.Fx 4.0 .
290.Sh AUTHORS
291.An -nosplit
292This version of
293.Nm
294was written by
295.An Chris Newcomb
296for
297.Bx 4.3 Reno
298in 1989.
299