borg list
*********

   borg [common options] list [options] [REPOSITORY_OR_ARCHIVE] [PATH...]


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

This command lists the contents of a repository or an archive.

For more help on include/exclude patterns, see the borg help patterns
command output.


The FORMAT specifier syntax
---------------------------

The "--format" option uses Python's format string syntax.

Examples:

   $ borg list --format '{archive}{NL}' /path/to/repo
   ArchiveFoo
   ArchiveBar
   ...

   # {VAR:NUMBER} - pad to NUMBER columns.
   # Strings are left-aligned, numbers are right-aligned.
   # Note: time columns except ``isomtime``, ``isoctime`` and ``isoatime`` cannot be padded.
   $ borg list --format '{archive:36} {time} [{id}]{NL}' /path/to/repo
   ArchiveFoo                           Thu, 2021-12-09 10:22:28 [0b8e9a312bef3f2f6e2d0fc110c196827786c15eba0188738e81697a7fa3b274]
   $ borg list --format '{mode} {user:6} {group:6} {size:8} {mtime} {path}{extra}{NL}' /path/to/repo::ArchiveFoo
   -rw-rw-r-- user   user       1024 Thu, 2021-12-09 10:22:17 file-foo
   ...

   # {VAR:<NUMBER} - pad to NUMBER columns left-aligned.
   # {VAR:>NUMBER} - pad to NUMBER columns right-aligned.
   $ borg list --format '{mode} {user:>6} {group:>6} {size:<8} {mtime} {path}{extra}{NL}' /path/to/repo::ArchiveFoo
   -rw-rw-r--   user   user 1024     Thu, 2021-12-09 10:22:17 file-foo
   ...

The following keys are always available:

* NEWLINE: OS dependent line separator

* NL: alias of NEWLINE

* NUL: NUL character for creating print0 / xargs -0 like output, see
  barchive and bpath keys below

* SPACE

* TAB

* CR

* LF

Keys available only when listing archives in a repository:

* archive: archive name interpreted as text (might be missing non-text
  characters, see barchive)

* name: alias of "archive"

* barchive: verbatim archive name, can contain any character except
  NUL

* comment: archive comment interpreted as text (might be missing non-
  text characters, see bcomment)

* bcomment: verbatim archive comment, can contain any character except
  NUL

* id: internal ID of the archive

* tam: TAM authentication state of this archive

* start: time (start) of creation of the archive

* time: alias of "start"

* end: time (end) of creation of the archive

* command_line: command line which was used to create the archive

* hostname: hostname of host on which this archive was created

* username: username of user who created this archive

Keys available only when listing files in an archive:

* type

* mode

* uid

* gid

* user

* group

* path: path interpreted as text (might be missing non-text
  characters, see bpath)

* bpath: verbatim POSIX path, can contain any character except NUL

* source: link target for links (identical to linktarget)

* linktarget

* flags

* size

* csize: compressed size

* dsize: deduplicated size

* dcsize: deduplicated compressed size

* num_chunks: number of chunks in this file

* unique_chunks: number of unique chunks in this file

* mtime

* ctime

* atime

* isomtime

* isoctime

* isoatime

* blake2b

* blake2s

* md5

* sha1

* sha224

* sha256

* sha384

* sha3_224

* sha3_256

* sha3_384

* sha3_512

* sha512

* xxh64: XXH64 checksum of this file (note: this is NOT a
  cryptographic hash!)

* archiveid

* archivename

* extra: prepends {source} with " -> " for soft links and " link to "
  for hard links

* health: either "healthy" (file ok) or "broken" (if file has all-zero
  replacement chunks)


Examples
========

   $ borg list /path/to/repo
   Monday                               Mon, 2016-02-15 19:15:11
   repo                                 Mon, 2016-02-15 19:26:54
   root-2016-02-15                      Mon, 2016-02-15 19:36:29
   newname                              Mon, 2016-02-15 19:50:19
   ...

   $ borg list /path/to/repo::root-2016-02-15
   drwxr-xr-x root   root          0 Mon, 2016-02-15 17:44:27 .
   drwxrwxr-x root   root          0 Mon, 2016-02-15 19:04:49 bin
   -rwxr-xr-x root   root    1029624 Thu, 2014-11-13 00:08:51 bin/bash
   lrwxrwxrwx root   root          0 Fri, 2015-03-27 20:24:26 bin/bzcmp -> bzdiff
   -rwxr-xr-x root   root       2140 Fri, 2015-03-27 20:24:22 bin/bzdiff
   ...

   $ borg list /path/to/repo::root-2016-02-15 --pattern "- bin/ba*"
   drwxr-xr-x root   root          0 Mon, 2016-02-15 17:44:27 .
   drwxrwxr-x root   root          0 Mon, 2016-02-15 19:04:49 bin
   lrwxrwxrwx root   root          0 Fri, 2015-03-27 20:24:26 bin/bzcmp -> bzdiff
   -rwxr-xr-x root   root       2140 Fri, 2015-03-27 20:24:22 bin/bzdiff
   ...

   $ borg list /path/to/repo::archiveA --format="{mode} {user:6} {group:6} {size:8d} {isomtime} {path}{extra}{NEWLINE}"
   drwxrwxr-x user   user          0 Sun, 2015-02-01 11:00:00 .
   drwxrwxr-x user   user          0 Sun, 2015-02-01 11:00:00 code
   drwxrwxr-x user   user          0 Sun, 2015-02-01 11:00:00 code/myproject
   -rw-rw-r-- user   user    1416192 Sun, 2015-02-01 11:00:00 code/myproject/file.ext
   -rw-rw-r-- user   user    1416192 Sun, 2015-02-01 11:00:00 code/myproject/file.text
   ...

   $ borg list /path/to/repo/::archiveA --pattern '+ re:\.ext$' --pattern '- re:^.*$'
   -rw-rw-r-- user   user    1416192 Sun, 2015-02-01 11:00:00 code/myproject/file.ext
   ...

   $ borg list /path/to/repo/::archiveA --pattern '+ re:.ext$' --pattern '- re:^.*$'
   -rw-rw-r-- user   user    1416192 Sun, 2015-02-01 11:00:00 code/myproject/file.ext
   -rw-rw-r-- user   user    1416192 Sun, 2015-02-01 11:00:00 code/myproject/file.text
   ...
