---
title: "exo storage move"
description: "Move objects within a bucket or across buckets"
url: https://community.exoscale.com/reference/cli/exo/storage/move/
section: reference
last_updated: 2026-10-14
---
> For AI agents: the documentation index is at https://community.exoscale.com/llms.txt. Every page is available as markdown at `<page URL>index.md` or with `Accept: text/markdown`.

# exo storage move

### Description

Move objects within a bucket or across buckets.

This command moves objects by performing a server-side copy followed by
a delete of the source object. Object metadata, headers, and ACLs are
preserved.

Warning: move is implemented as server-side copy followed by delete.
If the delete step fails after a successful copy, the object will
remain in both locations. There is no automatic rollback.

Multi-object prefix moves are processed serially. A trailing slash on the
source selects prefix mode; -r controls recursion into subdirectories.

Examples:

    exo storage move sos://my-bucket/file-a sos://my-bucket/folder/file-a

    exo storage move sos://my-bucket/file-a sos://other-bucket/file-a

    exo storage move -r sos://my-bucket/prefix/ sos://other-bucket/prefix/

    exo storage move -n sos://my-bucket/file-a sos://other-bucket/file-a


```
exo storage move sos://BUCKET/[OBJECT|PREFIX/] sos://BUCKET/[OBJECT|PREFIX/] [flags]
```

### Options

| Option | Description |
| --------- | ------------ |
| `--dry-run, -n` | simulate the move operation |
| `--force, -f` | skip confirmation prompt |
| `--help, -h` | help for move |
| `--multipart-concurrency` | number of concurrent parts for multipart moves |
| `--recursive, -r` | move objects recursively |
| `--verbose, -v` | output moved objects |


### Options inherited from parent commands

| Option | Description |
| --------- | ------------ |
| `--config, -C` | Specify an alternate config file [env EXOSCALE_CONFIG] |
| `--output-format, -O` | Output format (table\|json\|text), see &#34;exo output --help&#34; for more information |
| `--output-template` | Template to use if output format is &#34;text&#34; |
| `--quiet, -Q` | Quiet mode (disable non-essential command output) |
| `--timeout` | Per-zone timeout for list operations; -1s disables timeout [env EXOSCALE_TIMEOUT] |
| `--use-account, -A` | Account to use in config file [env EXOSCALE_ACCOUNT] |


### Related Commands

* [storage](https://community.exoscale.com/reference/cli/exo/storage/index.md)	 - Object Storage management


