Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
di(1)			    General Commands Manual			 di(1)

Name
       di - disk information

Synopsis
       di  [-AacghHjklLmnPqRtZ]	 [-B block-size] [-d display-size] [-f format]
       [-I include-fstyp-list] [-s sort-type] [-x exclude-fstyp-list] [-X  de-
       bug-level] [-z zone-name] [file [...]]

       If  file	is specified, the usage	information for	the partition on which
       file is located is printed.

       Unless the -a flag is specified,	the following mounted filesystems will
       not normally be displayed: filesystems with total space <= 0;  loopback
       filesystems  that  are duplicates of other normally mounted filesystems
       (filesystem type	of 'lofs', 'none', or 'nullfs'); loopback  filesystems
       that  are  part of a zone (Solaris); filesystems	for which the system's
       ignore flag is set; filesystems that have a  device  name  of  'tmpfs',
       'cgroup'	 or  'swap'; filesystems that have a device name starting with
       '/System/' or 'com.apple.TimeMachine.' (both MacOS).

       Filesystems that	the user does not have permissions to access will  not
       be displayed at all.

       Several options may be specified	to control the output of di:

       -A     Print all	fields (used for debugging).

       -a     (compatibility: --all)
	      Prints  all  mounted devices (normally, those with a total space
	      of zero are not printed e.g. /dev/proc, /dev/fd).

       -B     block-size (compatibility: --block-size, -b)
	      Change the base block size from 1024 (default) to	the size spec-
	      ified.  block-size may be	either:	k - 1024  bytes	 or  si	- 1000
	      bytes.

       Use the -d option to change the scaling display.

       -c     (alias: --csv-output)
	      Comma separated values are output.  The titles are output	as the
	      format  string  specifiers.  Totals are turned off. See also the
	      -n flag.

       -C     (alias: --csv-tabs)
	      Values are output	with tab separators.  See also the -c option.

       -d     display-size (alias: --display-size)
	      Display the usage	in units specified by display-size.  The  dis-
	      play  size  is  calculated  based	 on the	block size (-B).  dis-
	      play-size	may be one of: k - kilobytes  (POSIX),	m - megabytes,
	      g	- gigabytes,   t - terabytes,	p - petabytes,	 e - exabytes,
	      z	- zettabytes,  y - yottabytes,	 r - ronnabytes,   q - quetta,
	      h	- human	readable, H - human readable alternative.

	      The human	readable format	scales the sizes displayed and appends
	      a	 suffix	 (e.g.	48.0k, 3.4M). Sizes within a line may scale to
	      different	units.

	      The human	readable alternative scales all	the sizes in each  in-
	      dividual line to the same	unit size (the largest needed).

	      If di is compiled	without	large number support, the larger units
	      may not work correctly or	may be inaccurate.

       -f     format  Use  the specified format	string format.	See the	Format
	      Strings section.

       -g     (alias for: -dg)
	      Display sizes in gigabytes.

       -h     (alias for: -dh)
	      Display partition	sizes in human readable	format.	 Sizes	within
	      a	line may scale to different unit sizes.

       --help
	      Display some basic usage information.

       -H     (alias for: -dH; compatibility: --human-readable)
	      Display  partition  sizes	 in human readable alternative format.
	      All sizes	in each	individual line	are scaled to  the  same  unit
	      size.

       -I     include-fstype-list (compatibility: -F, --type)
	      Include  only the	filesystem types listed	in include-fstyp-list.
	      The list is a comma separated list of filesystem types.	Multi-
	      ple  -I options may be specified.	 If the	'fuse' filesystem type
	      is specified, all	fuse* filesystems will be included.
	      e.g. -I nfs,tmpfs	or -I nfs -I tmpfs.

       --inodes
	      Ignored.	Use the	-f option.

       -j     (alias: --json-output)
	      The data is output as an array  of  JSON	objects.   Totals  are
	      turned  off.   Use  of  format  specifiers that specify the same
	      field will result	in duplicated field names.  (e.g. p, 1,	2)

	      Possible JSON identifiers	are: scaling,  blocksize,  partitions,
	      filesystem, mount, fstype, options, size,	used, free, available,
	      percused,	 percfree,  inodes,  inodesused,  inodesfree,  percin-
	      odesused.

	      Example Output:
		  {
		    "scaling" :	"human",
		    "blocksize"	: "1024",
		    "partitions" : [
		      {
			"filesystem" : "/dev/nvme0n1p7",
			"mount"	: "/",
			"size" : "19.1G",
			"used" : "11.0G",
			"available" : "7.0G",
			"percused" : "63%",
			"fstype" : "ext4"
		      }
		    ]
		  }

       -k     (alias for: -dk)
	      Display sizes in Kbytes.

       -l     (compatibility: --local)
	      Display only local filesystems.

       -L     Turn off check for duplicate filesystems	(loopback  (lofs/none)
	      mounts).

       -m     (alias for: -dm)
	      Display sizes in megabytes.

       -n     Do  not print a header line above	the list of filesystems.  Use-
	      ful when parsing the output of di.

       --no-sync
	      Ignored.

       -P     (compatibility: --portability)
	      Output format is POSIX standard.	A 1024 byte block size	and  a
	      display size of kilobytes	(-d k) is the default.

       --print-type
	      Ignored.	Use the	-f option.

       -q     Disable quota checks.

       -R     (alias: --dont-resolve-symlinks)
	      Do  not  resolve symlinks	(for mount points that have a trailing
	      UUID).

       -s     sort-type
	      Use sort-type to sort the	output.	 The output of di is  normally
	      sorted  by mount point.  The following sort flags	may be used to
	      change the sort order:

	      m	- by mount point (default)
	      n	- leave	unsorted (as it	appears	in the mount table)
	      s	- by filesystem
	      T	- by total space
	      f	- by free space
	      a	- by available space
	      t	- by filesystem	type
	      r	- reverse the sort order; This will apply to  all  sort	 flags
	      following	this sort flag.

	      These sort options may be	combined in any	order.	e.g.:
	      di -stsrm	# by type, device name,	reversed mount;
	      di -strsrm # by type, reversed device-name, mount.

       --si   An alias for -dh -Bsi.

       --sync Ignored.

       -t     (compatibility: --total)
	      Print  a	totals	line  below the	list of	filesystems.  Only the
	      main pool	of pooled filesystems (zfs, advfs, apfs) are added  to
	      the total.  Pooled filesystems that do not have pool information
	      available	(btrfs)	will not total up correctly.

       It  is  up  to  the  user  to  exclude  (using the -x option) read-only
       filesystems (cdfs, iso9660), swap-based (memfs, mfs, tmpfs) filesystems
       and user	(fuse*)	filesystems.  Excluding	the 'fuse' filesystem will ex-
       clude all fuse* filesystems.

       -v     Ignored.

       --version
	      Display the di version.

       -w     (backwards compatibility)
	      Ignored.	The following argument is ignored.

       -W     (backwards compatibility)
	      Ignored.	The following argument is ignored.

       -x     exclude-fstype-list (compatibility: --exclude-type)
	      Exclude the filesystem types listed in exclude-fstyp-list.   The
	      list is a	comma separated	list of	filesystem types.  Multiple -x
	      options  may be specified.  If the 'fuse'	filesystem type	is ex-
	      cluded,  all  fuse*  filesystems	will  be  excluded.   e.g.  -x
	      nfs,tmpfs	or -x nfs -x tmpfs.

       -X     level
	      Set the program's	debugging level	to debug-level.

       -z     zone-name
	      Display  the  filesystems	for the	specified zone.	 The zone must
	      be visible to the	user.

       -Z     (alias for: -z all)
	      Display the filesystems for all visible zones.

