bm ls

Syntax

The bm ls command lists buckets and objects on Buckit or another S3-compatible service.

You can also use bm ls against the local filesystem to produce similar results as the ls command.

The following command lists all objects and object versions in the mydata bucket on the mybuckit Buckit deployment:

bm ls --recursive --versions mybuckit/mydata

The output resembles the following:

[2022-11-08 11:30:24 PST]    52MB  STANDARD log-data.csv
[2022-11-09 12:20:18 PST]    120MB WARM videos/event-2022-11-09.mp4
  • STANDARD marks objects stored on the Buckit deployment

  • WARM marks objects stored on the remote tier with matching name

  • videos/ indicates the prefix for the object

The command has the following syntax:

bm [GLOBALFLAGS] ls              \
                 [--incomplete]  \
                 [--recursive]   \
                 [--rewind]      \
                 [--versions]    \
                 [--summarize]   \
                 ALIAS [ALIAS ...]
  • Brackets [] indicate optional parameters.

  • Parameters sharing a line are mutually dependent.

  • Parameters separated using the pipe | operator are mutually exclusive.

Copy the example to a text editor and modify as-needed before running the command in the terminal/shell.

Parameters

ALIAS

Required The object or objects to copy.

For listing objects on Buckit, specify the alias and the full path to that object (e.g. bucket and path to object). For example:

bm ls play/mybucket/object.txt

For listing objects on a local filesystem, specify the full path to that object. For example:

bm ls ~/mydata/object.txt

If you specify a directory or bucket to ALIAS, you must also specify --recursive to recursively list the contents of that directory or bucket. If you omit the --recursive argument, ls only lists objects in the top level of the specified directory or bucket.

incomplete, -I

Optional Returns any incomplete uploads on the specified ALIAS bucket.

--recursive, r

Optional Recursively lists the contents of each bucket or directory in the ALIAS.

--rewind
Optional

Directs bm ls to operate only on the object version(s) that existed at specified point-in-time.

  • To rewind to a specific date in the past, specify the date as an ISO8601-formatted timestamp. For example: --rewind "2020.03.24T10:00".

  • To rewind a duration in time, specify the duration as a string in #d#hh#mm#ss format. For example: --rewind "1d2hh3mm4ss".

--rewind requires that the specified ALIAS be an S3-compatible service that supports Bucket Versioning. For Buckit deployments, use bm version to enable or disable bucket versioning.

Use --rewind and --versions together to display on those object versions which existed at a specific point in time.

--versions
Optional

Directs bm ls to operate on all object versions that exist in the bucket.

--versions requires that the specified ALIAS be an S3-compatible service that supports Bucket Versioning. For Buckit deployments, use bm version to enable or disable bucket versioning.

Use --versions and --rewind together to display on those object versions which existed at a specific point in time.

--summarize

Optional Displays summarized information for the specified ALIAS path.

Global Flags

This command supports any of the global flags.

Examples

List Bucket Contents

Use bm ls to list the contents of a bucket:

bm ls [--recursive] ALIAS/PATH
  • Replace ALIAS with the alias of the S3-compatible host.

  • Replace PATH with the path to the bucket on the S3-compatible host.

    If specifying the path to the S3 root (ALIAS only), include the --recursive option.

List Object Versions

Use bm ls --versions to list all versions of an object:

bm ls --versions ALIAS/PATH
  • Replace ALIAS with the alias of the S3-compatible host.

  • Replace PATH with the path to the bucket or object on the S3-compatible host.

Requires Versioning

bm ls requires bucket versioning to use this feature. Use bm version to enable versioning on a bucket.

List Bucket Contents at Point in Time

Use bm ls --versions to list all versions of an object:

bm ls --rewind DURATION ALIAS/PATH
  • Replace ALIAS with the alias of the S3-compatible host.

  • Replace PATH with the path to the bucket or object on the S3-compatible host.

  • Replace DURATION with the point-in-time in the past at which the command returns the object. For example, specify 30d to return the version of the object 30 days prior to the current date.

Requires Versioning

bm ls requires bucket versioning to use this feature. Use bm version to enable versioning on a bucket.

Behavior

S3 Compatibility

The bm commandline tool is built for compatibility with the AWS S3 API and is tested with Buckit and AWS S3 for expected functionality and behavior.

Buckit provides no guarantees for other S3-compatible services, as their S3 API implementation is unknown and therefore unsupported. While bm commands may work as documented, any such usage is at your own risk.