Commands
Every verb, its flags, and what it does.
dumont cp [-r] [-n] [-v] [--dry-run] <src> <dst> copy; '-' = stdin/stdout; cross-remote OK
dumont mv [-n] [-v] [--dry-run] <src> <dst> rename within a remote; cross-remote = copy+delete
dumont sync [--delete] [--dry-run] <src> <dst> one-way incremental mirror (copies only changes)
dumont ls [-l] [-R] <path> list a directory or file
dumont cat <path> stream a file to stdout
dumont stat <path> metadata + the backend's capabilities
dumont rm [-r] [-v] [--dry-run] <path> remove a file or directory
dumont mkdir [-p] <path> create a directory
dumont caps <remote-or-uri> print a backend's advertised capabilities
dumont remote ls list configured remotes + aliases (no secrets)
dumont remote test <name> resolve a remote's credentials and probe livenessCopy — cp
Copies a file or (with -r) a directory tree. Source and destination may live
on different backends; dumont streams the bytes between them. - is stdin as a
source and stdout as a destination.
dumont cp ./report.csv aws://bucket/reports/
echo hi | dumont cp - mem://vol/note.txt
dumont cp -r ./project /tmp/backup/Move — mv
Renames within a single remote. Across remotes it degrades to a copy followed by a delete of the source. Whether the within-remote rename is atomic depends on the backend (capabilities).
Sync — sync
Makes <dst> mirror <src>, copying only files that are missing or changed
(by size, or source-newer-than-dest mtime). It is idempotent and works across
remotes.
dumont sync ./site cdn://www # copy new/changed files
dumont sync ./site cdn://www --delete # also prune files not in the source
dumont sync ./site cdn://www --dry-run # show what would happen, touch nothingChecksum-based comparison is a planned follow-on; today comparison is by size and mtime.
Listing & reading — ls, cat, stat
dumont ls -l aws://bucket/dir/ # long form (size, mtime)
dumont ls -R aws://bucket/dir/ # recursive
dumont cat aws://bucket/file.txt # stream to stdout
dumont stat aws://bucket/file.txt # metadata + the backend's capabilitiesRemove & create — rm, mkdir
dumont rm aws://bucket/file.txt
dumont rm -r aws://bucket/dir/
dumont mkdir -p aws://bucket/a/b/cIntrospection — caps, remote
dumont caps aws # advertised capabilities of a backend
dumont remote ls # configured remotes + local aliases (no secrets)
dumont remote test aws # resolve credentials + liveness probeSafety flags
On cp / mv / rm:
-n/--no-clobber— skip destinations that already exist.--dry-run— print intended actions to stderr without touching anything.-v/--verbose— print each action as it happens.
dumont also guards against same-file copies and copying a directory into itself.