

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在本機電腦和 CloudShell 之間複製多個檔案
<a name="multiple-files-upload-download"></a>

本教學課程說明如何在本機電腦和 CloudShell 之間複製多個檔案。

使用 AWS CloudShell 介面，您可以一次在本機機器和 shell 環境之間上傳或下載單一檔案。若要同時在 CloudShell 和本機電腦之間複製多個檔案，請使用下列其中一個選項：
+ Amazon S3：在本機電腦和 CloudShell 之間複製檔案時，使用 S3 儲存貯體做為媒介。
+ 壓縮檔案：壓縮單一壓縮資料夾中的多個檔案，可使用 CloudShell 介面上傳或下載。

**注意**  
由於 CloudShell 不允許傳入網際網路流量，因此目前無法使用 `scp`或 等命令`rsync`，在本機機器和 CloudShell 運算環境之間複製多個檔案。

## 使用 Amazon S3 上傳和下載多個檔案
<a name="multiple-files-S3"></a>

此步驟說明如何使用 Amazon S3 上傳和下載多個檔案。

### 先決條件
<a name="prerequesities-s3-multiple-files"></a>

若要使用儲存貯體和物件，您需要授予執行下列 Amazon S3 API 動作許可的 IAM 政策：
+ `s3:CreateBucket`
+ `s3:PutObject`
+ `s3:GetObject`
+ `s3:ListBucket`

如需 Amazon S3 動作的完整清單，請參閱 Amazon Simple Storage Service API 參考**中的[動作](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)。

## AWS CloudShell 使用 Amazon S3 將多個檔案上傳至


此步驟說明如何使用 Amazon S3 上傳多個檔案。

1. 在 中 AWS CloudShell，執行下列`s3`命令來建立 S3 儲存貯體：

   ```
   aws s3api create-bucket --bucket your-bucket-name --region us-east-1
   ```

   如果呼叫成功，命令列會顯示來自 S3 服務的回應：

   ```
   {
       "Location": "/your-bucket-name"
   }
   ```

1. 將目錄中的檔案從本機電腦上傳至儲存貯體。選擇下列其中一個選項來上傳檔案：
   + AWS 管理主控台：使用drag-and-drop將檔案和資料夾上傳至儲存貯體。
   + AWS CLI：使用安裝在本機電腦上的工具版本，使用命令列將檔案和資料夾上傳至儲存貯體。

------
#### [ Using the console ]
   + 在 https：//[https://s3.console.aws.amazon.com/s3/]( https://s3.console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

     （如果您使用的是 AWS CloudShell，您應該已登入 主控台。)
   +  在左側導覽窗格中，選擇**儲存貯**體，然後選擇您要上傳資料夾或檔案的儲存貯體名稱。您也可以選擇建立儲存貯體來建立您選擇的**儲存貯**體。
   +  若要選取您要上傳的檔案和資料夾，請選擇**上傳**。然後，將您選取的檔案和資料夾拖放到主控台視窗中，列出目的地儲存貯體中的物件，或選擇**新增檔案**或**新增資料夾**。

     您選擇的檔案會列在 **Upload (上傳)** 頁面上。
   + 選取核取方塊以指出要新增的檔案。
   + 若要將選取的檔案新增至儲存貯體，請選擇**上傳**。

