中文文档

mc cat

语法

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

以下命令将MinIO部署上的一个对象的内容 连接到 STDOUT :

mc cat play/mybucket/myobject.txt

mc cat 命令具有以下语法:

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

  • 参数在同一行表示它们是相互依赖的。

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

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

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

参数

ALIAS
Required

MinIO部署的 :ref:`alias <alias>`(别名)和 对象的全路径。 例如:

mc cat myminio/mybucket/myobject.txt

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

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

对于本地文件系统上的一个对象,请指定该对象的 全路径。 例如:

mc cat ~/data/object.txt
--enc-c
Optional

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

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

KEY

对象的完整路径,即 alias/bucket/path/object.ext

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

VALUE

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

原始 Base64 编码 拒绝 = 填充键。 省略填充或使用支持 RAW 格式的 Base64 编码器。

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

  • VALUE - 用于加密对象的 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
Optional

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

:mc-command:`~mc cat --part-number` 标志互斥。

--part-number
Optional

下载多部分上传中的特定部分编号。 指定要下载的部件编号的整数。

--offset--tail 标志互斥。

--rewind
Optional

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

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

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

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

--tail
Optional

指定一个整数,即命令从中剪切输出的字节数。

:mc-command:`~mc cat --part-number` 标志互斥。

--version-id, vid
Optional

指令 mc cat 只对指定的对象版本进行操作。

需要指定的 ALIAS 是一个支持 桶版本控制 的 S3 兼容服务。 对于 MinIO 部署,使用 mc version 命令来启用或禁用桶版本控制。

--zip
Optional

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

全局标记

此命令支持任何 全局标志

示例

查看 S3 对象

使用 mc cat 返回对象:

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

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

查看某个时间点的 S3 对象

使用 mc cat --rewind 命令可以回到过去 特定时间点的对象:

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

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

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

Requires Versioning

mc cat 需要使用 桶版本控制 来使用此功能。 使用 mc version 命令来为一个桶启用版本控制。

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

使用 mc cat --version-id 命令来返回对象的 具体版本:

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

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

  • VERSION 替换为 要返回的对象的具体版本。

Requires Versioning

mc cat 需要使用 桶版本控制 来使用此功能。 使用 mc version 命令来为一个桶启用版本控制。

下载特定部分

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

mc cat ALIAS/PATH --part-number=#
  • :mc-command:`ALIAS <mc cat ALIAS>` 替换为 S3 兼容主机的 alias

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

  • # 替换为要下载的零件编号的整数。 例如,要下载由 16 个部分组成的多部分文件的第 3 部分,请使用 --part-number=3

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

行为

S3兼容性

mc 命令行工具是为了与 AWS S3 API 兼容而构建的,并且已经过测试, 以确保在与 MinIO 和 AWS S3 配合使用时,功能和行为符合预期。

MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是 未知的,因此不受支持。尽管 mc 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。

Join Slack 商业支持购买咨询