The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts.

The AWS CLI introduces a new set of simple file commands for efficient file transfers to and from Amazon S3.


Download and run the 64-bit or 32-bit Windows installer.

Mac and Linux

Requires Python 2.6.5 or higher.
Install using pip.

pip install awscli

The AWS Command Line Interface User Guide walks you through installing and configuring the tool. After that, you can begin making calls to your AWS services from the command line.

$ aws ec2 describe-instances


$ aws ec2 start-instances --instance-ids i-1348636c


$ aws sns publish --topic-arn arn:aws:sns:us-east-1:546419318123:OperationsError --message "Script Failure"


$ aws sqs receive-message --queue-url

You can get help on the command line to see the supported services,

$ aws help

the operations for a service,

$ aws autoscaling help

and the parameters for a service operation.

$ aws autoscaling create-auto-scaling-group help

New file commands make it easy to manage your Amazon S3 objects. Using familiar syntax, you can view the contents of your S3 buckets in a directory-based listing.

$ aws s3 ls s3://mybucket

        LastWriteTime            Length Name

        ------------             ------ ----

                                PRE myfolder/

2013-09-03 10:00:00           1234 myfile.txt

You can perform recursive uploads and downloads of multiple files in a single folder-level command. The AWS CLI will run these transfers in parallel for increased performance.

$ aws s3 cp myfolder s3://mybucket/myfolder --recursive

upload: myfolder/file1.txt to s3://mybucket/myfolder/file1.txt

upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/file1.txt

A sync command makes it easy to synchronize the contents of a local folder with a copy in an S3 bucket.

$ aws s3 sync myfolder s3://mybucket/myfolder --exclude *.tmp

upload: myfolder/newfile.txt to s3://mybucket/myfolder/newfile.txt

See the AWS CLI command reference for the full list of supported services.

Connect with other developers in the AWS CLI Community Forum »

Find examples and more in the User Guide »

Learn the details of the latest CLI tools in the Release Notes »

Dig through the source code in the GitHub Repository »