![]() | 1 q397064399 2017-01-01 20:32:19 +08:00 不清楚,从来都是软链接 |
![]() | 2 BSD 2017-01-01 20:47:56 +08:00 那是你用的发行版有问题吧,我试了,没你说的现象,改任何一个文件,硬链文件内容也会同时改变。 |
3 jimzhong 2017-01-01 21:18:15 +08:00 inode 是共用的,是不是你没有保存? |
4 sylecn 2017-01-01 21:28:39 +08:00 via Android 不会出现这种情况,你是怎么修改 b 的? |
5 davinci OP |
6 davinci OP |
![]() | 7 orzfly 2017-01-01 23:36:07 +08:00 ![]() 你需要注意一下你用的文本编辑器究竟是怎样存文件的…… 有些编辑器保存文件,不是直接写入,而是写一个新的(临时)文件,然后把他重命名成之前的…… |
![]() | 8 clavichord93 2017-01-02 00:15:22 +08:00 |
![]() | 10 meta 2017-01-02 10:12:19 +08:00 via iPhone 改完 sync 一下呢 |
11 davinci OP @orzfly 试了一下 的确 macOS 自带的 TextEdit 不是直接写入,而是分配新的磁盘空间初始化新的 innode 结构体,写入修改后的内容,令文件 innode id 指向新的 innode 结构体。如果旧的 innode 结构体引用计数变为 0 ,删除之,并回收旧磁盘空间。 |
12 davinci OP @clavichord93 试了一下,用 nano 就会同步变化了。 |
![]() | 13 msg7086 2017-01-02 15:36:15 +08:00 很神奇的竟然被你猜对了。就是 Copy on Write 呢。 |
![]() | 14 alexnone 2017-01-03 13:31:16 +08:00 学习了.所以楼主一开始保存的 b.txt 的 innode id 和 a.txt 的并不一样了咯? |