You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用gsutil仅复制存储桶目录内容而非源文件夹本身?

解决Google Cloud存储桶目录内容递归复制问题

当你需要将源目录内部内容直接复制到目标目录,而非复制整个源目录本身时,问题出在命令中没有明确指定要复制源目录下的所有内容。

正确命令

使用通配符*匹配source_dir下的所有文件和子目录,命令如下:

gsutil -m cp -r gs://my_first_bucket/source_dir/* gs://my_second_bucket/target_dir/

为什么之前的命令无效?

  • 当你执行gsutil -m cp -r gs://my_first_bucket/source_dir/ gs://my_second_bucket/target_dir时,gsutil会把source_dir这个目录整体复制到target_dir下,最终形成gs://my_second_bucket/target_dir/source_dir/的结构。
  • 去掉末尾/的效果和带/一致,因为gsutil对目录路径的处理逻辑中,是否带末尾/不影响目录本身的复制行为。

特殊情况处理

如果source_dir下包含隐藏对象(名称以.开头),*通配符可能无法匹配到,此时可以用**进行深度递归匹配所有内容:

gsutil -m cp -r gs://my_first_bucket/source_dir/** gs://my_second_bucket/target_dir/

另外,目标路径末尾务必保留/,这样gsutil会自动创建target_dir(如果不存在),并将源内容直接放入该目录;若省略末尾/,gsutil会尝试将源内容复制为一个名为target_dir的单个对象,这显然不符合需求。

内容的提问来源于stack exchange,提问作者Tom3652

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 07:48:44