昨天发布微言小义时,折腾了蛮久iCloud目录问题,记录一下过程。

以前提到过,我用obsidian写博客,然后再用Python脚本发布,这有个前提,必须知道obsidian目录在哪。

最近为了在手机上使用obsidian,把obsidian目录从Dropbox迁移到iCloud Drive。然后发现,在命令行找不到iCloud Drive目录。

网上查到,iCloud Drive目录是:

cd ~/Library/Mobile\ Documents/com~apple~CloudDocs

进去以后,却又发现只有自己创建的目录,没有应用目录。什么意思呢?

比如,在Finder中看,我的iCloud Drive(也叫iCloud云盘)中有如下目录,其中_skyue是我自己创建的,其它目录都是应用目录(包括我需要用到的Obsidian应用目录)。

Finder的iCloud Drive中显示的目录
Finder的iCloud Drive中显示的目录

但在命令行查看~/Library/Mobile\ Documents/com~apple~CloudDocs,却只有_skyue目录,如下图。

命令行看到的iCloud Drive目录
命令行看到的iCloud Drive目录

这就尴尬了,找不到Obsidian应用目录。

接下来咋办,卡壳了很久,Google上也一直找不到资料。

突然,发现iTerm2终端支持在Finder中直接右键进入目录,这功能真是太妙了。

这功能很赞
这功能很赞

进入之后,再执行pwd发现Obsidian应用目录全路径是~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents

到这里,大概明白iCloud的目录逻辑了。

iCloud的根目录~/Library/Mobile\ Documents/,所有接入iCloud Drive的应用,会在根目录下创建一个文件夹存放应用数据,同时这个应用目录也会以应用文件夹的方式显示在Finder的iCloud Drive中。且真实的目录名和显示的目录名有所不同。

以Obsidian应用为例,应用目录是iCloud~md~obsidian,对应Finder中显示目录是Obsidian

至于~/Library/Mobile\ Documents/com~apple~CloudDocs/目录,本质上也是一个应用目录,是iCloud Drive自身的应用目录,用户自己在云盘中创建的文件或文件夹,存放在这个目录。

此外,在终端把~/Library/Mobile\ Documents/目录下的文件夹全部列出来,远比Finder中iCloud Drive显示的文件夹多。因为很多应用接的是iCloud,而非iCloud Drive,二者有所区别,Finder中只能查看后者。

分类: 折腾 标签: iCloud云盘, iCloud, 命令行, 终端

🔔 Email RSS订阅本博客

已有 2 条评论

  1. 那么有没有办法,在iOS上设置一个定时任务,将某文件夹里的内容自动和另一个文件夹互相备份

    1. 没研究过,iOS应用文件夹的权限管理比macOS还要复杂很多,然后iOS也没有跑脚本的环境。

添加新评论