

# 什么是 AWS Command Line Interface？
<a name="cli-chap-welcome"></a>

AWS Command Line Interface (AWS CLI) 是一种开源工具，让您能够在命令行 Shell 中使用命令与 AWS 服务进行交互。仅需最少的配置，即可使用 AWS CLI 开始运行命令，以便从终端程序中的命令提示符实现与基于浏览器的 AWS 管理控制台所提供的功能等同的功能：
+ **Linux Shell** – 使用常见 Shell 程序（例如 [https://www.gnu.org/software/bash/](https://www.gnu.org/software/bash/)、[http://www.zsh.org/](http://www.zsh.org/) 和 [https://www.tcsh.org/](https://www.tcsh.org/)）在 Linux 或 macOS 中运行命令。
+ **Windows 命令行** – 在 Windows 上，在 Windows 命令提示符处或在 PowerShell 中运行命令。
+ **远程** – 通过远程终端程序（如 PuTTY 或 SSH）在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行命令，或者使用 AWS Systems Manager 运行命令。

AWS 管理控制台 中的所有 IaaS（基础设施即服务）AWS管理和访问函数均可以在 AWS API 和 AWS CLI 中获取。新的 AWS IaaS 功能和服务在启动时或在 180 天启动期内通过 API 和 CLI 提供全部 AWS 管理控制台 功能。

AWS CLI 提供对 AWS 服务的公共 API 的直接访问。您可以使用 AWS CLI 探索服务的功能，可以开发 Shell 脚本来管理资源。除了低级别的 API 等效命令，多项 AWS 服务还为 AWS CLI 提供了自定义项。自定义项可能包括更高级别的命令，可简化具有复杂 API 的服务的使用。

## 关于 AWS CLI 版本 2
<a name="welcome-versions-v2"></a>

AWS CLI 版本 2 是 AWS CLI 的最新主版本，支持所有最新功能。版本 2 中引入的某些功能无法向后兼容版本 1，您必须升级才能访问这些功能。版本 1 中有一些可能需要您更改脚本的“重大”更改。有关版本 2 中的重大更改的列表，请参阅 [AWS CLI 版本 2 的迁移指南](cliv2-migration.md)。

AWS CLI 版本 2 仅可作为捆绑安装程序安装。虽然您可能会在软件包管理器中找到它，但这些软件包是不受支持的非官方软件包，并非由 AWS 生产或管理。我们建议您仅从本指南中记载的官方 AWS 发行点安装 AWS CLI。

要安装 AWS CLI 版本 2，请参阅 [安装或更新最新版本的 AWS CLI](getting-started-install.md)。

要检查当前安装的版本，请使用以下命令：

```
$ aws --version
aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
```

有关版本历史记录，请参阅 *GitHub* 上的 [AWS CLI 版本 2 更改日志](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

## SDK 主要版本的维护和支持
<a name="sdks-major-versions-maintenance-support"></a>

有关维护和支持 SDK 主要版本及其基础依赖关系的信息，请参阅 [AWS SDK 和工具参考指南](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)中的以下内容：
+ [AWS SDK 和工具维护策略](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html)
+ [AWS SDK 和工具版本支持矩阵](https://docs.aws.amazon.com/sdkref/latest/guide/version-support-matrix.html)

## 关于 Amazon Web Services
<a name="about-aws"></a>

Amazon Web Services (AWS) 是数字基础设施服务的集合，开发人员可在开发应用程序时加以利用。这些服务包括计算、存储、数据库、分析和应用程序同步（消息收发和排队）。AWS使用即用即付服务模式。您只需为您或您的应用程序使用的服务付费。此外，AWS还提供免费使用套餐，以便让AWS作为原型制作和实验平台更易实现。在此套餐中，低于某种使用水平的服务是免费的。有关 AWS 成本和免费套餐的更多信息，请参阅 [AWS 免费套餐](https://aws.amazon.com/free/)。要获取 AWS 账户，请打开 [AWS 主页](https://aws.amazon.com/)并选择**创建 AWS 账户**。

# 关于《AWS CLI 用户指南》中的示例
<a name="welcome-examples"></a>

本指南中 AWS Command Line Interface (AWS CLI) 示例的格式是使用下列约定进行设置的：
+ **提示** – 命令提示符使用 Linux 提示符并显示为 (`$ `)。对于 Windows 特定的命令，`C:\>` 用作提示。请勿在键入命令时包含提示符。
+ **目录** – 当必须从特定目录执行命令时，目录名称将显示在提示符符号之前。
+ **用户输入** – 您在命令行处输入的命令文本采用 **user input** 格式。
+ **可替换文本** – 变量文本（包括您选择的资源的名称，或您必须包含在命令中的由AWS服务生成的 ID）采用的格式为*可替换文本*。在多行命令中或需要特定键盘输入的命令中，键盘命令也可显示为可替换文本。
+ **输出** – AWS 服务返回的输出显示在用户输入下方，采用 `computer output` 格式。

例如，以下 **aws configure** 命令示例显示了用户输入、可替换文本和输出：

1. 在命令行输入 **aws configure**，然后按 **Enter** 键。

1. AWS CLI 输出文本行，提示您输入其他信息。

1. 依次输入每个访问密钥，然后按 **Enter**。

1. 然后，以显示的格式输入 AWS 区域名称，按 **Enter**，然后最后一次按 **Enter** 以跳过输出格式设置。

1. 最终 **Enter** 命令将显示为可替换文本，因为这一行没有用户输入。

   ```
   $ aws configure
   AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
   AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   Default region name [None]: us-west-2
   Default output format [None]: ENTER
   ```

以下示例显示带输出的简单命令。要使用此示例，请输入命令的完整文本（提示符后突出显示的文本），然后按 **Enter**。安全组的名称 *`my-sg`* 可替换为所需的安全组名称。JSON 文档（包括大括号）是输出。如果您将 CLI 配置为以文本或表格式进行输出，输出的格式将有差异。[JSON](https://json.org) 是默认输出格式。

```
$ aws ec2 create-security-group --group-name my-sg --description "My security group"
{
    "GroupId": "sg-903004f8"
}
```

# 有关 AWS CLI 的其他文档和资源
<a name="welcome-resources"></a>

## AWS CLI 文档和资源
<a name="welcome-resources-cli"></a>

除了本用户指南外，在您使用 AWS CLI 时还提供以下有价值的在线资源。
+ [AWS CLI 版本 2 参考指南](https://docs.aws.amazon.com/cli/latest/reference/index.html)
+ [AWS CLI Bash 脚本代码示例存储库](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli)。开源 bash 脚本示例。Bash 脚本示例托管在 *GitHub* 上的 [AWS 代码示例存储库](https://github.com/awsdocs/aws-doc-sdk-examples)中。
+ [AWS CLI GitHub 存储库](https://github.com/aws/aws-cli) 您可以在 *GitHub* 上查看和分流 AWS CLI 的源代码。加入 *GitHub* 上的用户社区，提供反馈、请求功能和提交自己的文章。这包括查看和提供有关 AWS CLI 文档的命令示例。
+ [AWS CLI 别名示例存储库](https://github.com/awslabs/awscli-aliases)您可以在 *GitHub* 上查看和分流 AWS CLI 别名示例。
+ <a name="latest-guide"></a>[AWS CLI 版本 2 更新日志](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1)

## 其他 AWS SDK 和工具
<a name="welcome-resources-sdk"></a>

根据您的使用案例，您可能希望选择符合您需求的某个 AWS SDK 和工具：
+ [AWS SDK 和工具参考指南](https://docs.aws.amazon.com/sdkref/latest/guide/)
+ [适用于 C\$1\$1 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-cpp)
+ [适用于 Go 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-go/api/)
+ [适用于 Java 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/)
+ [适用于 JavaScript 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/)
+ [适用于 Kotlin 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-kotlin)
+ [适用于 .NET 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/)
+ [AWS SDK for Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)
+ [适用于 PHP 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/)
+ [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/)
+ [适用于 Ruby 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/)
+ [适用于 Rust 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-rust)
+ [适用于 SAP ABAP 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-sapabap)
+ [适用于 Swift 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-swift)
+ [AWS Amplify](https://docs.amplify.aws/swift/)