rclone lsjson
以 JSON 格式列出路径中的目录和对象。
摘要
以 JSON 格式列出路径中的目录和对象。
输出是一个项目数组,其中每个项目如下所示:
{
"Hashes" : {
"SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f",
"MD5" : "b1946ac92492d2347c6235b4d2611184",
"DropboxHash" : "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc"
},
"ID": "y2djkhiujf83u33",
"OrigID": "UYOJVTUW00Q1RzTDA",
"IsBucket" : false,
"IsDir" : false,
"MimeType" : "application/octet-stream",
"ModTime" : "2017-05-31T16:15:57.034468261+01:00",
"Name" : "file.txt",
"Encrypted" : "v0qpsdq8anpci8n929v3uu9338",
"EncryptedPath" : "kja9098349023498/v0qpsdq8anpci8n929v3uu9338",
"Path" : "full/path/goes/here/file.txt",
"Size" : 6,
"Tier" : "hot",
}
包含的确切属性集取决于后端:
IsBucket
属性仅会在基于存储桶的远程存储中包含,并且仅针对作为存储桶的目录。当值不为true
时,该属性将始终被省略。Encrypted
和EncryptedPath
属性仅会在加密的远程存储中包含,并且(如下所述)仅当设置了--encrypted
选项时才会包含。
不同的选项也可能会影响包含哪些属性:
- 如果未指定
--hash
,则Hashes
属性将被省略。可以使用--hash-type
参数指定哈希类型(该参数可以重复使用)。如果设置了--hash-type
,则意味着设置了--hash
。 - 如果指定了
--no-modtime
,则ModTime
将为空。这可以加快在读取ModTime
需要额外请求的远程存储(例如 s3、swift)上的操作速度。 - 如果指定了
--no-mimetype
,则MimeType
将为空。这可以加快在读取MimeType
需要额外请求的远程存储(例如 s3、swift)上的操作速度。 - 如果未指定
--encrypted
,则Encrypted
和EncryptedPath
属性将被省略 —— 即使是在加密的远程存储中也是如此。 - 如果设置了
--metadata
,则将返回一个额外的Metadata
属性。该属性将以 rclone 标准格式的 元数据 作为 JSON 对象。
默认情况下,会列出目录和文件/对象,但可以通过以下选项更改此行为:
- 如果指定了
--dirs-only
,则仅返回目录,不返回文件/对象。 - 如果指定了
--files-only
,则仅返回文件,不返回目录。
如果设置了 --stat
,则输出不是项目数组,而是返回一个关于所指向项目的单个 JSON 数据块。如果未找到该项目,将返回错误,但是在基于存储桶的后端(如 s3、gcs、b2、azureblob 等)上,如果未找到该项目,将返回一个空目录,因为在这些后端无法区分空目录和不存在的目录。
Path
字段仅会显示所列出的远程路径下的文件夹。如果 “remote:path” 包含文件 “subfolder/file.txt”,则 “file.txt” 的 Path
将是 “subfolder/file.txt”,而不是 “remote:path/subfolder/file.txt”。当不使用 --recursive
时,Path
将始终与 Name
相同。
时间采用 RFC3339 格式,最高支持纳秒精度。秒数中的小数位数将取决于远程存储能够保存时间的精度,因此如果时间精确到最接近的毫秒(例如 Google Drive),则始终会显示 3 位数字(“2017-05-31T16:15:57.034+01:00”),而如果时间精确到最接近的秒(Dropbox、Box、WebDav 等),则不会显示小数位(“2017-05-31T16:15:57+01:00”)。
整个输出可以作为一个 JSON 数据块进行处理,或者也可以逐行处理,因为每个项目都会写在单独的行上(--stat
选项除外)。
任何过滤选项都可以应用于此命令。
有几个相关的列表命令:
ls
仅列出对象的大小和路径lsl
仅列出对象的修改时间、大小和路径lsd
仅列出目录lsf
以易于解析的格式列出对象和目录lsjson
以 JSON 格式列出对象和目录
ls
、lsl
、lsd
设计为供人类阅读。
lsf
设计为供人类和机器阅读。
lsjson
设计为供机器阅读。
请注意,ls
和 lsl
默认会递归列出 —— 使用 --max-depth 1
来停止递归。
其他列表命令 lsd
、lsf
、lsjson
默认不会递归列出 —— 使用 -R
使其递归列出。
列出不存在的目录将产生错误,但对于不能有空目录的远程存储(例如 s3、swift 或 gcs —— 基于存储桶的远程存储)除外。
rclone lsjson remote:path [flags]
Options
--dirs-only 仅在列表中显示目录
--encrypted 显示加密后的名称
--files-only 仅在列表中显示文件
--hash 在输出中包含哈希值(可能会花费更长时间)
--hash-type stringArray 仅显示指定的哈希类型(可重复使用该参数)
-h, --help 显示 lsjson 命令的帮助信息
-M, --metadata 在列表中添加元数据
--no-mimetype 不读取 MIME 类型(可以加快操作速度)
--no-modtime 不读取修改时间(可以加快操作速度)
--original 显示底层对象的 ID
-R, --recursive 递归列出目录内容
--stat 仅返回所指向文件的信息
接下来将介绍与其他命令共享的选项。 此处未列出的全局选项,请参阅全局标志页面。
过滤器选项
用于过滤目录列表的标志
--delete-excluded 删除目标端中被排除在同步之外的文件
--exclude stringArray 排除符合指定模式的文件
--exclude-from stringArray 从文件中读取要排除的文件模式(使用 - 从标准输入读取)
--exclude-if-present stringArray 如果指定文件名存在,则排除该目录
--files-from stringArray 从文件中读取源文件名列表(使用 - 从标准输入读取)
--files-from-raw stringArray 从文件中读取源文件名列表,不对行进行任何处理(使用 - 从标准输入读取)
-f, --filter stringArray 添加文件过滤规则
--filter-from stringArray 从文件中读取文件过滤模式(使用 - 从标准输入读取)
--ignore-case 在过滤时忽略大小写(大小写不敏感)
--include stringArray 包含符合指定模式的文件
--include-from stringArray 从文件中读取要包含的文件模式(使用 - 从标准输入读取)
--max-age Duration 仅传输比指定时间(以秒或后缀 ms|s|m|h|d|w|M|y 表示)更新的文件(默认关闭)
--max-depth int 如果设置,则将递归深度限制为此值(默认 -1)
--max-size SizeSuffix 仅传输小于指定大小(以 KiB 或后缀 B|K|M|G|T|P 表示)的文件(默认关闭)
--metadata-exclude stringArray 排除符合指定模式的元数据
--metadata-exclude-from stringArray 从文件中读取要排除的元数据模式(使用 - 从标准输入读取)
--metadata-filter stringArray 添加元数据过滤规则
--metadata-filter-from stringArray 从文件中读取元数据过滤模式(使用 - 从标准输入读取)
--metadata-include stringArray 包含符合指定模式的元数据
--metadata-include-from stringArray 从文件中读取要包含的元数据模式(使用 - 从标准输入读取)
--min-age Duration 仅传输比指定时间(以秒或后缀 ms|s|m|h|d|w|M|y 表示)更旧的文件(默认关闭)
--min-size SizeSuffix 仅传输大于指定大小(以 KiB 或后缀 B|K|M|G|T|P 表示)的文件(默认关闭)
Listing Options
Flags for listing directories
--default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
参见
- rclone - 显示 rclone 命令、标志和后端帮助。