BORG-LIST(1)

NAME
borg-list - List archive or repository contents

SYNOPSIS

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_patterns command output.

OPTIONS

See borg-common(1) for common options of Borg commands.

  arguments

REPOSITORY_OR_ARCHIVE
    repository or archive to list contents of

PATH
    paths to list; patterns are supported

  options

--consider-checkpoints
    Show checkpoint archives in the repository contents list (default: hidden).

--short
    only print file/directory names, nothing else

--format FORMAT
    specify format for file or archive listing (default for files: "{mode} {user:6} {group:6} {size:8} {mtime} {path}{extra}{NL}"; for archives: "{archive:<36} {time} [{id}]{NL}")

--json
    Only valid for listing repository contents. Format output as JSON. The form of --format is ignored, but keys used in it are added to the JSON output. Some keys are always present. Note: JSON can only represent text. A "barchive" key is therefore not available.

--json-lines
    Only valid for listing archive contents. Format output as JSON Lines. The form of --format is ignored, but keys used in it are added to the JSON output. Some keys are always present. Note: JSON can only represent text. A "bpath" key is therefore not available.

  Archive filters

-P PREFIX, --prefix PREFIX
    only consider archive names starting with this prefix. (deprecated)

-a GLOB, --glob-archives GLOB
    only consider archive names matching the glob. sh: rules apply, see "borg help patterns".

--sort-by KEYS
    Comma-separated list of sorting keys; valid keys are: timestamp, name, id; default is: timestamp

--first N
    consider first N archives after other filters were applied

--last N
    consider last N archives after other filters were applied

  Include/Exclude options

-e PATTERN, --exclude PATTERN
    exclude paths matching PATTERN

--exclude-from EXCLUDEFILE
    read exclude patterns from EXCLUDEFILE, one per line

--pattern PATTERN
    include/exclude paths matching PATTERN

--patterns-from PATTERNFILE
    read include/exclude patterns from PATTERNFILE, one per line

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
...

NOTES

  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)

SEE ALSO

borg-common(1), borg-info(1), borg-diff(1), borg-prune(1), borg-patterns(1)

AUTHOR
The Borg Collective