Skip to main content

s3cmd

s3cmd is a long-running Python-based S3 CLI for Linux, macOS, and Windows.

Install

PlatformCommand
macOSbrew install s3cmd
Debian/Ubuntusudo apt install s3cmd
Other Linuxpip install s3cmd

Configure

s3cmd --configure

Fill in the prompts:

FieldValue
Access KeyYour Filebase access key
Secret KeyYour Filebase secret key
Default Regionauto
S3 Endpoints3.filebase.io
DNS-style bucket+hostname%(bucket)s.s3.filebase.io
Encryption password(your choice — used for client-side encryption only)
Use HTTPS protocolYes
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.

What's next