当backupcopy为no时,会使用rename(对应mv命令)将test.txt更名为test.txt~,原test.txt文件消失。
然后再创建新的test.txt文件,向其中写入对应内容。
在此过程中,由于新创建了test.txt文件,inode编号发生改变。
backupcopy为yes的时候,会创建空的test.txt~文件,并将test.txt文件的内容copy到test.txt~中,
然后再对test.txt进行修改(其中,O_CREAT表示无对应文件时创建新文件,此时test.txt文件存在,所以还是对原文件进行修改)
由此,在此过程中,inode编号不会发生变化。
参考:
1. https://vi.stackexchange.com/questions/11629/set-backupcopy-yes-doesnt-still-writes-the-file-twice