V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yclissetj
V2EX  ›  macOS

能否通过修改目录 extended attribute 的方式来同步 Downloads 目录到 iCloud Drive 中?

  •  
  •   yclissetj · 2019-01-04 22:35:56 +08:00 · 1773 次点击
    这是一个创建于 2148 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为 iCloud Drive 的空间比较大,所以想把 Downloads 目录也同步进来,但是苹果只有同步 Desktop 和 Documents 的选项呀,于是去研究了下。。
    看了一下 iCloud Drive 目录感到非常奇怪: iCloud Drive Directory Desktop 和 Documents 目录显示的竟然不是快捷方式或者说替身 alias,左下角没有那个小尖头,为了确认在终端里再看一下: iCloud Drive Directory Terminal 是的没错同学,你们明明是软链接呀! 于是我尝试也做一个 Downloads 的软链接到 iCloud Drive 中来,可是同步到的仅仅是链接本身,对应的整个目录并不能被同步过去。 于是再仔细看了看,是不是那个 @ 符号的作用,查了之后知道这个东西是 Extended Attribute,是 MacOS 独有的用来记录文件属性用的。 可以在 ls 命令后加参数查看: ls -@

    于是尝试用 xattr 命令为 Downloads 这个软链接也加上这个属性: xattr result

    遗憾的是,这并不能帮助我成功的同步 Downloads 目录。因此想要请教各位大佬:

    1. 通过 ls -l@xattr -l 所看到的属性并不相同,这两者存在什么区别?
    2. 是因为这个属性才使得 iCloud Drive 目录下的软链也可以被同步其对应的原目录内容,还是说又是苹果在背后自己设置的允许 Desktop 与 Documents 通过这样的方式来同步。。

    PS:感谢看到这里 😂 过程写的不是很详细,希望能抛砖引玉了~

    8 条回复    2019-01-06 10:45:59 +08:00
    zhaidoudou123
        1
    zhaidoudou123  
       2019-01-04 22:47:57 +08:00 via iPad
    要不要考虑把整个目录移进去,然后原本的下载做一个软连接呢?
    Sylv
        2
    Sylv  
       2019-01-04 23:16:17 +08:00 via iPhone
    iCloud Drive 不支持软链接,Desktop 和 Documents 应该是进行了特殊处理,肯定不是仅靠 Extended Attribute 来实现的,应该是没有办法把其它目录软链接到 iCloud Drive,只能反过来。
    clavichord93
        3
    clavichord93  
       2019-01-05 10:06:18 +08:00 via iPhone
    直接 hard link 呢
    xjbeta
        4
    xjbeta  
       2019-01-05 13:12:01 +08:00
    cd ~
    ln -s Library/Mobile\ Documents/com~apple~CloudDocs/ icloud

    之后怎么搞就不知道了
    yclissetj
        5
    yclissetj  
    OP
       2019-01-05 15:34:45 +08:00
    @zhaidoudou123 @Sylv 反向软链接应该是可以的 😂 就是强迫症有点受不了 😝 要是系统能优雅的实现是最好了 🐶
    yclissetj
        6
    yclissetj  
    OP
       2019-01-05 15:35:47 +08:00
    @clavichord93 MacOS/Linux 应该都不支持硬链接吧? 因为会有目录循环这种逻辑错误
    clavichord93
        7
    clavichord93  
       2019-01-05 18:35:18 +08:00 via iPhone
    @yclissetj 都支持吧,你直接 ln 试试?
    lrigi
        8
    lrigi  
       2019-01-06 10:45:59 +08:00 via iPhone
    要不写个同步脚本?
    freefilesync 应该就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5418 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:30 · PVG 11:30 · LAX 19:30 · JFK 22:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.