通过命令行进入iCloud Drive中的应用目录
昨天发布微言小义时,折腾了蛮久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应用目录)。
但在命令行查看~/Library/Mobile\ Documents/com~apple~CloudDocs
,却只有_skyue
目录,如下图。
这就尴尬了,找不到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中只能查看后者。
那么有没有办法,在iOS上设置一个定时任务,将某文件夹里的内容自动和另一个文件夹互相备份
没研究过,iOS应用文件夹的权限管理比macOS还要复杂很多,然后iOS也没有跑脚本的环境。