tcopy(1) on Solnix vs Linux and the BSDs
On Solnix, tcopy is the illumos tcopy at /usr/bin/tcopy. It takes only source and destination, with no options. FreeBSD and NetBSD tcopy add -c, -s, -v and -x for verifying and for controlling output and block size, and FreeBSD also adds -l and -r.
The manual pages
- Solnix: tcopy(1) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: tcopy(1) 15.1-RELEASE
- NetBSD: tcopy(1) 11.0
What Solnix runs
A default Solnix system runs the illumos tcopy at /usr/bin/tcopy. A /usr/ucb/tcopy variant is also shipped, but the bundle does not describe it. The Solnix page requires Berkeley-compatible device names such as /dev/rmt/1b.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, NetBSD | options | Solnix tcopy has the synopsis 'tcopy source [destination]' and documents no options. FreeBSD and NetBSD tcopy accept -c, -s maxblk, -v and -x, so scripts using these flags will fail on Solnix.Source: Solnix tcopy(1) SYNOPSIS; FreeBSD tcopy(1) SYNOPSIS, OPTIONS; NetBSD tcopy(1) SYNOPSIS, Options |
| FreeBSD, NetBSD | verifying a copy | Solnix tcopy documents no way to verify that two tapes are identical. FreeBSD and NetBSD provide -c (copy, then verify) and -v (compare src and dest).Source: Solnix tcopy(1) DESCRIPTION; FreeBSD tcopy(1) -c, -v; NetBSD tcopy(1) -c, -v |
| FreeBSD | output format of the copy | On FreeBSD, a copy to a non-tape dest is written in SIMH-TAP format unless -r is given or dest ends in .000. The Solnix page describes only tape-to-tape copying with blocking preserved.Source: FreeBSD tcopy(1) DESCRIPTION, -r; Solnix tcopy(1) DESCRIPTION |
| FreeBSD | stdin, stdout and log file | FreeBSD tcopy accepts - for src (standard input) and for dest (standard output), and -l logfile redirects messages. The Solnix page documents none of these.Source: FreeBSD tcopy(1) DESCRIPTION, -l; Solnix tcopy(1) SYNOPSIS |
| FreeBSD, NetBSD | informational messages stream | FreeBSD and NetBSD -x send informational messages to standard error. The Solnix page documents no option to redirect its report; it says only that copying produces the same output as scanning.Source: FreeBSD tcopy(1) -x; NetBSD tcopy(1) -x; Solnix tcopy(1) DESCRIPTION |
| FreeBSD, NetBSD | default source device | Solnix requires the source argument. FreeBSD src defaults to /dev/sa0 and NetBSD to /dev/rst0, so tcopy with no arguments works there. Source: Solnix tcopy(1) SYNOPSIS; FreeBSD tcopy(1) DESCRIPTION; NetBSD tcopy(1) DESCRIPTION |
| FreeBSD, NetBSD | device names | Solnix tcopy needs Berkeley-compatible device names, for example /dev/rmt/1b. FreeBSD uses names such as /dev/sa0 and NetBSD /dev/rst0. Source: Solnix tcopy(1) DESCRIPTION; FreeBSD tcopy(1) DESCRIPTION; NetBSD tcopy(1) DESCRIPTION |
| FreeBSD | maximum block size | FreeBSD -s maxblk defaults to kern.maxphys. Solnix has no -s option, and its page does not state a block-size limit.Source: FreeBSD tcopy(1) -s; Solnix tcopy(1) SYNOPSIS |
| FreeBSD | SIGINFO and exit status | FreeBSD tcopy reports current counts on SIGINFO and documents exit status as varying, with zero meaning success. The Solnix page documents neither. Source: FreeBSD tcopy(1) DESCRIPTION, EXIT STATUS; Solnix tcopy(1) |
| FreeBSD, NetBSD | ioctl requirement | The Solnix page notes tcopy runs only on systems supporting an associated set of ioctl(2) requests. The FreeBSD and NetBSD pages have no such note. Source: Solnix tcopy(1) NOTES |
Standards
- POSIX: tcopy is not a POSIX.1-2024 utility.
- FreeBSD: The tcopy command appeared in 4.3BSD. The SIMH-TAP format is documented in the open-simh repository.
- NetBSD: The tcopy command appeared in 4.3BSD.
Writing portable scripts
- For portable use, run only 'tcopy source [destination]' with no options; that is the only form all three systems document.
- Do not rely on a default device or on device names: Solnix wants Berkeley-style names like /dev/rmt/1b, while the BSDs use /dev/sa0 or /dev/rst0.
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.