s3cmd
s3cmd is a long-running Python-based S3 CLI for Linux, macOS, and Windows.
Install
| Platform | Command |
|---|---|
| macOS | brew install s3cmd |
| Debian/Ubuntu | sudo apt install s3cmd |
| Other Linux | pip install s3cmd |
Configure
s3cmd --configure
Fill in the prompts:
| Field | Value |
|---|---|
| Access Key | Your Filebase access key |
| Secret Key | Your Filebase secret key |
| Default Region | auto |
| S3 Endpoint | s3.filebase.io |
| DNS-style bucket+hostname | %(bucket)s.s3.filebase.io |
| Encryption password | (your choice — used for client-side encryption only) |
| Use HTTPS protocol | Yes |
| HTTP Proxy server name | (leave blank) |
Test access when prompted. Save the configuration.
The config file is written to ~/.s3cfg. You can edit it directly:
~/.s3cfg
[default]
access_key = YOUR_FILEBASE_KEY
secret_key = YOUR_FILEBASE_SECRET
host_base = s3.filebase.io
host_bucket = %(bucket)s.s3.filebase.io
use_https = True
signature_v2 = False
Common commands
# Buckets
s3cmd mb s3://my-bucket
s3cmd rb s3://my-bucket
s3cmd ls
# Objects
s3cmd put ./photo.jpg s3://my-bucket/
s3cmd get s3://my-bucket/photo.jpg ./
s3cmd rm s3://my-bucket/photo.jpg
s3cmd ls s3://my-bucket/
# Sync
s3cmd sync ./local-folder/ s3://my-bucket/folder/
# Disk usage by bucket
s3cmd du s3://my-bucket/
# Copy/move within Filebase
s3cmd cp s3://my-bucket/a.jpg s3://my-bucket/b.jpg
s3cmd mv s3://my-bucket/old.jpg s3://my-bucket/new.jpg
Multiple profiles
Create multiple config files and pass with --config:
s3cmd --config=~/.s3cfg-prod ls
When to use s3cmd vs. AWS CLI vs. rclone
- s3cmd — simple, ubiquitous on Linux servers, good for quick scripts.
- AWS CLI — official AWS tool, broadest feature support, well-tested.
- rclone — much faster for incremental syncs and cross-provider transfers.
Most users settle on rclone for ongoing workflows and AWS CLI for ad-hoc operations.