Using CyCopy

Documentation / CyCopy

Using CyCopy

Day to day you rarely type cycopy by hand. CyFiler execs it for a heavy transfer so the filer's Xt loop is not stuck inside a byte loop. When you do run it from a shell, the shape matches cp/mv: options, sources, destination directory last.

cycopy file.txt /tmp/out
cycopy -r dir1 dir2 /tmp/out
cycopy --move a.txt b.txt /tmp/out

DEST must already exist and be a directory.

When The Window Appears

Large jobs open a progress window with Pause, Cancel, and a Stay open checkbox (off by default). With Stay open checked, the window remains after success so final stats stay visible (Pause becomes Dismiss; q or Esc dismiss). While a transfer is running, q or Esc ask through an Abort Transfer notice rather than cancelling silently.

Tiny jobs (total regular-file bytes under 5 MiB) suppress the GUI automatically. Use -q / --quiet / --no-gui to force headless on a larger job, or -v for progress lines on stderr without a window.

Conflicts

Default policy is rename: keep both by minting a new name for the incoming file. Other policies:

cycopy --on-conflict=overwrite big.bin /tmp/out

Lists Of Sources

When the filer (or a script) already has a path list:

cycopy --from-list=/tmp/list /tmp/out
find . -name '*.o' -print0 | cycopy -0 --from-list=- /tmp/obj

--from-list=- reads stdin. -0 / --null expects NUL-separated paths. DEST is still the last argument.

Owner And Speed Caps

--preserve-owner attempts chown when privileged (default off). --throttle=RATE caps throughput so demos and GUI tests stay visible (examples: 500K, 2M, 100 for KiB/s). Throttle does not apply to same-device rename moves.

Exit Status

See Also

Cyanotype Project. Blueprint Desktop. BSD 2-clause. Not affiliated with Silicon Graphics. SGI, IRIX, and Indigo Magic belong to their owners. 1.0 is aimed at 31 October 2026.