Since April 2020 the minio client utility does support move functionality:
$ mc mv -h
NAME:
mc mv - move objects
USAGE:
mc mv [FLAGS] SOURCE [SOURCE...] TARGET
FLAGS:
--recursive, -r move recursively
--older-than value move objects older than L days, M hours and N minutes
--newer-than value move objects newer than L days, M hours and N minutes
--storage-class value, --sc value set storage class for new object(s) on target
--encrypt value encrypt/decrypt objects (using server-side encryption with server managed keys)
--attr value add custom metadata for the object
--continue, -c create or resume move session
--preserve, -a preserve filesystem attributes (mode, ownership, timestamps)
--disable-multipart disable multipart upload feature
--encrypt-key value encrypt/decrypt objects (using server-side encryption with customer provided keys)
--config-dir value, -C value path to configuration folder (default: "/Users/prerok/.mc")
--quiet, -q disable progress bar display
--no-color disable color theme
--json enable JSON formatted output
--debug enable debug output
--insecure disable SSL certificate verification
--help, -h show help
The S3 API does not support the move functionality so the mc utility is actually doing the copy first and then removal of the object. Source:
https://github.com/minio/mc/blob/133dd1f7da237a91dc291cbf8f3a5ad66fffc425/cmd/mv-main.go#L363