Introduction
In this post, I will show you how to create an AWS S3 bucket using AWS CLI.
Prerequisites
You need to have:
- AWS CLI installed and configured
- AWS S3 bucket name
AWS S3 bucket
Step 1: create an AWS S3 bucket
To create an AWS S3 bucket, run the following command:
aws s3 mb s3://<BUCKET_NAME>Explanation:
aws s3 mb- Create a buckets3://<BUCKET_NAME>- Bucket name
Note
- The bucket name must be unique across all existing bucket names in Amazon S3.
- You can use the
--regionoption to specify the region where the bucket will be created.
Step 2: list AWS S3 buckets
To list all AWS S3 buckets, run the following command:
aws s3 lsExplanation:
aws s3 ls- List all buckets
Step 3: upload a file to an AWS S3 bucket
To upload a file to an AWS S3 bucket, run the following command:
aws s3 cp <FILE_PATH> s3://<BUCKET_NAME>Explanation:
aws s3 cp- Copy an object<FILE_PATH>- File path in your local machines3://<BUCKET_NAME>- Bucket name where the file will be uploaded
Step 4: download a file from an AWS S3 bucket
To download a file from an AWS S3 bucket, run the following command:
aws s3 cp s3://<BUCKET_NAME>/<FILE_NAME> <FILE_PATH>Explanation:
aws s3 cp- Copy an objects3://<BUCKET_NAME>/<FILE_NAME>- Bucket name and file name where the file will be downloaded from<FILE_PATH>- File path in your local machine
Step 5: sync a local directory with an AWS S3 bucket
To sync a local directory with an AWS S3 bucket, run the following command:
aws s3 sync <LOCAL_DIRECTORY_PATH> s3://<BUCKET_NAME>Explanation:
aws s3 sync- Sync a local directory with an S3 bucket<LOCAL_DIRECTORY_PATH>- Local directory path in your local machines3://<BUCKET_NAME>- Bucket name that the local directory will be synced to
Step 6: sync an AWS S3 bucket with a local directory
To sync an AWS S3 bucket with a local directory, run the following command:
aws s3 sync s3://<BUCKET_NAME> <LOCAL_DIRECTORY_PATH>Explanation:
aws s3 sync- Sync an S3 bucket with a local directorys3://<BUCKET_NAME>- Bucket name that will be synced to the local directory<LOCAL_DIRECTORY_PATH>- Local directory path in your local machine
Step 7: list files in an AWS S3 bucket
To list all files in an AWS S3 bucket, run the following command:
aws s3 ls s3://<BUCKET_NAME>Explanation:
aws s3 ls- List all objects in a buckets3://<BUCKET_NAME>- Bucket name
Step 8: move a file in an AWS S3 bucket
To move a file in an AWS S3 bucket, run the following command:
aws s3 mv s3://<BUCKET_NAME>/<FILE_NAME> s3://<BUCKET_NAME>/<NEW_FILE_NAME>Explanation:
aws s3 mv- Move an objects3://<BUCKET_NAME>/<FILE_NAME>- Bucket name and file name where the file will be moved froms3://<BUCKET_NAME>/<NEW_FILE_NAME>- Bucket name and new file name where the file will be moved to
Step 9: presign a URL for an AWS S3 bucket
To presign a URL for an AWS S3 bucket, run the following command:
aws s3 presign s3://<BUCKET_NAME>/<FILE_NAME>Explanation:
aws s3 presign- Generate a presigned URL for an Amazon S3 object or a buckets3://<BUCKET_NAME>/<FILE_NAME>- Bucket name and file name where the file will be presigned
Note
- You can use the
--expires-inoption to specify the number of seconds before the presigned URL expires. - You can use the
--regionoption to specify the region where the bucket is located.
Step 10: delete a file from an AWS S3 bucket
To delete a file from an AWS S3 bucket, run the following command:
aws s3 rm s3://<BUCKET_NAME>/<FILE_NAME>Explanation:
aws s3 rm- Remove an objects3://<BUCKET_NAME>/<FILE_NAME>- Bucket name and file name where the file will be deleted from
Step 11: delete an AWS S3 bucket
To delete an AWS S3 bucket, run the following command:
aws s3 rb s3://<BUCKET_NAME>Explanation:
aws s3 rb- Remove a buckets3://<BUCKET_NAME>- Bucket name
Note
- You can use the
--forceoption to delete a non-empty bucket. - You can use the
--regionoption to specify the region where the bucket is located.
Step 12: static website hosting
To host a static website on an AWS S3 bucket, run the following command:
aws s3 website s3://<BUCKET_NAME> --index-document <INDEX_DOCUMENT> --error-document <ERROR_DOCUMENT>Explanation:
aws s3 website- Set the configuration of a bucket for website hostings3://<BUCKET_NAME>- Bucket name--index-document- The name of the index document (for example, index.html)--error-document- The name of the error document (for example, error.html)
Note
- You can use the
--regionoption to specify the region where the bucket is located.
Conclusion
In this tutorial, you learned how to use the AWS CLI to manage AWS S3 buckets. You also learned how to upload, download, sync, list, move, presign, and delete files in AWS S3 buckets.
References
- Amazon S3 User Guide
- AWS CLI Command Reference - s3
- AWS CLI Command Reference - s3api (for more granular S3 operations)
- Working with Amazon S3 Buckets
- Uploading Objects to Amazon S3
- Downloading an Object from Amazon S3
- Syncing Folders with Amazon S3
- Listing Keys in an Amazon S3 Bucket
- Generating a Presigned URL for an S3 Object
- Deleting Objects from Amazon S3
- Deleting an S3 Bucket
- Hosting a Static Website on Amazon S3
- AWS CLI User Guide
- Bucket Naming Rules - Amazon S3









