# AWS CLI

> Official command line interface for Amazon Web Services, with profile-based credentials, configurable output, and shell tab completion.

Stars: 17.3k · Language: Python · Categories: Dev Tools

- Repository: https://github.com/aws/aws-cli
- Page: https://www.trmn.sh/tools/aws-cli

## Install

- macOS pkg installer: `https://awscli.amazonaws.com/AWSCLIV2.pkg`
- Linux x86-64 installer: `https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip`
- Windows MSI installer: `https://awscli.amazonaws.com/AWSCLIV2.msi`

## Overview

aws-cli is the official unified command line interface for Amazon Web Services. It exposes AWS services as subcommands of a single `aws` executable, for example `aws iam list-users`. It runs on Python 3.9 through 3.14, and AWS CLI v2 is distributed as installers for macOS, Linux (x86-64 and arm64), and Windows.

Credentials and settings can come from environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`), a shared credentials file (`~/.aws/credentials`), a config file (`~/.aws/config`), or an IAM Role, which is picked up automatically on EC2 instances. The `aws configure` command prompts for access key, secret key, default region, and default output format. Multiple named profiles are supported and selected with `--profile` or `AWS_PROFILE`. Other settings include region (`--region`, `AWS_DEFAULT_REGION`), output style (`--output`), a CA bundle (`--ca-bundle`), EC2 metadata timeout and retry count, and toggling local parameter validation.

Other documented behavior: services with a single global endpoint, such as IAM, use that endpoint automatically unless `--region` or `--profile` is given. Tab completion is available for bash, tcsh, and zsh through the `aws_completer` program, and it must be enabled manually. Built-in help topics are available through commands such as `aws help config-vars`. The tool is aimed at developers, DevOps engineers, and administrators who manage AWS resources from a terminal or scripts.

### Installation

```bash
# via macOS pkg installer
https://awscli.amazonaws.com/AWSCLIV2.pkg
```

```bash
# via Linux x86-64 installer
https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
```

```bash
# via Windows MSI installer
https://awscli.amazonaws.com/AWSCLIV2.msi
```

## Alternatives

- [GDB dashboard](https://www.trmn.sh/tools/gdb-dashboard.md): A standalone .gdbinit written in Python that shows a modular dashboard of program state in GDB each time the debugged program stops. (Python, 12.3k stars)
- [harlequin](https://www.trmn.sh/tools/harlequin.md): Terminal-based SQL IDE with database adapter support for DuckDB, SQLite, PostgreSQL, MySQL and dozens of other databases (Python, 6.5k stars)
- [Azure CLI](https://www.trmn.sh/tools/azure-cli.md): Microsoft's cross-platform command-line interface for managing Azure resources with az group/subgroup/command syntax, JMESPath queries, and tab completion. (Python, 4.7k stars)
- [textual-astview](https://www.trmn.sh/tools/textual-astview.md): TUI tool for exploring Python Abstract Syntax Trees (AST) with interactive tree view and source highlighting (Python, 100 stars)
- [peplum](https://www.trmn.sh/tools/peplum.md): Terminal-based browser and search interface for Python Enhancement Proposals (PEPs) (Python, 27 stars)

---

Canonical: https://www.trmn.sh/tools/aws-cli
