免费的 S3 客户端工具:s3cmd


前言 - 免费的 S3 客户端工具

图形界面(GUI)工具

  1. WinSCP - Windows
    特点:广受欢迎的 Windows 客户端,支持 S3、FTP、SFTP 等多种协议。界面友好,支持文件同步、远程目录管理、多语言版本等功能。
    适用场景:适合Windows用户进行文件传输和管理,尤其是需要与多种协议的服务器交互的场景。
    官方网站:https://winscp.net/eng/index.php
    GitHub:https://github.com/winscp/winscp
  2. S3 Browser - Windows
    特点:免费的 Windows 客户端,专注于 S3 和 CloudFront。提供直观的界面,支持存储桶管理、文件上传/下载、访问控制等功能。
    适用场景:适合需要频繁管理 S3 存储和利用 CloudFront 分发内容的用户。
    官方网站:https://s3browser.com/
  3. Cyberduck - macOS、Windows
    特点:开源的多平台客户端,支持S3、FTP、SFTP等多种协议。界面友好,支持大文件传输、并发控制、文件预览等功能。
    适用场景:适合macOS和Windows用户进行文件管理和传输,尤其是需要处理大文件的场景。
    官方网站:https://cyberduck.io/
    GitHub:https://github.com/iterate-ch/cyberduck

命令行界面(CLI)工具

  1. s3cmd - 跨平台(Windows、macOS、Linux)
    特点:基于Python开发的命令行工具,支持 S3 操作。配置简单,支持批量操作、文件同步等功能。
    适用场景:适合技术用户进行简单的 S3 操作,尤其是需要脚本化的场景。
    GitHub:https://github.com/s3tools/s3cmd
  2. MinIO Client (mc) - 跨平台(Windows、macOS、Linux)
    特点:MinIO 开发的命令行工具,支持 S3 和其他兼容存储。高性能,支持 Kubernetes 集成,适合容器化环境。
    适用场景:适合企业级存储管理、备份与恢复。
    官方网站:https://min.io/
    GitHub:https://github.com/minio/mc

1、安装&配置

1.1、Ubuntu

操作系统:Ubuntu 24.04.1 LTS
安装包:ubuntu-24.04.1-desktop-amd64.iso

# 推荐
sudo apt-get install s3cmd
# 或者从源码安装 - 不推荐麻烦
# pip install s3cmd

# 配置 - 首次/更新配置
s3cmd --configure
# 验证配置是否正确
s3cmd ls

配置向导会提示输入以下信息:

  1. Access Key 和 Secret Key:从 S3 服务端控制台获取。
  2. Default Region [US]: cn-north-1
  3. S3 Endpoint:S3 服务端地址、端口
  4. DNS 样式访问模板:填写一个 bucket
  5. Encryption password:非必须,没有直接回车就可以了
  6. Path to GPG program [/usr/bin/gpg]:安装路径,不更改直接回车
  7. 是否使用 HTTPS
  8. HTTP Proxy server name:没有代理可以直接回车
  9. Test access with supplied credentials? [Y/n]:推荐测试一下,免得配置错误
    10.Save settings? [y/N]:测试成功后,是否保存配置

北京区域:cn-north-1

# 配置完成后,信息会保存在 ~/.s3cfg 文件中,可以手动编辑该文件进行修改
nano ~/.s3cfg

1.2、CentOS

操作系统版本:CentOS Linux release 7.9.2009 (Core)
操作系统安装包:CentOS-7-x86_64-Minimal-2009.iso

# 安装 EPEL(Extra Packages for Enterprise Linux)仓库源
yum install epel-release
# 安装 s3cmd
yum install s3cmd

# 配置 - 首次/更新配置
s3cmd --configure
# 验证配置是否正确
s3cmd ls

配置向导会提示输入以下信息:

  1. Access Key 和 Secret Key:从 S3 服务端控制台获取。
  2. Default Region [US]: cn-north-1
  3. S3 Endpoint:S3 服务端地址、端口
  4. DNS 样式访问模板:填写一个 bucket
  5. Encryption password:非必须,没有直接回车就可以了
  6. Path to GPG program [/usr/bin/gpg]:安装路径,不更改直接回车
  7. 是否使用 HTTPS
  8. HTTP Proxy server name:没有代理可以直接回车
  9. Test access with supplied credentials? [Y/n]:推荐测试一下,免得配置错误
    10.Save settings? [y/N]:测试成功后,是否保存配置

北京区域:cn-north-1

# 配置完成后,信息会保存在 ~/.s3cfg 文件中,可以手动编辑该文件进行修改
nano ~/.s3cfg

2、常用命令

# 查看存储桶
s3cmd ls
# 查看存储桶中的文件
s3cmd ls s3://my-bucket
# 默认情况下文件大小是以字节为单位显示的;增加参数 --human-readable 就直观了
s3cmd ls --human-readable s3://my-bucket

# 创建存储桶
s3cmd mb s3://my-bucket

# 上传文件
s3cmd put localfile.txt s3://my-bucket

# 下载文件
s3cmd get s3://my-bucket/yourfile.txt

# 删除文件
s3cmd del s3://my-bucket/yourfile.txt

3、异常处理

3.1、CentOS 7 配置了阿里云 yum 源导致安装异常

配置阿里云 yum、Epel 源头可参考:https://blog.csdn.net/achi010/article/details/111297977

# 如果配置了 阿里云 yum 源头,会导致安装失败。安装方法如下

# 配置阿里 Epel 源
# yum 仓库配置目录
cd /etc/yum.repos.d/
# 备份
mv epel.repo epel.repo.backup
# 获取阿里 Epel 源
wget -O epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

# 再安装就可以成功了
# 安装 s3cmd
yum install s3cmd

附录

S3 介绍 S3(Simple Storage Service)是一种对象存储服务,最初由亚马逊公司推出,用于存储和检索任意数量的数据。它具有高度可扩展性、可靠性和安全性,广泛应用于数据备份、内容存储、数据湖等场景。

S3的核心概念包括:

  1. 存储桶(Bucket):存储对象的容器,每个存储桶可以包含多个对象。
  2. 对象(Object):存储的数据,可以是文件、图片、视频等。
  3. 键(Key):对象的唯一标识符,用于在存储桶中定位对象。
  4. 元数据(Metadata):与对象关联的键值对,用于描述对象的属性。
  5. 访问控制(ACL):用于管理对存储桶和对象的访问权限。

S3 通过 RESTful API 提供服务,支持多种操作,如上传、下载、删除对象等。由于其简单性和强大的功能,S3 已成为云存储的事实标准,许多其他存储服务也提供了与 S3 兼容的 API。


PS : 记笔记!偶尔忘了来查查! >_<|||