**注意**  
如需使用主控台時完整範圍組態選項的相關資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[如何將檔案和資料夾上傳至 S3 儲存貯體？](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。

------
#### [ Using AWS CLI ]

**注意**  
針對此選項，您需要在本機電腦上安裝 AWS CLI 工具，並設定 憑證以呼叫 AWS 服務。如需詳細資訊，請參閱[「AWS Command Line Interface 使用者指南」](https://docs.aws.amazon.com/cli/latest/userguide/)。
   + 啟動 AWS CLI 工具並執行下列`aws s3`命令，將指定的儲存貯體與本機電腦上目前目錄的內容同步：

     ```
     aws s3 sync folder-path s3://your-bucket-name 
     ```

   如果同步成功，則會針對新增至儲存貯體的每個物件顯示上傳訊息。

------

1. 返回 CloudShell 命令列並輸入下列命令，以同步 shell 環境中的目錄與 S3 儲存貯體的內容：

   ```
   aws s3 sync  s3://your-bucket-name folder-path
   ```
**注意**  
您也可以將 `--exclude "<value>"`和 `--include "<value>"` 參數新增至`sync`命令，以執行模式比對以排除或包含特定檔案或物件。  
 如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的[使用排除和包含篩選條件](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters)。

   如果同步成功，則會顯示從 儲存貯體下載到 目錄的每個檔案的下載訊息。
**注意**  
使用同步命令時，只會以遞迴方式將新的和更新的檔案從來源目錄複製到目的地。

## AWS CloudShell 使用 Amazon S3 從 下載多個檔案


此步驟說明如何使用 Amazon S3 下載多個檔案。

1. 使用 AWS CloudShell 命令列，輸入下列`aws s3`命令來同步 S3 儲存貯體與 Shell 環境中目前目錄的內容：

   ```
   aws s3 sync folder-path s3://your-bucket-name
   ```
**注意**  
您也可以將 `--exclude "<value>"`和 `--include "<value>"` 參數新增至`sync`命令，以執行模式比對以排除或包含特定檔案或物件。  
 如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的[使用排除和包含篩選條件](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters)。

   如果同步成功，則會針對新增至儲存貯體的每個物件顯示上傳訊息。

1. 將儲存貯體的內容下載至本機電腦。由於 Amazon S3 主控台不支援下載多個物件，因此您需要使用 AWS CLI 安裝在本機電腦上的工具。

   從 AWS CLI 工具的命令列中，執行下列命令：

   ```
   aws s3 sync s3://your-bucket-name folder-path
   ```

   如果同步成功，命令列會顯示每個已更新或新增至目的地目錄中檔案的下載訊息。
**注意**  
針對此選項，您需要在本機電腦上安裝 AWS CLI 工具，並設定 憑證以呼叫 AWS 服務。如需詳細資訊，請參閱[「AWS Command Line Interface 使用者指南」](https://docs.aws.amazon.com/cli/latest/userguide/)。

## 使用壓縮資料夾上傳和下載多個檔案
<a name="multiple-files-zip"></a>

此步驟說明如何使用壓縮資料夾上傳和下載多個檔案。

使用 zip/unzip 公用程式，您可以在 封存中壓縮多個可視為單一檔案的檔案。公用程式會預先安裝在 CloudShell 運算環境中。

 如需預先安裝工具的詳細資訊，請參閱 [開發工具和 shell 公用程式](vm-specs.md#utilities-installed)。

## AWS CloudShell 使用壓縮資料夾將多個檔案上傳至


此步驟說明如何使用壓縮資料夾上傳多個檔案。

1. 在本機電腦上，新增要上傳至壓縮資料夾的檔案。

1. 啟動 CloudShell，然後選擇**動作**、**上傳檔案**。

1. 在**上傳檔案**對話方塊中，選擇**選取檔案**，然後選擇您剛建立的壓縮資料夾。

1. 在**上傳檔案**對話方塊中，選擇**上傳**，將選取的檔案新增至 shell 環境。

1. 在 CloudShell 命令列中，執行下列命令，將 zip 封存的內容解壓縮至指定的目錄：

   ```
   unzip zipped-files.zip -d my-unzipped-folder
   ```

## AWS CloudShell 使用壓縮資料夾從 下載多個檔案


此步驟說明如何使用壓縮資料夾下載多個檔案。

1. 在 CloudShell 命令列中，執行下列命令，將目前目錄中的所有檔案新增至壓縮資料夾：

   ```
   zip -r zipped-archive.zip *
   ```

1. 選擇**動作**、**下載檔案**。

1. 在**下載檔案**對話方塊中，輸入壓縮資料夾的路徑 （例如，)`/home/cloudshell-user/zip-folder/zipped-archive.zip`，然後選擇**下載**。

   如果路徑正確，瀏覽器對話方塊會提供開啟壓縮資料夾或將其儲存至本機電腦的選項。

1. 在您的本機電腦上，您現在可以解壓縮已下載壓縮資料夾的內容。