macOS终端如何将文件夹复制至不存在的嵌套路径?
在macOS中复制文件夹到不存在的多级目标路径
cp命令本身无法自动创建不存在的父级目录,这就是你遇到"No such file or directory"错误的原因。以下两种方法可以解决这个问题:
方法一:先创建目标父目录,再执行复制
- 使用
mkdir -p创建多级目录(-p参数会自动创建所有不存在的父目录):mkdir -p ./folder-a/folder-b/folder-c/folder-d - 用
cp -R复制文件夹及其内容到目标路径:cp -R ./my-folder ./folder-a/folder-b/folder-c/folder-d/
方法二:使用rsync自动创建父目录
macOS默认预装了rsync,它支持自动创建不存在的目标父目录,一步完成操作:
rsync -av ./my-folder ./folder-a/folder-b/folder-c/folder-d/
-a:归档模式,保留文件权限、所有者等属性,同时递归复制内容-v:显示详细的复制过程(可选,方便查看进度)
额外说明
如果需要将my-folder重命名后放到目标路径(比如改为new-folder),可以调整命令:
- 用
cp的话:cp -R ./my-folder ./folder-a/folder-b/folder-c/folder-d/new-folder - 用
rsync的话(注意源路径末尾的斜杠,会复制my-folder内的所有内容到目标目录):rsync -av ./my-folder/ ./folder-a/folder-b/folder-c/folder-d/new-folder/
内容的提问来源于stack exchange,提问作者johann1301s
相关产品推荐
相关产品推荐

