

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS CloudShell 概念
<a name="working-with-aws-cloudshell"></a>

本节介绍如何与支持的应用程序交互 AWS CloudShell 并执行特定操作。

**Topics**
+ [浏览界面 AWS CloudShell](#navigating-the-interface)
+ [在 AWS 区域](#region-selection)
+ [处理文件和存储](#files-storage)
+ [CloudShell 在 Console Mobile Application 中访问](#working-with-cloudshell-in-console-mobile-application)
+ [使用 Docker](#working-with-docker)

## 浏览界面 AWS CloudShell
<a name="navigating-the-interface"></a>

您可以从 AWS 管理控制台 和中浏览 CloudShell 界面功能Console Toolbar。

以下屏幕截图显示了几个关键的 AWS CloudShell 界面功能。

![\[AWS CloudShell 界面的主要特点。\]](http://docs.aws.amazon.com/zh_cn/cloudshell/latest/userguide/images/Widget_CS_customization_updated.png)


1. AWS CloudShell 命令行界面，用于使用[首选 shell](getting-started.md#launch-region-shell) 运行命令。当前 Shell 类型由命令提示符指示。

1. 终端选项卡，它使用当前 AWS CloudShell 的运行 AWS 区域 位置。

1. **\$1** 图标是一个下拉菜单，包括创建、重启和删除环境的选项。

1. **操作**菜单，提供[更改屏幕布局](customizing-cshell.md#tabs-layout)、[下载](getting-started.md#download-file)和[上传](getting-started.md#folder-upload)文件、[重启 AWS CloudShell](getting-started.md#restart-shell-session)和[删除 AWS CloudShell 主目录](getting-started.md#delete-shell-session)的选项。
**注意**  
当您在 CloudShell 上启动时，“**下载**” 选项不可用Console Toolbar。

    

1. **在新浏览器中打开选项卡**，提供全屏访问 CloudShell 会话的选项。

1. **首选项**选项，可用于[自定义 Shell 体验](customizing-cshell.md)。

1. 底部栏提供以下选项：
   +  CloudShell 从**CloudShell**图标启动。
   + 通过**反馈**图标提供反馈。选择您要提交的反馈类型，添加您的评论，然后选择**提交**。
     + 要提交反馈 CloudShell，请选择以下选项之一：
       + 从控制台启动 CloudShell并选择 “**反馈**”。添加您的评论，然后选择**提交**。
       + 选择**CloudShell**控制台左下角的Console Toolbar，然后选择 “**在新浏览器选项卡中打开” 图标 “****反馈**”。添加您的评论，然后选择**提交**。
**注意**  
当您在 CloudShell 上启动时，“**反馈**” 选项不可用Console Toolbar。
   + 了解我们的隐私政策和使用条款，并自定义 Cookie 首选项。

## 在 AWS 区域
<a name="region-selection"></a>

您 AWS 区域 正在运行的当前显示为选项卡。

您可以通过使用区域选择器选择特定区域来选择 AWS 区域 要处理的区域。更改区域后，当您的 Shell 会话连接到在选定区域中运行的不同计算环境时，界面会刷新。

**重要**  
每个存储空间最多可使用 1 GB 的永久存储空间 AWS 区域。持久性存储保存在您的主目录 (`$HOME`) 中。这意味着存储在您的主目录中的任何个人文件、目录、程序或脚本都位于同一个 AWS 区域中。此外，它们与位于主目录中但存储在不同区域中的那些文件不同。  
文件在持久性存储中的长期保留也是按区域管理的。有关更多信息，请参阅 [持久性存储](limits.md#persistent-storage-limitations)。
永久存储不适用于 AWS CloudShell VPC 环境。

### 指定您的默认 AWS 区域 值 AWS CLI
<a name="environment-variaiables-regions"></a>

您可以使用[环境变量](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)来指定访问 AWS 服务 所需的配置选项和凭据 AWS CLI。当您从中的特定区域启动时，或者在区域选择器 AWS CloudShell 中选择一个选项时，将在中设置 AWS 区域 用于指定 shell 会话默认值的环境变量。 AWS 管理控制台 

[环境变量优先于由更新的 AWS CLI 凭据文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence)`aws configure`。因此，您无法运行 `aws configure` 命令来更改由环境变量指定的区域。相反，要更改 AWS CLI 命令的默认区域，请为`AWS_REGION`环境变量赋值。在以下示例中，将 `us-east-1` 替换为您所在的区域。

------
#### [ Bash or Zsh ]

```
$ export AWS_REGION=us-east-1
```

设置环境变量会更改使用的值，直到 Shell 会话结束或当您将该变量设置为其他值时。通过在 Shell 的启动脚本中设置变量，可使变量在未来的会话中继续有效。

------
#### [ PowerShell ]

```
PS C:\> $Env:AWS_REGION="us-east-1"
```

如果在 PowerShell 提示符处设置环境变量，则环境变量仅在当前会话的持续时间内保存该值。或者，您可以通过将变量添加到您的 PowerShell 个人资料中来为所有未来 PowerShell 会话设置该变量。有关存储环境变量的更多信息，请参阅[PowerShell 文档](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7.1)。

------

要确认您已更改默认区域，请运行`aws configure list`命令以显示当前的 AWS CLI 配置数据。

**注意**  
对于特定 AWS CLI 命令，您可以使用命令行选项覆盖默认区域`--region`。有关更多信息，请参阅 *AWS Command Line Interface 用户指南*中的 [Command line options](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html)。

## 处理文件和存储
<a name="files-storage"></a>

使用 AWS CloudShell的界面，您可以将文件上传到 shell 环境，也可以从 shell 环境下载文件。有关下载和上传文件的更多信息，请参阅[入门 AWS CloudShell。](getting-started.md)

为了确保您添加的任何文件在会话结束后仍然可用，您应该知道持久性存储和临时存储之间的区别。
+ **永久存储：**每种存储空间都有 1 GB AWS 区域。持久性存储在您的主目录中。
+ **临时存储：**临时存储空间在会话结束时被回收。临时存储位于主目录之外的目录中。

**重要**  
确保将要保留并用于将来的 Shell 会话的文件保存在您的主目录中。例如，假设您通过运行 `mv` 命令将某个文件移出主目录。然后，当前 Shell 会话结束时，该文件将被回收。

## CloudShell 在 Console Mobile Application 中访问
<a name="working-with-cloudshell-in-console-mobile-application"></a>

您可以 AWS Console Mobile Application 从主屏幕 CloudShell 中访问。在主屏幕上，您可以查看有关 CloudShell 和其他 AWS 服务的信息。有关更多信息，请参阅 [AWS Console Mobile Application入门](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/getting-started.html)。要 CloudShell 在中启动 AWS Console Mobile Application，请选择以下选项之一：
+ 选择导航栏底部的 **CloudShell** 图标。
+ 在 “服务” 菜单**CloudShell**上选择。

您可以 CloudShell 随时选择 **X** 退出。

有关在 Console Mobile Application CloudShell 中进行访问的更多信息，请参阅[访问 AWS CloudShell](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/getting-started.html#step-7-access-aws-cloudshell)。

**注意**  
目前，您无法在 AWS Console Mobile Application中创建或启动 VPC 环境。

## 使用 Docker
<a name="working-with-docker"></a>

AWS CloudShell 无需安装或配置即可完全支持 Docker。你可以在里面 AWS CloudShell定义、构建和运行 Docker 容器。您可以通过 AWS CDK 工具包部署基于 Docker 的资源，例如基于 Docker 容器的 Lambda 函数，也可以构建 Docker 容器并通过 Docker CLI 将其推送到 Amazon ECR 存储库。有关如何运行这两个部署的详细步骤，请参阅以下教程：
+ [教程：使用部署 Lambda 函数 AWS CDK](tutorial-docker-cdk-deploy.md)
+ [教程：在里面构建 Docker 容器 AWS CloudShell 并将其推送到 Amazon ECR 存储库](tutorial-docker-cli.md)

通过 AWS CloudShell使用 Docker 有某些限制：
+ Docker 在环境中的空间有限。如果您的单个映像较大，或者预先存在的 Docker 映像过多，则可能会导致无法拉取、构建或运行其他映像。有关 Docker 的更多信息，请参阅 [Docker 文档指南](https://docs.docker.com/get-started/overview/)。
+ 除了 AWS GovCloud （美国） AWS 区域外，Docker 在所有区域都可用。有关可用 Docker 的区域列表，请参阅[支持的 AWS 区域。 AWS CloudShell](supported-aws-regions.md)
+ 如果您在使用 Docker 时遇到问题 AWS CloudShell，请参阅本指南的 “[疑难解答](troubleshooting.md)” 部分，了解如何解决这些问题。