加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux硬链接混乱

发布时间:2020-12-13 17:19:28 所属栏目:Linux 来源:网络整理
导读:我对 Linux硬链接感到困惑, 我在我的Ubuntu盒子上用这个命令创建了一个硬链接, ln f1 f2 所以f2应该是f1的硬链接,但是为什么我用emacs改变了f2并且保存了f2,f1根本没有改变.我的理解是f1应该有我在f2上所做的任何改变. 解决方法 我做了一些测试并弄清楚发生
我对 Linux硬链接感到困惑,

我在我的Ubuntu盒子上用这个命令创建了一个硬链接,

ln f1 f2

所以f2应该是f1的硬链接,但是为什么我用emacs改变了f2并且保存了f2,f1根本没有改变.我的理解是f1应该有我在f2上所做的任何改变.

解决方法

我做了一些测试并弄清楚发生了什么.首先,命令ls -li显示第一列中的inode编号,同一文件的两个硬链接将具有相同的inode编号:
$echo hi > f1
$ln f1 f2
$ls -li
total 8
1646595 -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编号1646595,它们是相同数据的硬链接.我使用emacs编辑f1并保存:

$ls -li
total 12
1646597 -rw-r--r-- 1 randy randy 9 2011-06-18 06:51 f1
1646595 -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中是否有设置可以改变这种行为.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读