gpt4 book ai didi

linux - rsync 从 mac 到 linux : colon replacement

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:02 25 4
gpt4 key购买 nike

我正在 linux 上备份以从远程 apple mac 同步数据以保存在本地。

linux/mac 使用“/”或“:”来定义路径层次,因此,如果 mac 文件名包含“/”,则 rsync 会将“/”替换为“:”以确保安全。

但是,以这种方式将此备份共享/联网回 mac 会导致麻烦。

有没有办法告诉 rsync 取另一个字符,即“_”?

我可以使用重命名我的文件

find /path/to/basedir/* -iname "*:*"  | tac |  sed 's/\(.*\):\(.*\)$/mv "&" "\1_\2"/' | sh

但这打破了 rsync 增量魔法。

谢谢!

最佳答案

不是 rsync 进行翻译;它由内核和文件系统 API 完成(参见 this previous questionthe linked USENIX paper )。棘手的字符在 MacOS 继承的 API 中显示为斜杠,在 unix 继承的 API 中显示为冒号; rsync 使用 unix-heritage API,所以它看到一个冒号。

最好的解决方案不是尝试以不同的方式翻译角色,而是弄清楚您正在使用的共享/网络出了什么问题,并弄清楚为什么它没有在做适当的翻译。

关于linux - rsync 从 mac 到 linux : colon replacement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28947440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com