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

如何在macOS终端借助APFS的Copy-On-Write特性高效执行cp命令?

利用APFS的Copy-On-Write特性在终端高效复制文件

我来帮你搞定这个问题——Finder确实能自动借助APFS的Copy-On-Write(写时复制)特性,快速创建文件副本且不额外占用存储空间,但默认的cp命令不会触发这个机制,下面是具体的实现方法:

1. 使用cp命令的专属-c参数

这是最直接的解决方案,-c参数是APFS专门设计的,用来告诉系统利用写时复制特性创建副本:

cp -c Largefile LargeFileCopy

执行这个命令后,副本会瞬间生成,而且完全不占用额外磁盘空间——只有当你修改原文件或副本中的任意一个时,系统才会真正复制被修改的数据块,此时才会占用对应大小的空间,完美匹配你备份汇总的需求。

2. 确认目标目录在APFS卷上

COW是APFS独有的特性,所以首先要确保你的目标目录所在的卷是APFS格式。可以用以下命令验证:

diskutil list

在输出里找到对应卷,确认其格式标注为APFS;或者用更简洁的方式查看文件系统类型:

df -T | grep apfs

3. 备选工具:ditto命令

如果你习惯用ditto做文件复制,它在APFS卷上默认也会自动启用写时复制特性,命令如下:

ditto Largefile LargeFileCopy

如果遇到特殊情况系统未自动触发,还可以加--nocopyfile参数强制禁用传统复制模式,触发COW:

ditto --nocopyfile Largefile LargeFileCopy

额外注意事项

  • 这种COW副本最适合你的备份场景:汇总时所有副本都只是指向原数据的指针,既省空间又快,上传完成后删除副本也不会影响原文件。
  • 一旦修改副本或原文件,系统会立即为被修改的部分创建独立数据块,保证两个文件各自的完整性,不用担心互相干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:07:33