linux 软链接与硬链接

本文详细介绍了Linux文件系统的硬链接与软链接的工作原理。硬链接为inode标识文件的不同别名,允许文件有多个入口;软链接则是一个包含指向另一文件路径的普通文件。文章还介绍了它们的创建方法及区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
- 这里对linux文件系统作了很全面的解释,简而言之,linux文件数据的唯一标识是inode号包含在元数据(metadata)中,文件系统包含一个(我猜是hash表)索引提供文件路径的方式访问真正的userdata。
- 当我们通过文件名访问文件时,linux会先查找到inode号对应的metadata,再进行一系列操作。

硬链接

硬链接是一个inode标示文件的不同别名
可以使用ls -i 和stat来查看元数据

创建方法:

 # ln  old.file hard.link  //或者 link old.file hard.link
 ls -li 
 total 8 
 660650 -rw-r--r-- 2 root root 25 Sep  1 17:44 hard.link 
 660650 -rw-r--r-- 2 root root 25 Sep  1 17:44 old.file 
  • 硬链接文件具有和源文件相同的 inode和datablock;
  • 只能对已存在的文件创建硬链接;
  • 不能交叉文件系统创建硬链接;
  • 不能对目录创建硬链接(. .. 这两个除外);
  • 删除硬链接只是将对应的inode指向文件的metadata中的link字段减一;
  • 文件权限完全相同;

软链接

转链接是一个普通文件,数据块的内容是另一个文件的路径

示例:

 # ln -s old.file soft.link 
 # ls -liF 
 total 0 
 789467 lrwxrwxrwx 1 root root 8 Sep  1 18:00 soft.link -> old.file 
  • 可以对不存在的文件或目录创建软连接
  • 指向目标不存在的软链接成为死链接
  • 软链接文件有这自己的inode号和独立的权限;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值