---
name: "gdal-vsi-copy"
section: "1"
platform: "linux"
package: "gdal"
version: "3.13.3-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gdal-vsi-copy"
---

# gdal-vsi-copy(1)

Copy files located on GDAL Virtual System Interface (VSI) Added in version 3.11.

## NAME

gdal-vsi-copy - Copy files located on GDAL Virtual System Interface (VSI)

Added in version 3.11.

## SYNOPSIS

```
Usage: gdal vsi copy [OPTIONS] <SOURCE> <DESTINATION>
Copy files located on GDAL Virtual System Interface (VSI).
Positional arguments:
  --source <SOURCE>            Source file or directory name [required]
  --destination <DESTINATION>  Destination file or directory name [required]
Common Options:
  -h, --help                   Display help message and exit
  --json-usage                 Display usage as JSON document and exit
  --config <KEY>=<VALUE>       Configuration option [may be repeated]
  -q, --quiet                  Quiet mode (no progress bar or warning message) [not available in pipelines]
Options:
  -r, --recursive              Copy subdirectories recursively
  --skip-errors                Skip errors
```

## DESCRIPTION

**gdal vsi copy** copy files and directories located on *GDAL Virtual File Systems (compressed, network hosted, etc...): /vsimem, /vsizip, /vsitar, /vsicurl, ...*.

It can copy files and directories between different virtual file systems.

This is the equivalent of the UNIX **cp** command, and **gdal vsi cp** is an alias for **gdal vsi copy**.

### Options

- **-r, --recursive**

  Copy directories recursively.

- **--skip-errors**

  Skip errors that occur while while copying.

## RETURN STATUS CODE

The program returns status code 0 in case of success, and non-zero in case of error (non-blocking errors emitted as warnings are considered as a successful execution).

## EXAMPLES

### Example 1: Copy recursively files from /vsis3/bucket/my\_dir to local directory, creating a my\_dir directory if it does not exist.

```
$ gdal vsi copy -r /vsis3/bucket/my_dir .
```

### Example 2: Copy recursively files from /vsis3/bucket/my\_dir to local directory, without creating a my\_dir directory, without progress bar

```
$ gdal vsi copy --quiet -r /vsis3/bucket/my_dir/* .
```

## AUTHOR

Even Rouault \<even.rouault@spatialys.com\>

## COPYRIGHT

1998-2026
