# 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/

    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/


```
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]({{< ref "../storage">}})	 - Object Storage management


