On this page

Copy files between local filesystem and Tigris, or between paths within Tigris.
At least one side must be a remote `t3://` path.

**Alias:**`copy`

## Usage

```bash
tigris cp <src> <dest> [flags]

t3 copy <src> <dest> [flags]
```

Use the `t3://` (or `tigris://`) prefix for remote Tigris paths. Bare paths are
treated as local files. At least one side must be remote.

## Flags

| Name                         | Required | Default | Description                                             |
|------------------------------|----------|---------|---------------------------------------------------------|
| `--recursive`, `-r`         | No       | —       | Copy directories recursively                             |
| `--access`, `-a`            | No       | —       | Access level for uploaded objects. Only applies to local-to-remote uploads. Options: `public`, `private` |

## Examples

```bash
# Upload a local file to remote
tigris cp ./file.txt t3://my-bucket/file.txt

# Upload a local file and make it public
tigris cp ./logo.png t3://my-bucket/logo.png --access public

# Download a remote object to local
tigris cp t3://my-bucket/file.txt ./local-copy.txt

# Copy a remote folder recursively
tigris cp t3://my-bucket/src/ t3://my-bucket/dest/ -r

# Upload a local folder to remote
tigris cp ./images/ t3://my-bucket/images/ -r

# Copy with wildcard
tigris cp "t3://my-bucket/my-path/*.json" t3://my-bucket/new-path/
```
