Df (Unix) Explained

df
Author:Ken Thompson,
Dennis Ritchie
(AT&T Bell Laboratories)
Developer:Various open-source and commercial developers
Operating System:Unix, Unix-like
Platform:Cross-platform
Genre:Command
License:coreutils

GPLv3+

(abbreviation for disk free) is a standard Unix command used to display the amount of available disk space for file systems on which the invoking user has appropriate read access. is typically implemented using the statfs or statvfs system calls.

History

for Unix-like systems is part of the X/Open Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX and the Single Unix Specification. It first appeared in Version 1 AT&T Unix.

The version of bundled in GNU coreutils was written by Torbjorn Granlund, David MacKenzie, and Paul Eggert. The command is available as a separate package for Microsoft Windows as part of the UnxUtils collection of native Win32 ports of common GNU Unix-like utilities.[1]

Usage

The Single UNIX Specification specifications for are: df [-k] [-P|-t] [-del] [file...]

Use 1024-byte units, instead of the default 512-byte units, when writing space figures.
  • Use a standard, portable, output format
  • Write the amount of free space of the file system containing the specified file
  • Most implementations of in Unix and Unix-like operating systems include extra options. The BSD and GNU coreutils versions include, which lists free space in human readable format displaying units with the appropriate SI prefix (e.g. 10 MB[2]),, which lists inode usage, and, restricting display to only local filesystems. GNU includes as well, listing filesystem type information, but the GNU shows the sizes in 1K blocks by default.

    Specification

    The Single Unix Specification (SUS) specifies by original space is reported in blocks of 512 bytes, and that at a minimum, the file system names and the amount of free space.

    The use of 512-byte units is historical practice and maintains compatibility with and other utilities. This does not mandate that the file system itself be based on 512-byte blocks. The 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 (versus the mixed 512/1024-byte usage on BSD systems), and that a option to switch to 1024-byte units was a good compromise. Users who prefer the more logical 1024-byte quantity can easily to without breaking many historical scripts relying on the 512-byte units.

    The output with consists of one line of information for each specified file system. These lines are formatted as follows:

    In the following list, all quantities expressed in 512-byte units (1024-byte when -k is specified) will be rounded up to the next higher unit. The fields are:

    The name of the file system, in an implementation-defined format.
  • The total size of the file system in 512-byte units. The exact meaning of this figure is implementation-defined, but should include,, plus any space reserved by the system not normally available to a user.
  • The total amount of space allocated to existing files in the file system, in 512-byte units.
  • The total amount of space available within the file system for the creation of new files by unprivileged users, in 512-byte units. When this figure is less than or equal to zero, it shall not be possible to create any new files on the file system without first deleting others, unless the process has appropriate privileges. The figure written may be less than zero.
  • The percentage of the normally available space that is currently allocated to all files on the file system. This shall be calculated using the fraction:
  • expressed as a percentage. This percentage may be greater than 100 if is less than zero. The percentage value shall be expressed as a positive integer, with any fractional result causing it to be rounded to the next highest integer.
    The directory below which the file system hierarchy appear

    Example

    Example outputs of the df command:$ dfFilesystem 1K-blocks Used Available Use% Mounted onudev 48764976 0 48764976 0% /devtmpfs 9757068 173100 9583968 2% /run/dev/sda2 1824504008 723009800 1008791744 42% /tmpfs 48785328 0 48785328 0% /dev/shmtmpfs 5120 0 5120 0% /run/locktmpfs 48785328 0 48785328 0% /sys/fs/cgroup/dev/sda1 523248 3672 519576 1% /boot/efi$ df -iFilesystem Inodes IUsed IFree IUse% Mounted onudev 12191244 500 12190744 1% /devtmpfs 12196332 702 12195630 1% /run/dev/sda2 115859456 2583820 113275636 3% /tmpfs 12196332 1 12196331 1% /dev/shmtmpfs 12196332 5 12196327 1% /run/locktmpfs 12196332 16 12196316 1% /sys/fs/cgroup/dev/sda1 0 0 0 - /boot/efi$ df -hFilesystem Size Used Avail Use% Mounted onudev 47G 0 47G 0% /devtmpfs 9.4G 170M 9.2G 2% /run/dev/sda2 1.7T 690G 963G 42% /tmpfs 47G 0 47G 0% /dev/shmtmpfs 5.0M 0 5.0M 0% /run/locktmpfs 47G 0 47G 0% /sys/fs/cgroup/dev/sda1 511M 3.6M 508M 1% /boot/efi

    See also

    External links

    Manual pages

    Notes and References

    1. Web site: Native Win32 ports of some GNU utilities. unxutils.sourceforge.net.
    2. 1 MB = one million bytes