我在我的Ubuntu盒子上用这个命令创建了一个硬链接,
ln f1 f2
所以f2应该是f1的硬链接,但是为什么我用emacs改变了f2并且保存了f2,f1根本没有改变.我的理解是f1应该有我在f2上所做的任何改变.
解决方法 我做了一些测试并弄清楚发生了什么.首先,命令ls -li显示第一列中的inode编号,同一文件的两个硬链接将具有相同的inode编号:$echo hi > f1$ln f1 f2$ls -litotal 81646595 -rw-r--r-- 2 randy randy 3 2011-06-18 06:50 f11646595 -rw-r--r-- 2 randy randy 3 2011-06-18 06:50 f2
文件f1和f2都具有inode编号1646595,它们是相同数据的硬链接.我使用emacs编辑f1并保存:
$ls -litotal 121646597 -rw-r--r-- 1 randy randy 9 2011-06-18 06:51 f11646595 -rw-r--r-- 2 randy randy 3 2011-06-18 06:50 f1~1646595 -rw-r--r-- 2 randy randy 3 2011-06-18 06:50 f2
现在,f1~和f2具有相同的inode编号,f1具有新的inode编号.
保存时emacs执行的 *** 作重命名为f1到f1~并创建了新文件f1. f1~仍然硬连接到f2,而f1是一个新文件没有链接到其他任何地方.
我不知道emacs中是否有设置可以改变这种行为.
总结以上是内存溢出为你收集整理的Linux硬链接混乱全部内容,希望文章能够帮你解决Linux硬链接混乱所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)