![]() Example usage of df | |
Original author(s) | Ken Thompson, Dennis Ritchie (AT&T Bell Laboratories) |
---|---|
Developer(s) | Variousopen-source andcommercial developers |
Initial release | 3 November 1971; 53 years ago (1971-11-03) |
Operating system | Unix,Unix-like |
Platform | Cross-platform |
Type | Command |
License | coreutils:GPLv3+ |
df (abbreviation fordiskfree) is a standardUnix command used to display the amount of available disk space forfile systems on which the invokinguser has appropriate read access.df is typically implemented using thestatfs or statvfssystem calls.
df
forUnix-like systems is part of theX/Open Portability Guide since issue 2 of 1987. It was inherited into the first version ofPOSIX and theSingle Unix Specification.[1] It first appeared inVersion 1 AT&T Unix.[2]
The version ofdf bundled inGNUcoreutils was written by Torbjorn Granlund, David MacKenzie, and Paul Eggert.[3] The command is available as a separate package forMicrosoft Windows as part of theUnxUtils collection ofnativeWin32ports of common GNU Unix-like utilities.[4]
The Single UNIX Specification specifications fordf are:
df [-k] [-P|-t] [-del] [file...]
Most implementations ofdf inUnix andUnix-like operating systems include extra options. TheBSD andGNU coreutils versions include-h, which lists free space inhuman readable format displaying units with the appropriateSI prefix (e.g. 10MB[5]),-i, which listsinode usage, and-l, restricting display to only local filesystems.GNUdf includes-T as well, listing filesystem type information, but the GNUdf shows the sizes in 1K blocks by default.
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 withls and other utilities. This does not mandate that the file system itself be based on 512-byte blocks. The-k 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 onSystem V (versus the mixed 512/1024-byte usage onBSD systems), and that a-k option to switch to 1024-byte units was a good compromise. Users who prefer the more logical 1024-byte quantity can easilyaliasdf todf -k without breaking many historical scripts relying on the 512-byte units.
The output with-P consists of one line of information for each specified file system. These lines are formatted as follows:
<fs name>
<total space>
<space used>
<space free>
<percentage used>
<fs root>
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:
<fs name>
<total space>
<space used>
,<space free>
, plus any space reserved by the system not normally available to a user.<space used>
<space free>
<percentage used>
<space free>
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.<fs root>
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
df
– Shell and Utilities Reference,The Single UNIX Specification, Version 4 fromThe Open Groupdf(1)
– FreeBSD General CommandsManualdf(1)
– Linux General CommandsManualdf
: report free disk space – Shell and Utilities Reference,The Single UNIX Specification, Version 4 fromThe Open Group