如何在 Linux 中安装 s3cmd 并管理 Amazon s3 存储桶

S3 , – Simple Storage Service – 是 Amazon 的存储服务,它为 IT 团队提供了一种安全、可扩展且可靠的方式来存储和检索云上的文件和文件夹。 S3 通过确保数据在需要时可用并随着需求的增长而扩展,从而帮助您充分利用数据。

通常,在登录到您的 AWS 账户后,从 Web 浏览器访问 S3。 这也可以使用名为 s3cmd 的漂亮工具在命令行上实现。 这 s3cmd 实用程序是一个开源命令行工具,可让您访问和管理您的 S3 服务。 它允许您创建/删除存储桶、添加/远程文件和文件夹并列出您的 S3 存储桶的内容。

本指南将帮助您在 Linux 上安装 s3cmd,并帮助您充分利用它来管理您的 S3 帐户。

如何在 Linux 上安装 s3cmd

在主要的 Linux 发行版(如 Ubuntu、CentOS 和 RHEL)上安装 s3cmd 简直是天方夜谭。 这是因为 s3cmd 包在他们的存储库中可用。

让我们看看如何在各种发行版上安装 s3cmd:

在 Ubuntu / Debian 风格上

对于 Debian / Ubuntu 发行版,使用 APT 包管理如下:

$ sudo apt install s3cmd

在 CentOS 8 / RHEL 8 上

在 CentOS / RHEL 发行版上,使用以下命令安装 s3cmd:

$ sudo dnf install s3cmd

在 SUSE Linux 上

对于 SUSE Enterprise 服务器,首先添加存储库并使用 齐珀 如图所示的命令行工具。

$ sudo zypper addrepo https://s3tools.org/repo/SLE_11/s3tools.repo
$ zypper install s3cmd

从源安装

如果您的 Linux 发行版未在上面列出,请不要担心。 您可以从适用于所有发行版的源代码安装。

首先,下载最新 s3cmd 版本的 zip 文件,此时为 s3cmd 2.1.0。

$ wget https://sourceforge.net/projects/s3tools/files/s3cmd/2.1.0/s3cmd-2.1.0.zip

在您的主目录中,您应该看到 s3cmd-2.1.0.zip 压缩文件。

接下来,解压缩文件。

$ unzip s3cmd-2.1.0

导航到未压缩的文件夹

$ cd s3cmd-2.1.0

并执行显示的命令从源安装。

$ sudo python3 setup.py install

设置 s3cmd 环境

在我们开始与 Amazon S3 交互之前,我们需要通过提供必要的凭证来设置 s3cmd 工具,例如访问我们的帐户的访问密钥和秘密访问权限。 因此,运行以下命令来配置 s3cmd 环境。

$ s3cmd --configure

提供访问密钥、秘密访问、区域和加密密码,如下面的屏幕截图所示。

请务必使用 HTTPS 协议以增强安全性。

列出 s3 存储桶

我们已成功配置 s3cmd 工具,现在可以开始与 Amazon S3 交互。 在您开始与 S3 交互之前,请确保您的 AWS 上的用户已配置 Amazon S3 IAM 角色。

要列出您账户中的现有 S3 存储桶,请执行以下命令:

$ s3cmd ls

到目前为止,我们还没有,因为我们才刚刚开始。

让我们创建一个?

创建 S3 存储桶

要创建新的 S3 存储桶,请运行显示的命令。 下面的命令在 S3 中创建一个名为 linux方式。

$ s3cmd mb s3://linuxways

您可以前往您的 AWS 账户并确认已创建存储桶,如图所示。

将文件上传到 S3 存储桶

要将常规文件上传到您的存储桶,请调用 选项后跟文件和 S3 存储桶的路径。 下面的命令上传文件 你好.sh 到 S3。

$ s3cmd put hello.sh s3://linuxways/

将目录上传到 S3 存储桶

要上传目录,请使用 -r 用于递归添加目录及其内容的标志。 注意不要添加前导 / 因为这只会添加目录的内容而不是目录本身。

在这里,我们正在上传 图片 包含 JPG 图像文件的目录。

$ s3cmd put -r Pictures s3://linuxways/

列出 S3 存储桶的内容

要查看或显示您的 S3 存储桶包含的内容,请运行该命令。

$ s3cmd ls s3://linuxways/

从 S3 存储桶中删除文件或目录

如果您想删除或删除不再需要的文件,请使用 德尔 如图所示。

$ s3cmd del s3://linuxways/hello.sh

要删除目录,请使用以下相同的语法。 但是,这仅在目录为空时才有效。

$ s3cmd del s3://linuxways/Pictures

如果目录不为空,请使用 -r 递归删除其所有内容的选项,如图所示。

$ s3cmd del -r s3://linuxways/Pictures/

从 S3 中删除存储桶

如果您不再需要您的存储桶,您可以按如下方式将其删除。

$ s3cmd rb s3://linuxways

如果存储桶仍然包含一些文件和文件夹,您将遇到以下错误,通知您存储桶不是空的。

解决方案是返回并删除存储桶中的所有文件和目录,然后重试。

总结

这是 s3cmd 命令行工具的摘要,以及如何使用它来管理您的 Amazon S3 存储功能。