Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
Copyright 1989 AT&T
Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved Portions
Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/.
The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text
are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical
and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions 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.
This notice shall appear on any product containing this material.
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/bin/df [-F FSType] [-abeghklntVvZ] [-o FSType-specific_options] [block_device | directory | file | resource ...]
/usr/xpg4/bin/df [-F FSType] [-abeghklnPtVZ] [-o FSType-specific_options] [block_device | directory | file | resource ...]
The df utility displays the amount of disk space occupied by mounted or unmounted file systems, the amount of used and available space, and how much of the file system's total capacity has been used. The file system is specified by device, or by referring to a file or directory on the specified file system.
Used without operands or options, df reports on all mounted file systems.
df may not be supported for all FSTypes.
If df is run on a networked mount point that the automounter has not yet mounted, the file system size will be reported as zero. As soon as the automounter mounts the file system, the sizes will be reported correctly.
The following options are supported for both /usr/bin/df and /usr/xpg4/bin/df:
-a
Reports on all file systems including ones whose entries in /etc/mnttab (see mnttab(4)) have the ignore option set.
-b
Prints the total number of kilobytes free.
-e
Prints only the number of files free.
-F FSType
Specifies the FSType on which to operate. The -F option is intended for use with unmounted file systems. The FSType should be specified here or be determinable from /etc/vfstab (see vfstab(4)) by matching the directory, block_device, or resource with an entry in the table, or by consulting /etc/default/fs. See default_fs(4).
-g
Prints the entire statvfs(2) structure. This option is used only for mounted file systems. It can not be used with the -o option. This option overrides the -b, -e, -k, -n, -P, and -t options.
-h
Like -k, except that sizes are in a more human readable format. The output consists of one line of information for each specified file system. This information includes the file system name, the total space allocated in the file system, the amount of space allocated to existing files, the total amount of space available for the creation of new files by unprivileged users, and the percentage of normally available space that is currently allocated to all files on the file system. 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. This option overrides the -b, -e, -g, -k, -n, -t, and -V options. This option only works on mounted filesystems and can not be used together with -o option.
-k
Prints the allocation in kbytes. The output consists of one line of information for each specified file system. This information includes the file system name, the total space allocated in the file system, the amount of space allocated to existing files, the total amount of space available for the creation of new files by unprivileged users, and the percentage of normally available space that is currently allocated to all files on the file system. This option overrides the -b, -e, -n, and -t options.
-l
Reports on local file systems only. This option is used only for mounted file systems. It can not be used with the -o option.
-n
Prints only the FSType name. Invoked with no operands, this option prints a list of mounted file system types. This option is used only for mounted file systems. It can not be used with the -o option.
-o FSType-specific_options
Specifies FSType-specific options. These options are comma-separated, with no intervening spaces. See the manual page for the FSType-specific command for details.
-t
Prints full listings with totals. This option overrides the -b, -e, and -n options.
-V
Echoes the complete set of file system specific command lines, but does not execute them. The command line is generated by using the options and operands provided by the user and adding to them information derived from /etc/mnttab, /etc/vfstab, or /etc/default/fs. This option may be used to verify and validate the command line.
-Z
Displays mounts in all visible zones. By default, df only displays mounts located within the current zone. This option has no effect in a non-global zone.
The following option is supported for /usr/bin/df only:
-v
Like -k, except that sizes are displayed in multiples of the smallest block size supported by each specified file system. The output consists of one line of information for each file system. This one line of information includes the following:
the file system's mount point
the file system's name
the total number of blocks allocated to the file system
the number of blocks allocated to existing files
the number of blocks available for the creation of new files by unprivileged users
the percentage of blocks in use by files
The following option is supported for /usr/xpg4/bin/df only:
-P
Same as -h except in 512-byte units.
The df utility interprets operands according to the following precedence: block_device, directory, file. The following operands are supported:
block_device
directory
Represents a valid directory name. df reports on the file system that contains directory.
file
Represents a valid file name. df reports on the file system that contains file.
resource
Represents an NFS resource name.
See largefile(5) for the description of the behavior of df when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
Example 1 Executing the df command
The following example shows the df command and its output:
example% /usr/bin/df / (/dev/dsk/c0t0d0s0 ): 287530 blocks 92028 files /system/contract (ctfs ): 0 blocks 2147483572 files /system/object (objfs ): 0 blocks 2147483511 files /usr (/dev/dsk/c0t0d0s6 ): 1020214 blocks 268550 files /proc (/proc ): 0 blocks 878 files /dev/fd (fd ): 0 blocks 0 files /etc/mnttab (mnttab ): 0 blocks 0 files /var/run (swap ): 396016 blocks 9375 files /tmp (swap ): 396016 blocks 9375 files /opt (/dev/dsk/c0t0d0s5 ): 381552 blocks 96649 files /export/home (/dev/dsk/c0t0d0s7 ): 434364 blocks 108220 files
where the columns represent the mount point, device (or "filesystem", according to df -k), free blocks, and free files, respectively. For contract file systems, /system/contract is the mount point, ctfs is the contract file system (used by SMF) with 0 free blocks and 2147483582(INTMAX-1) free files. For object file systems, /system/object is the mount point, objfs is the object file system (see objfs(7FS)) with 0 free blocks and 2147483511 free files.
Example 2 Writing Portable Information About the /usr File System
The following example writes portable information about the /usr file system:
example% /usr/xpg4/bin/df -P /usr
Example 3 Writing Portable Information About the /usr/src file System
Assuming that /usr/src is part of the /usr file system, the following example writes portable information :
example% /usr/xpg4/bin/df -P /usr/src
Example 4 Using df to Display Inode Usage
The following example displays inode usage on all ufs file systems:
example%/usr/bin/df -F ufs -o i
SYSV3
This variable is used to override the default behavior of df and provide compatibility with INTERACTIVE UNIX System and SCO UNIX installation scripts. As the SYSV3 variable is provided for compatibility purposes only, it should not be used in new scripts.
When set, any header which normally displays "files" will now display "nodes". See environ(5) for descriptions of the following environment variables that affect the execution of df: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned:
0
Successful completion.
>0
An error occurred.
Disk devices
Default local file system type. Default values can be set for the following flags in /etc/default/fs. For example: LOCAL=ufs, where LOCAL is the default partition for a command if no FSType is specified.
Mount table
List of default parameters for each file system
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard |
find(1), df_ufs(1M), mount(1M), statvfs(2), default_fs(4), mnttab(4), vfstab(4), attributes(5), environ(5), largefile(5), standards(5), objfs(7FS)
If UFS logging is enabled on a file system, the disk space used for the log is reflected in the df report. The log is allocated from free blocks on the file system, and it is sized approximately 1 Mbyte per 1 Gbyte of file system, up to 256 Mbytes. The log size may be larger (up to a maximum of 512 Mbytes) depending on the number of cylinder groups present in the file system.