使用“cp -p”复制的文件日期设置为“现在”

使用“cp -p”复制的文件日期设置为“现在”

我正在使用我的 Mac 尝试将智能手机 SD 卡的内容复制到更大的卡上。因为我不想让所有图片都获得新的创建日期,所以我使用了--preserve如下选项: cp -pr /Volumes/OldSD/ /Volumes/NewSD

新旧卡上的文件系统都是 ExFAT,除了我自己的用户之外,它没有显示任何文件所有者。

我最终将所有文件日期(创建、最后修改)设置为“现在”。

使用该-a选项也无帮助。

发生什么问题了?


还有一点需要注意:这种情况只发生在从 SD 卡复制时。当我cp -p在 Mac 上使用文件时,它会正确保留所有日期。

答案1

经过以下一些浪费的努力之后……

使用 Cmd ⌘ C Cmd ⌘ V .
它确实有效。


看起来你正在尝试在 Mac 上使用 Linux 语法。它们并不相同。

macOS cp 手册 -https://ss64.com/mac/cp.html

Linux cp 手册 -https://man7.org/linux/man-pages/man1/cp.1.html

我猜你需要cp -Rp /Volumes/OldSD/ /Volumes/NewSD

嗯…不行。这也不行。
测试,这会保留修改日期,但将创建日期设置为与修改日期相同的值。
在此处输入图片描述

进一步的研究表明这似乎是一个已知问题……通过终端复制时如何保留原始的“创建日期”?

顺便说一下,ExFAT 不能保存 unix [或 Mac] 权限或 ACL,所以除了日期/所有者之外的任何其他数据都不太可能在复制后保留下来。

相关内容