Linux--连接文件

连接文件的方式

硬链接(hard link)

通过文件系统的inode连接来产生新文件名,而不是产生新文件。

原理

由于每个文件都会占用一个inode,文件内容由inode的记录来指向。想要读取该文件,必须要经过目录记录的文件名来指向到正确的inode号码才能读取。换句话说,文件名只与目录有关,但是文件内容则与inode有关。所以,硬链接只是在某个目录下新建一条文件名连接到某inode号码的关联记录而已。

例子

在一个目录下新建foo1.txt的文件,然后使用命令ln foo1.txt foo2.txt创建一个硬链接。

在这里插入图片描述

可以看出两个文件名都连接到1742500这个inode号码。且文件的权限、属性完全一致。

特点

  • 一般来说,使用硬连接设置连接文件是,硬盘的空间与inode数量都不会改变。
  • 不能跨文件系统
  • 不能连接到目录

符号连接

类似Windows下的快捷方式的文件,可以快速连接到目标文件或目录

原理

符号连接实际上就是在创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件的文件名。所以当源文件被删除后,符号连接的文件就会打不开。

例子

同样是上面的例子,这里使用ln -s foo1.txt foo2.txt命令来建立一个符号连接。

在这里插入图片描述

可以看到两个文件的inode号码不同,所以当然就是两个独立的文件。

特点

  • 可以连接目录
  • 符号连接所产生的文件为一个独立的文件,所以会占用inodeblock

ln命令

参数

  • -s如果不添加如何参数就进行连接,那么就是硬连接。添加了-s就是符号连接。
  • -f:如果目标文件存在,就主动将目标文件删除然后再添加。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值