GDAL-VSI-COPY(1)
π GDAL-VSI-COPY β the girlies are COPYING files π
okay so bestie, sit down, hydrate, because this is the gdal-vsi-copy manual page from the GDAL crew (it's giving very much Unix manpage energy, obviously β that's literally in the name). β¨
It's all about copying files that live on the GDAL Virtual System Interface (VSI). And yeah, this one's fresh out the box: Added in version 3.11. π
πΈ NAME πΈ
gdal-vsi-copy β copy files that are hanging out on the GDAL Virtual System Interface (VSI, for the besties in a hurry).
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 π¦
So gdal vsi copy copies files and directories that live on the GDAL Virtual File Systems β and yeah, that means all the fancy ones: compressed stuff, network-hosted stuff, etc. Think /vsimem, /vsizip, /vsitar, /vsicurl, ... you get it. π«
And the iconic part? It can copy files and directories between different virtual file systems. Mix and match, bestie. π«Ά
It's basically the equivalent of the UNIX cp command, and lowkey the serve doesn't stop there: gdal vsi cp is an alias for gdal vsi copy. Two names, one queen. π
π Options π
-r,--recursiveβ copy directories recursively, i.e. take the whole family, not just the one file. π§--skip-errorsβ skip errors that occur while copying. (The original manpage says "while while" and honestly? slay, we respect the typo, but the vibe is: keep going, don't stop for errors.) π
β RETURN STATUS CODE β
Here's the vibe check on exit codes:
- The program returns status code
0when it's a success. ate, no crumbs. - It returns non-zero when there's an error. π
- But β important β non-blocking errors emitted as warnings are still considered a successful execution. So don't panic if you see a warning, bestie, it's fine.
π 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> β yes, THE Even Rouault. main character energy fr fr. π
π COPYRIGHT π
<copyright>1998-2026</copyright> β hold it down, king. π
and that's the whole page, bestie!! πΈ this was GDAL manual page GDAL-VSI-COPY(1), dated Aug 18, 2026 β go forth and copy things, periodt. π
β¨π
π¦ where this page comes from
- alpine 3.24: gdal-doc 3.13.3-r0 Β· MIT
- arch rolling: gdal 3.13.3-6 Β· MIT
- ubuntu stonking: gdal-bin 3.13.3+dfsg-1ubuntu4 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms