软硬链接的那点事

ln 软硬链接的创建

  • 在实际生产环境中,我们更经常使用软连接;

  • 硬链接的作用一般只有备份文件,然而由于所有硬链接都指向同一个inode,共享相同的数据块;

  • 所以依旧容易造成数据的丢失,所以一般都使用 cp 命令进行备份;

语法格式

ln [选项] [源文件] [目标文件地址]

常用选项

-s		#为源文件创建软连接

示例

#为网卡配置文件创建一个软链接和一个硬链接在/ln目录下
#软连接
[root@Dezyan ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /ln/ens33.soft
#硬链接
[root@Dezyan ~]# ln  /etc/sysconfig/network-scripts/ifcfg-ens33 /ln/ens33.hard
[root@Dezyan ~]# ll /ln/
总用量 4
-rw-r--r-- 2 root root 357 10月 24 16:45 ens33.hard
lrwxrwxrwx 1 root root  42 11月  5 04:37 ens33.soft -> /etc/sysconfig/network-scripts/ifcfg-ens33

软硬链接的区别

软连接硬链接
创建对象文件、目录文件
iNode号与源文件不同与源文件相同
文件属性依赖性:如果目标文件被移动或删除,软链接将变为“死链接”。独立性:硬链接可以有多个不同的文件名,但它们指向的是同一个文件数据。
权限软链接有自己的权限和所有权,因为它们是独立的文件,只是内容指向另一个文件。所有硬链接共享相同的权限和所有权,因为它们实际上是同一个文件的不同引用。
链接指向文件名文件的inode(所有硬链接都指向同一个inode,共享相同的数据块)
文件系统可以跨越不同的文件系统不能跨越不同的文件系统
空间占用占用少量空间,因为它们需要存储目标文件的路径。不占用额外空间,因为它们共享相同的数据块。
删除行为由于它们只是指向目标文件的路径,所以删除不会影响目标文件。只要至少有一个硬链接存在,文件数据就不会被删除。只有当所有硬链接都被删除后,文件数据才会被释放。

为什么一个空文件夹的硬链接数是2?

  • 我们知道,在Linux系统中,文件和目录的硬链接数代表了有多少个目录项直接指向该文件或目录的inode。
  • 对于一个空文件夹来说,它的硬链接数通常是2,这是因为:
    • 当我们使用ls -a 查看一个空文件夹时,Linux系统输出的内容如下:
[root@Dezyan ~]# ls -a 11
.  ..
  • 其中:

    • ..代表父目录中的目录项每个目录至少有一个硬链接,即其父目录中的目录项。这是目录的第一个硬链接。
    • .代表目录自身每个目录都有一个指向自身的目录项.,这是目录的第二个硬链接。
  • 注意:如果目录不为空,那么它还会有额外的硬链接,因为目录中的每个文件或子目录都会在该目录的inode中增加一个硬链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值