comm(1) on Solnix vs Linux and the BSDs
On Solnix, comm is the illumos /usr/bin/comm, which has only -1, -2 and -3. The Linux GNU options (--check-order, --output-delimiter, --total, -z) and the BSD case-folding options (-i on FreeBSD, -f on OpenBSD and NetBSD) are not in the Solnix page.
The manual pages
- Solnix: comm(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: comm(1) coreutils-full-9.11
- FreeBSD: comm(1) 15.1-RELEASE
- OpenBSD: comm(1) 8.0
- NetBSD: comm(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
comm
What Solnix runs
A default Solnix system runs the illumos comm at /usr/bin/comm, published in pkgs.solnix.illumos-world-man. No other variants are shipped.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD | case-insensitive comparison | FreeBSD comm -i compares lines ignoring case. The Solnix page documents no such option, so a script using -i fails there.Source: FreeBSD comm(1) -i; Solnix comm(1) SYNOPSIS, OPTIONS |
| OpenBSD, NetBSD | -f fold case | OpenBSD and NetBSD comm -f folds case in line comparisons. The Solnix page documents no -f.Source: OpenBSD comm(1) -f; NetBSD comm(1) -f; Solnix comm(1) OPTIONS |
| Linux | GNU-only options | Linux comm has --check-order, --nocheck-order, --output-delimiter=STR, --total and -z/--zero-terminated. The Solnix synopsis is only comm [-123] file1 file2, with no long options.Source: Linux comm(1) DESCRIPTION options; Solnix comm(1) SYNOPSIS |
| Linux | NUL-delimited input | Linux comm -z reads NUL-terminated lines. The Solnix page documents no way to change the line delimiter.Source: Linux comm(1) -z, --zero-terminated; Solnix comm(1) OPTIONS |
| Linux | output delimiter | Linux comm --output-delimiter=STR sets the column separator. The Solnix page does not describe how columns are separated, so it cannot be changed or relied on there.Source: Linux comm(1) --output-delimiter; Solnix comm(1) DESCRIPTION |
| FreeBSD, OpenBSD, NetBSD | column tab layout documented | The FreeBSD, OpenBSD and NetBSD pages say each column is prefixed with one tab per lower-numbered column that is printed. The Solnix page does not describe the column layout. Source: FreeBSD/OpenBSD/NetBSD comm(1) DESCRIPTION; Solnix comm(1) DESCRIPTION |
| all four | unsorted input | Solnix requires input ordered in the current collating sequence and says results are unspecified if it is not. Linux can check order with --check-order. The BSD pages say files should be sorted lexically, with all characters participating in comparisons.Source: Solnix comm(1) DESCRIPTION; Linux comm(1) --check-order; FreeBSD/OpenBSD/NetBSD comm(1) DESCRIPTION |
| all four | environment variables | Solnix lists LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES and NLSPATH. FreeBSD lists LANG, LC_ALL, LC_COLLATE and LC_CTYPE. Linux says comparisons honor LC_COLLATE. OpenBSD and NetBSD list no environment section. Source: Solnix comm(1) ENVIRONMENT VARIABLES; FreeBSD comm(1) ENVIRONMENT; Linux comm(1) DESCRIPTION |
| Linux | standard input operand | Solnix lets either file operand be -, and the page does not exclude both. Linux says only one of FILE1 or FILE2 (not both) may be -. Source: Solnix comm(1) OPERANDS; Linux comm(1) DESCRIPTION |
Standards
- POSIX: comm is a POSIX.1-2024 utility.
- Solnix: Interface Stability: Standard. CSI: enabled.
- FreeBSD: Conforms to IEEE Std 1003.2-1992 (“POSIX.2”). The
-ioption is an extension to the POSIX standard. - OpenBSD: Conforms to IEEE Std 1003.1-2008 (“POSIX.1”). The flag
-fis an extension to that specification. - NetBSD: Conforms to IEEE Std 1003.2-1992 (“POSIX.2”).
Writing portable scripts
- Use only
-1,-2and-3in portable scripts. Case folding (-ior-f),-zand the GNU long options are not on every system. - To compare case-insensitively, fold case in both inputs yourself before running comm, instead of relying on
-ior-f.
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.