Format Strings
       The output of di	may be specified via a format string.  This string may
       be given	either via the -f command  line	 option	 or  as	 part  of  the
       DI_ARGS	environment  variable.	The format string may specify the fol-
       lowing columns:

       m      Print the	name of	the mount point.

       M (backwards compatibility)
	      Print the	name of	the mount point.

       s      Print the	filesystem name	(device	name).

       S (backwards compatibility)
	      Print the	filesystem name.

       t      Print the	filesystem type.

       T (backwards compatibility)
	      Print the	filesystem type.

       O      Print the	filesystem mount options.

       Total Available

       b      Print the	total space on the filesystem.

       B      Print the	total space on the filesystem  available  for  use  by
	      normal users.

       In Use

       u      Print  the  space	 in use	on the filesystem (actual space	used =
	      total - free).

       c      Print the	space not available for	use by normal users  (total  -
	      available).   Note that this calculation does not	work correctly
	      on the 'apfs' filesystem.

       Free

       f      Print the	amount of free (unused)	space on the filesystem.

       v      Print the	space available	for use	by normal users.

       Percentage Used

       p      Print the	percentage of space not	available for  use  by	normal
	      users (space not available for use / total disk space).

       1      Print  the percentage of space in	use (actual space used / total
	      disk space).

       2      Print the	percentage of space in use, BSD-style.	Represents the
	      percentage of user-available space in  use.   Note  that	values
	      over 100%	are possible (actual space used	/ disk space available
	      to normal	users).

       Percentage Free

       a      Print  the percentage of space available for use by normal users
	      (space available for use / total disk space).

       3      Print the	percentage of space free (actual space	free  /	 total
	      disk space).

       Inodes

       i      Print  the  total	number of file slots (inodes) that can be cre-
	      ated on the filesystem.

       U      Print the	number of file slots in	use.

       F      Print the	number of file slots available.

       P      Print the	percentage of file slots in use.

       The default format string for di	is smbuvpT.

       The format string may also  contain  any	 other	character  not	listed
       above.	The  character will be printed as is.  e.g. di -f 'mbuvp|iUFP'
       will print the character	'|' between the	disk usage and the  file  slot
       usage.  The command sequence:
	      di -f 'mbuvp
	      miUFP'
       will print two lines of data for	each filesystem.

