df(1b) on Solnix vs Linux and the BSDs

This page documents /usr/ucb/df, the BSD-compatibility df on Solnix, which is not the df that a plain `df` runs. It documents only -a, -i and -t type, with no size-unit, portability or local-only options. Scripts written for Linux or BSD df flags such as -h, -k, -P or -l will not match this page.

What Solnix runs

The page df(1b) describes /usr/ucb/df. A default Solnix system puts the illumos /usr/bin/df and /usr/sbin/df on PATH, and also ships /usr/xpg4/bin/df. The bundle contains no text for those three, so this page cannot say how their options differ from /usr/ucb/df. Run /usr/ucb/df explicitly if you need the behaviour described here.

Differences

Compared withTopicWhat differs
all fourwhich df this page coversThe Solnix page covers /usr/ucb/df only. The df found on PATH by default is /usr/bin/df, whose options this bundle does not document. Do not assume a plain `df` behaves as described here.
Source: Solnix df(1b) SYNOPSIS (/usr/ucb/df); bundle header (default on PATH is /usr/bin/df, /usr/sbin/df)
all foursize units and human-readable outputSolnix /usr/ucb/df documents no option to choose units: no -k, -h, -H, -m, -g or -B. It does not state the default block size, nor any BLOCKSIZE variable. Linux defaults to 1K blocks; FreeBSD, OpenBSD and NetBSD to 512-byte blocks.
Source: Solnix df(1b) OPTIONS; Linux df(1) DESCRIPTION, -B, -h, -k; FreeBSD df(1) -b, -g, -h, -k, -m, ENVIRONMENT; OpenBSD df(1) -h, -k; NetBSD df(1) -k, -m, -g
all fourportable output (-P)Solnix /usr/ucb/df has no -P. Linux -P selects the POSIX output format. OpenBSD -P is a stricter parseable format that ignores BLOCKSIZE. NetBSD -P documents an exact header and line format. FreeBSD -P means 512-byte blocks, the same as -b.
Source: Solnix df(1b) OPTIONS; Linux df(1) -P; OpenBSD df(1) -P; NetBSD df(1) -P; FreeBSD df(1) -P, BUGS
FreeBSD, OpenBSD, NetBSD-t type syntaxSolnix -t type takes a single type, for example nfs or ufs. FreeBSD, OpenBSD and NetBSD accept a comma-separated list, and a 'no' prefix excludes types. The Solnix page documents neither.
Source: Solnix df(1b) -t; FreeBSD df(1) -t; OpenBSD df(1) -t; NetBSD df(1) -t
Linuxexcluding file system typesSolnix /usr/ucb/df has no exclusion option. Linux -x, --exclude-type=TYPE lists file systems not of that type, and -t, --type=TYPE limits the listing to one type.
Source: Solnix df(1b) OPTIONS; Linux df(1) -t, -x
Linux, FreeBSD, NetBSD-a meaningSolnix -a adds file systems with zero total blocks, such as the auto-mounter. Linux -a adds pseudo, duplicate and inaccessible file systems. FreeBSD and NetBSD -a adds mount points flagged MNT_IGNORE. OpenBSD df has no -a.
Source: Solnix df(1b) -a; Linux df(1) -a; FreeBSD df(1) -a; NetBSD df(1) -a; OpenBSD df(1) SYNOPSIS
all four-i inode reportSolnix -i reports used and free inodes and prints '*' where no information is available. Linux -i lists inode information instead of block usage. FreeBSD prints '-' in place of the usage percentage when a file system has no inodes. The Solnix page does not say whether block columns remain.
Source: Solnix df(1b) -i; Linux df(1) -i; FreeBSD df(1) -i; OpenBSD df(1) -i; NetBSD df(1) -i
all fourlocal-only listing (-l)Solnix /usr/ucb/df documents no -l to limit output to local file systems. Linux, FreeBSD, OpenBSD and NetBSD all provide -l.
Source: Solnix df(1b) OPTIONS; Linux df(1) -l; FreeBSD df(1) -l; OpenBSD df(1) -l; NetBSD df(1) -l
Linux, FreeBSDfile system type column (-T)Solnix /usr/ucb/df has no -T to print the file system type. Linux -T, --print-type and FreeBSD -T add the type column. NetBSD and OpenBSD df have no -T.
Source: Solnix df(1b) OPTIONS; Linux df(1) -T; FreeBSD df(1) -T; OpenBSD df(1) SYNOPSIS; NetBSD df(1) SYNOPSIS
FreeBSD, OpenBSD, NetBSDstale statistics (-n)FreeBSD, OpenBSD and NetBSD -n prints previously obtained statistics without querying file systems, to avoid delays on hung file systems. Solnix /usr/ucb/df documents no such option.
Source: Solnix df(1b) OPTIONS; FreeBSD df(1) -n; OpenBSD df(1) -n; NetBSD df(1) -n
all fourexit statusThe Solnix page has no EXIT STATUS section. OpenBSD documents exit 0 on success and >0 on error. The Linux, FreeBSD and NetBSD pages in the bundle do not give a status either.
Source: Solnix df(1b) (no EXIT STATUS); OpenBSD df(1) EXIT STATUS

Standards

  • POSIX: df is a POSIX.1-2024 utility.
  • Solnix: The df(1b) page has no STANDARDS section, so it states no conformance.
  • FreeBSD: With the exception of most options, df conforms to IEEE Std 1003.1-2004 (“POSIX.1”), which defines only the -k, -P and -t options.
  • OpenBSD: df is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification. The flags [-hiln] and BLOCKSIZE are extensions. The traditional BSD -t behaviour differs from the X/Open System Interfaces option specification.

Writing portable scripts

  • Use only -k, -P and -t in portable scripts, since FreeBSD says POSIX defines only those. Even then, -t differs: Solnix /usr/ucb/df takes one type, while the BSDs take a list.
  • Do not rely on `df` meaning /usr/ucb/df on Solnix. Call /usr/ucb/df explicitly if you need this page's behaviour, or test the option you need on the df on PATH.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.