Minio Client is a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage.
Go Shell Other
Clone or download
Failed to load latest commit information.
.github Create (#1783) Jul 30, 2016
autocomplete cli: Add bash and zsh autocomplete (#2095) Mar 28, 2017
buildscripts ISSUE-2507 : Add s390x support for minio-client (#2508) Aug 9, 2018
cmd Remove/deprecate admin lock commands (#2503) Aug 6, 2018
docs Removes unsupported flags and fixes the examples in the doc (#2469) Jun 19, 2018
pkg Fix heal admin API to honor json/quiet flags correctly (#2370) Jan 27, 2018
vendor Vendor pkg/madmin changes in GetConfig/SetConfig (#2513) Aug 15, 2018
.gitignore Remove deprecated snap mc package (#2454) May 29, 2018
.mailmap update AB's contributors email Aug 20, 2015
.travis.yml Handle directories properly in cp and mirror (#2478) Jun 29, 2018 Add conflict document regarding midnight commander (#2021) Feb 19, 2017 mc: Vendorize to new API changes. Jan 24, 2016
Dockerfile Simplified build system and move to go1.10.1 (#2431) Apr 13, 2018
Dockerfile.release Simplified build system and move to go1.10.1 (#2431) Apr 13, 2018
LICENSE Add Apache License v2.0 Jan 17, 2015
Makefile Makefile: Create bin directory if it doesn't exist (#2466) Jun 18, 2018
NOTICE Rename all http references to https Jun 9, 2015 Remove deprecated snap mc package (#2454) May 29, 2018 Remove deprecated snap mc package (#2454) May 29, 2018
appveyor.yml Simplified build system and move to go1.10.1 (#2431) Apr 13, 2018 Add contributors file May 23, 2015 fix: Disable localization to enforce bytewise sorting in functional t… May 30, 2018
main.go mc: Introduce new Dockerfile for mc. (#1938) Jan 1, 2017

Minio Client Quickstart Guide

Slack Go Report Card Docker Pulls

Minio Client (mc) provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff, find 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 a folder.
cat      Display file and object contents.
pipe     Redirect STDIN to an object or file or STDOUT.
share    Generate URL for sharing.
cp       Copy files and objects.
mirror   Mirror buckets and folders.
find     Finds files which match the given set of parameters.
stat     Stat contents of objects and folders.
diff     List objects with size difference or missing between two folders or buckets.
rm       Remove files and objects.
events   Manage object notifications.
watch    Watch for file and object events.
policy   Manage anonymous access to objects.
session  Manage saved sessions for cp command.
config   Manage mc configuration file.
update   Check for a new software update.
version  Print version info.

Docker Container


docker pull minio/mc
docker run minio/mc ls play


docker pull minio/mc:edge
docker run minio/mc:edge ls play

Note: Above examples run mc against Minio play environment by default. To run mc against other S3 compatible servers, start the container this way:

docker run -it --entrypoint=/bin/sh minio/mc

then use the mc config command.



Install mc packages using Homebrew

brew install minio/stable/mc
mc --help


Binary Download

Platform Architecture URL
GNU/Linux 64-bit Intel
chmod +x mc
./mc --help

Microsoft Windows

Binary Download

Platform Architecture URL
Microsoft Windows 64-bit Intel
mc.exe --help

Install from Source

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

If you do not have a working Golang environment, please follow How to install Golang.

go get -d
cd ${GOPATH}/src/

Add a Cloud Storage Service

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.


Alias is simply a short name to your 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".

Lookup is an optional argument. It is used to indicate whether dns or path style url requests are supported by the server. It accepts "dns", "path" or "auto" as valid values. By default, it is set to "auto" and SDK automatically determines the type of url lookup to use.

Example - Minio Cloud Storage

Minio server displays URL, access and secret keys.

mc config host add minio BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12

Example - Amazon S3 Cloud Storage

Get your AccessKeyID and SecretAccessKey by following AWS Credentials Guide.

mc config host add s3 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12

Example - Google Cloud Storage

Get your AccessKeyID and SecretAccessKey by following Google Credentials Guide

mc config host add gcs BKIKJAA5BMMU2RHO6IBB V8f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12

NOTE: Google Cloud Storage only supports Legacy Signature Version 2, so you have to pick - S3v2

Test Your Setup

mc is pre-configured with, 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.


List all buckets from

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/

Make a bucket mb command creates a new bucket.


mc mb play/mybucket
Bucket created successfully `play/mybucket`.

Copy Objects cp command copies data from one or more sources to a target.


mc cp myobject.txt play/mybucket
myobject.txt:    14 B / 14 B  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  100.00 % 41 B/s 0

Everyday Use

Shell aliases

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'
alias find='mc find'

Shell autocompletion

You may also download autocomplete/bash_autocomplete into /etc/bash_completion.d/ and rename it to mc. Don't forget to source the file to make it active on your current shell.

sudo wget -O /etc/bash_completion.d/mc
source /etc/bash_completion.d/mc
mc <TAB>
admin    config   diff     ls       mirror   policy   session  update   watch
cat      cp       events   mb       pipe     rm       share    version

Explore Further

Contribute to Minio Project

Please follow Minio Contributor's Guide


FOSSA Status