borg extract
************

   borg [common options] extract [options] ARCHIVE [PATH...]


Description
===========

This command extracts the contents of an archive.

By default, the entire archive is extracted, but a subset of files and
directories can be selected by passing a list of "PATH" arguments. The
default interpretation for the paths to extract is *pp:* which is a
literal path-prefix match. If you want to use e.g. a wildcard, you
must select a different pattern style such as *sh:* or *fm:*. See borg
help patterns for more information.

The file selection can be further restricted by using the "--exclude"
option. For more help on include/exclude patterns, see the borg help
patterns command output.

By using "--dry-run", you can do all extraction steps except actually
writing the output data: reading metadata and data chunks from the
repository, checking the hash/HMAC, decrypting, and decompressing.

"--progress" can be slower than no progress display, since it makes
one additional pass over the archive metadata.

Note:

  Currently, extract always writes into the current working directory
  ("."), so make sure you "cd" to the right place before calling "borg
  extract".When parent directories are not extracted (because of using
  file/directory selection or any other reason), Borg cannot restore
  parent directories' metadata, e.g., owner, group, permissions, etc.


Examples
========

   # Extract entire archive
   $ borg extract /path/to/repo::my-files

   # Extract entire archive and list files while processing
   $ borg extract --list /path/to/repo::my-files

   # Verify whether an archive could be successfully extracted, but do not write files to disk
   $ borg extract --dry-run /path/to/repo::my-files

   # Extract the "src" directory
   $ borg extract /path/to/repo::my-files home/USERNAME/src

   # Extract the "src" directory but exclude object files
   $ borg extract /path/to/repo::my-files home/USERNAME/src --exclude '*.o'

   # Extract only the C files
   $ borg extract /path/to/repo::my-files 'sh:home/USERNAME/src/*.c'

   # Restore a raw device (must not be active/in use/mounted at that time)
   $ borg extract --stdout /path/to/repo::my-sdx | dd of=/dev/sdx bs=10M
