ln使用-linux下软链接和硬链接(符号链接)区别

本文介绍了Linux中ln命令用于创建硬链接和软链接的概念,并通过实践操作展示了它们的区别,包括inode、访问权限、修改文件内容、移动源文件及删除源文件等方面。

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

一、概念


链接:一种对文件的引用,分为硬链接和软链接(符号链接)。

索引节点(inode):在Linux系统中,内核为每一个新创建的文件分配一个inode(索引结点),每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存,从而实现文件的快速访问。系统是通过索引节点(而不是文件名)来定位每一个文件。

硬链接和软链接区别
1. 硬链接不会创建inode,即使用的inode都是一样的。软链接会创建新的inode。
2. 硬链接的访问属性和源文件一模一样,没有l的标识。软链接的访问属性写明了是l,且访问权限不能设置,只能是777,真正的权限取决于源文件。
3. 如果移动源文件,则软链接找不到,而硬链接则没有这个问题,因为软链接存的是文件的位置。
4. 硬链接是一种引用关系,一个源文件建立1个硬链接,引用计数加1,删除一个文件(硬链接文件或者源文件),引用计数减1,当引用计数为0时,真正删除文件。删除源文件软链接只是找不到了目标文件。
5. 不能创建目录的硬链接,不能在不同的文件系统的文件间建立硬链接,软链接则没有这些限制。

二、实践


1.创建一个源目录,为源目录创建一个子文件和子目录。
$ mkdir linktest
$ cd linktest
$ mkdir sd
$ echo “a” > sd/a.txt
$ mkdir sd/subsd

2. 创建2个源文件。

$ echo “test1” > sf1.txt
$ echo “test2” > sf2.txt
$ ls -il
total 8
523364 drwxrwxr-x. 3 user user 4096 Jun 20 12:30 sd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值