nic*_*jou 19 osx filesystems files
我在 Mac 上观察到这样的行为:
~/foo
用另一个应用程序删除该目录,shell 的密码正确输出~/.Trash/foo
.引擎盖下发生了什么?这些情况似乎表明应用程序不仅仅像 emacs 那样保存文件的绝对路径(我对这个是否正确?),还是完全不同的机制?
the*_*rpy 21
macos 有一个特殊的/.vol/
系统映射到实际的目录和文件。/.vol/<device_id>/<inode_number>
无论文件在文件系统上的哪个位置,都可以通过 访问文件和目录。
这是一个不错的小系统。
因此,程序可以例如获取 inode 编号,/Users/jdoe/someFile.txt
然后通过以下方式打开它/.vol/12345/6789
(在这种情况下,设备 ID 为 12345,inode 编号为 6789)。然后/Users/jdoe/someFile.txt
你可以移动到任何你想要的地方(在同一卷上),一切都正常。您甚至可以编写支持此功能的 shell 脚本magic
。
ls -di <file>
获取inode编号。
$ ls -di /User/jdoe/someFile.txt
6789 /User/jdoe/someFile.txt
Run Code Online (Sandbox Code Playgroud)
编辑:
stat
根据 IMSoP 突出显示的链接答案,您用来获取卷的 id 和 inode 编号。
GetFileInfo /.vol/12345/6789
将返回先前位于/Users/jdoe/someFile.txt
.
有关更多信息,请参阅/sf/ask/836592991/。