文档

mc cat

语法

mc cat 命令将文件或对象的内容连接到另一个文件或对象。您还可以使用此命令将指定文件或对象的内容显示到 STDOUTcat 的功能类似于 cat

以下命令将 MinIO 部署中对象的 内容连接到 STDOUT

mc cat play/mybucket/myobject.txt

mc cat 命令具有以下语法

mc [GLOBALFLAGS] cat                       \
                 ALIAS [ALIAS ...]         \
                 [--enc-c "value"]         \
                 [--offset "int"]          \
                 [--part-number "int"]     \
                 [--rewind]                \
                 [--tail "int"]            \
                 [--version-id "string"]   \
                 [--zip]
  • 方括号 [] 表示可选参数。

  • 同一行上的参数是相互依赖的。

  • 使用管道符 | 分隔的参数是互斥的。

将示例复制到文本编辑器中,并在终端/shell中运行命令之前根据需要进行修改。

您也可以对本地文件系统使用 mc cat 来产生类似于 cat 命令行工具的结果。

参数

ALIAS
必填

MinIO 部署的 别名 和对象的完整路径。例如

mc cat myminio/mybucket/myobject.txt

您可以在相同或不同的 MinIO 部署上指定多个对象。例如

mc cat myminio/mybucket/object.txt myminio/myotherbucket/object.txt

对于本地文件系统上的对象,请指定该对象的完整路径。例如

mc cat ~/data/object.txt
--enc-c
可选

使用服务器端 SSE-C 加密 和客户端管理的密钥对对象进行加密或解密。

该参数接受格式为 KEY=VALUE 的键值对。

KEY

对象的完整路径,格式为 alias/bucket/path/object.ext

您可以仅指定顶级路径,以便对该路径中的所有操作使用单个加密密钥。

VALUE

指定一个 32 字节的 RawBase64 编码密钥 *或* 一个 64 字节的十六进制编码密钥,用于 SSE-C 加密。

Raw Base64 编码 **拒绝** = 填充的密钥。省略填充或使用支持 RAW 格式的 Base64 编码器。

  • KEY - 对象的完整路径,格式为 alias/bucket/path/object

  • VALUE - 用于加密对象(s)的 32 字节 RAW Base64 编码数据密钥。

例如

# RawBase64-Encoded string "mybucket32byteencryptionkeyssec"
--enc-c "myminio/mybucket/prefix/object.obj=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"

您可以通过重复参数来指定多个加密密钥。

指定路径的前缀,以对该路径下所有匹配的对象应用加密。

--enc-c "myminio/mybucket/prefix/=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"

注意

MinIO 强烈建议不要在生产工作负载中使用 SSE-C 加密。请改用 --enc-kms 参数的 SSE-KMS 或 --enc-s3 参数的 SSE-S3。

--offset
可选

指定一个整数,表示命令偏移输出的字节数。

--part-number 标志互斥。

--part-number
可选

下载分段上传的特定分段号。指定要下载的分段号的整数。

--offset--tail 标志互斥。

--rewind
可选

指示 mc cat 仅对在指定时间点存在的对象版本进行操作。

  • 要回退到过去的特定日期,请将日期指定为 ISO8601 格式的时间戳。例如:--rewind "2020.03.24T10:00"

  • 要回退一段时间,请将持续时间指定为 #d#hh#mm#ss 格式的字符串。例如:--rewind "1d2hh3mm4ss"

--rewind 要求指定的 ALIAS 是支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署,请使用 mc version 来启用或禁用存储桶版本控制。

--tail
可选

指定一个整数,表示命令修剪输出的字节数。

--part-number 标志互斥。

--version-id, vid
可选

指示 mc cat 仅对指定的对象版本进行操作。

--version-id 要求指定的 ALIAS 是支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署,请使用 mc version 来启用或禁用存储桶版本控制。

--zip
可选

将源上的 zip 文件的内容提取到远程。需要 MinIO 部署作为源 ALIAS

全局标志

此命令支持任何 全局标志

示例

查看 S3 对象

使用 mc cat 返回对象

mc cat ALIAS/PATH
  • ALIAS 替换为 S3 兼容主机的 别名

  • PATH 替换为 S3 兼容主机上对象的路径。

在特定时间点查看 S3 对象

使用 mc cat --rewind 返回过去特定时间点的对象

mc cat ALIAS/PATH --rewind DURATION
  • ALIAS 替换为 S3 兼容主机的 别名

  • PATH 替换为 S3 兼容主机上对象的路径。

  • DURATION 替换为命令返回对象的过去时间点。例如,指定 30d 以返回当前日期前 30 天的对象版本。

需要版本控制

mc cat 需要 存储桶版本控制 才能使用此功能。使用 mc version 启用存储桶上的版本控制。

查看具有特定版本的 S3 对象

使用 mc cat --version-id 返回对象的特定版本

mc cat ALIAS/PATH --version-id VERSION
  • ALIAS 替换为 S3 兼容主机的 别名

  • PATH 替换为 S3 兼容主机上对象的路径。

  • VERSION 替换为要返回的对象的特定版本。

需要版本控制

mc cat 需要 存储桶版本控制 才能使用此功能。使用 mc version 启用存储桶上的版本控制。

下载特定分段

使用 mc cat --part-number 下载分段上传的特定分段

mc cat ALIAS/PATH --part-number=#
  • ALIAS 替换为 S3 兼容主机的 别名

  • PATH 替换为 S3 兼容主机上对象的路径。

  • # 替换为要下载的分段号的整数。例如,要下载 16 分段文件的第 3 分段,请使用 --part-number=3

如果您使用 --offset--tail 标志,则不能使用 --part-number 标志。

行为

S3 兼容性

mc 命令行工具是为与 AWS S3 API 兼容而构建的,并且已在 MinIO 和 AWS S3 上进行了测试,以确保其预期功能和行为。

MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现未知,因此不受支持。虽然 mc 命令 *可能* 按文档记录的方式工作,但任何此类用法均需自行承担风险。