Examples
       As  of version 5.0.0, di	no longer supports 512-byte blocks.  There may
       not be an exact match to	512-byte block output.

       Various df equivalent format strings for	System V release 4 are:
	      /usr/bin/df -v	 di -P -f msbuf1
	      /usr/bin/df -k	 di -d k -f sbcvpm
	      /usr/ucb/df	 di -d k -f sbuv2m
       GNU df:
	      df		 di -dk	-f SbuvpM
	      df -T		 di -dk	-f STbuvpM
	      df -h -T		    di -dh -f STbuvpM
       AIX df:
	      df		 di -d k -f Sbf1UPM
	      df -I		 di -d k -f Sbuf1M
	      df -I -M		 di -d k -f SMbuf1
       HP-UX bdf:
	      bdf		 di -d k -f Sbuv2M
	      bdf -i		 di -d k -f Sbuv2UFPM
       MacOS df:
	      bdf -k		    di -d k -f Sbuv2UFPM
	      bdf -I -h		       di -d h -B si -f	Sbuv2M
	      bdf -Y -I	-h		  di -d	h -B si	-f STbuv2M

       If you like your	numbers	to add up/calculate the	percentage  correctly,
       try one of the following	format strings:

	      di -f SMbuf1T
	      di -f SMbcvpT
	      di -f SMBuv2T

Environment Variables
       The  DI_ARGS  environment  variable may be used to specify command line
       arguments.  e.g.	If you always want gigabytes  displayed,  set  DI_ARGS
       equal to	"-dg".	Any command line arguments specified will override the
       DI_ARGS environment variable.

       The GNU df POSIXLY_CORRECT, and DF_BLOCK_SIZE and the BSD BLOCKSIZE en-
       vironment variables are honored when possible.

See Also
       df(1), libdi(3)

Bugs
       Open a ticket at	https://sourceforge.net/p/diskinfo-di/tickets/
       Send bug	reports	to: brad.lanam.di @ gmail.com

Links
       Home Page: https://diskinfo-di.sourceforge.io/
       Wiki: https://sourceforge.net/p/diskinfo-di/wiki/Home/
       Change Log: https://sourceforge.net/p/diskinfo-di/wiki/ChangeLog/

Author
       Copyright 1994-2025 by Brad Lanam Pleasant Hill,	CA

				  17 Jan 2013				 di(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=di&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help