Minio Client (mc) provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage service (AWS Signature v2 and v4).
ls List files and folders.
mb Make a bucket or folder.
cat Display contents of a file.
pipe Write contents of stdin to target. When no target is specified, it writes to stdout.
share Generate URL for sharing.
cp Copy one or more objects to a target.
mirror Mirror folders recursively from a single source to single destination.
diff Compute differences between two folders.
rm Remove file or bucket [WARNING: Use with care].
events Manage bucket notification.
watch Watch for events on object storage and filesystem.
policy Set public policy on bucket or prefix.
session Manage saved sessions of cp and mirror operations.
config Manage configuration file.
update Check for a new software update.
version Print version.
docker pull minio/mc
docker run minio/mc ls play
docker pull minio/mc:edge
docker run minio/mc ls play
Install mc packages using Homebrew
brew install minio-mc
mc --help
Platform | Architecture | URL |
---|---|---|
GNU/Linux | 64-bit Intel | https://dl.minio.io/client/mc/release/linux-amd64/mc |
32-bit Intel | https://dl.minio.io/client/mc/release/linux-386/mc | |
32-bit ARM | https://dl.minio.io/client/mc/release/linux-arm/mc |
chmod +x mc
./mc --help
Platform | Architecture | URL |
---|---|---|
Microsoft Windows | 64-bit | https://dl.minio.io/client/mc/release/windows-amd64/mc.exe |
32-bit | https://dl.minio.io/client/mc/release/windows-386/mc.exe |
mc.exe --help
Platform | Architecture | URL |
---|---|---|
FreeBSD | 64-bit | https://dl.minio.io/client/mc/release/freebsd-amd64/mc |
chmod 755 mc
./mc --help
go get -u github.com/minio/mc
mc --help
Source installation is intended only for developers and advanced users. mc update
command does not support update notifications for source based installations. Please download official releases from https://minio.io/downloads/#minio-client.
If you do not have a working Golang environment, please follow How to install Golang.
go get -u github.com/minio/mc
If you are planning to use mc
only on POSIX compatible filesystems, you may skip this step and proceed to everyday use.
To add one or more Amazon S3 compatible hosts, please follow the instructions below. mc
stores all its configuration information in ~/.mc/config.json
file.
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>
Alias is simply a short name to you cloud storage service. S3 end-point, access and secret keys are supplied by your cloud storage provider. API signature is an optional argument. By default, it is set to "S3v4".
Minio server displays URL, access and secret keys.
mc config host add minio http://192.168.1.51 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v4
Get your AccessKeyID and SecretAccessKey by following AWS Credentials Guide.
mc config host add s3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v4
Get your AccessKeyID and SecretAccessKey by following Google Credentials Guide
mc config host add gcs https://storage.googleapis.com BKIKJAA5BMMU2RHO6IBB V8f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v2
NOTE: Google Cloud Storage only supports Legacy Signature Version 2, so you have to pick - S3v2
mc
is pre-configured with https://play.minio.io:9000, aliased as "play". It is a hosted Minio server for testing and development purpose. To test Amazon S3, simply replace "play" with "s3" or the alias you used at the time of setup.
Example:
List all buckets from https://play.minio.io:9000
mc ls play
[2016-03-22 19:47:48 PDT] 0B my-bucketname/
[2016-03-22 22:01:07 PDT] 0B mytestbucket/
[2016-03-22 20:04:39 PDT] 0B mybucketname/
[2016-01-28 17:23:11 PST] 0B newbucket/
[2016-03-20 09:08:36 PDT] 0B s3git-test/
You may add shell aliases to override your common Unix tools.
alias ls='mc ls'
alias cp='mc cp'
alias cat='mc cat'
alias mkdir='mc mb'
alias pipe='mc pipe'
Please follow Minio Contributor's Guide