Command-line client

Move data and operate X2 with xc

XC provides named endpoint profiles, S3 bucket and object commands, synchronization, policies, statistics, and operational diagnostics.

01

Download XC

Select the current platform on the Downloads page, then download XC from Additional files. The installed executable is named xc on Linux and macOS, and xc.exe on Windows.

Commands for
chmod 0755 ./xc
sudo install -m 0755 ./xc /usr/local/bin/xc
xc --help
.\xc.exe --help
# Keep xc.exe in a directory on PATH for system-wide use.
chmod 0755 ./xc
sudo install -m 0755 ./xc /usr/local/bin/xc
xc --help
02

Create an endpoint profile

XC can save a profile that references credential environment-variable names instead of persisting the secret in the profile. The literal export examples below are illustrative: if entered directly, the secret can remain in shell history, terminal capture, or process diagnostics. In production, inject the variables from a protected prompt, service credential store, or secret manager and clear them when the session ends.

$env:AWS_ACCESS_KEY_ID = 'your-access-key'
$env:AWS_SECRET_ACCESS_KEY = 'your-secret-key'
.\xc.exe alias set x2 https://x2.example.com `
  --access-key-env AWS_ACCESS_KEY_ID `
  --secret-key-env AWS_SECRET_ACCESS_KEY `
  --region us-east-1 `
  --ca-file 'C:\ProgramData\X2\tls\x2-ca.crt' `
  --current
.\xc.exe alias info x2
export AWS_ACCESS_KEY_ID='your-access-key'
export AWS_SECRET_ACCESS_KEY='your-secret-key'
xc alias set x2 https://x2.example.com \
  --access-key-env AWS_ACCESS_KEY_ID \
  --secret-key-env AWS_SECRET_ACCESS_KEY \
  --region us-east-1 \
  --ca-file /etc/x2/tls/x2-ca.crt \
  --current
xc alias info x2
export AWS_ACCESS_KEY_ID='your-access-key'
export AWS_SECRET_ACCESS_KEY='your-secret-key'
xc alias set x2 https://x2.example.com \
  --access-key-env AWS_ACCESS_KEY_ID \
  --secret-key-env AWS_SECRET_ACCESS_KEY \
  --region us-east-1 \
  --ca-file /usr/local/etc/x2/x2-ca.crt \
  --current
xc alias info x2
Development only

--insecure skips certificate validation. Use a trusted CA file in production.

03

Work with buckets and objects

# Inspect the endpoint and create a bucket
xc ls x2
xc mb x2/media

# Upload, inspect, download, and remove an object
xc cp ./video.mp4 x2/media/video.mp4
xc stat x2/media/video.mp4
xc cp x2/media/video.mp4 ./downloaded-video.mp4
xc rm x2/media/video.mp4

# Recursively upload a directory
xc cp --recursive ./dataset x2/training/dataset

Use xc cat to stream an object to standard output, xc du to summarize usage, and xc rb to remove an empty bucket.

04

Configure a bucket

# Enable versioning and inspect the result
xc versioning enable x2/media
xc versioning get x2/media

# Inspect location, tags, inventory, and policy commands
xc location x2/media
xc tag --help
xc inventory --help
xc policy --help

Run xc COMMAND --help before a destructive or policy-changing operation to see the required arguments for the installed release.

05

Synchronize and troubleshoot

# Preview differences, then synchronize
xc diff ./dataset x2/training/dataset
xc sync ./dataset x2/training/dataset

# Inspect X2 service information
xc stats --help
xc logs --help
xc license --help
xc maintenance --help
xc system components --profile x2

# Generate a complete offline command reference for the installed release
xc docs --output xc-reference.md
xc completion powershell

Use xc completion bash or xc completion zsh for those shells. The generated reference includes registered commands, aliases, flags, and defaults without contacting an endpoint. Review xc sync SOURCE DESTINATION --delete --dry-run before deleting destination-only objects; metadata comparison is not proof of equal contents.

Signature mismatch

Confirm endpoint, region, clock, and credentials; then recreate the alias if any changed.

TLS error

Use the CA that issued the endpoint certificate and connect through a hostname or IP present in that certificate.