Linux下软硬链接

1. 软链接:软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容了。
软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分-->目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接! 其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

2. 硬链接:硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号 (Inode Index) 。在 Linux 中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止  误删  的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:

文件有相同的 inode 及 data block;

只能对已存在的文件进行创建;

不能交叉文件系统进行硬链接的创建;

不能对目录进行创建,只可对文件创建;

删除一个硬链接文件并不影响其他有相同 inode 号的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软链接硬链接Linux中常用的两种链接方式。在Linux中,链接是一种特殊的文件类型,用于将一个文件引用到另一个文件。链接的目的是为了简化操作和节省存储空间。 软链接,也称为符号链接,是一种特殊的文件类型,它包含指向另一个文件的路径。软链接类似于Windows中的快捷方式,当你打开软链接时,它会将你重定向到该文件的实际位置。软链接可以跨越不同的文件系统,但是如果链接的文件被删除或移动了,软链接将变得无效。 硬链接是通过在文件系统上创建一个与原始文件链接的新的指向相同文件的链接来实现的。硬链接是实际的文件,可以与原始文件同时存在于文件系统中,它们共享相同的inode和数据块。如果你改变了其中的一个文件,另一个文件也会被影响,因为它们共享相同的数据块。硬链接只能在同一文件系统上创建。 在理解软硬链接之前,我们首先要理解inode的概念。 inode是存储在文件系统中的一个数据结构,它包含文件的元数据,如所有者,时间戳以及文件的权限等信息。当你创建一个新文件时,系统为该文件分配一个唯一的inode号码。硬链接和源文件具有相同的inode号码。每个目录项都包含一个inode编号,该编号指向该目录中的文件或目录,因此可以通过inode编号找到该文件。 当您创建一个硬链接时,您实际上只是将另一个目录项添加到现有文件的inode上。因此,该文件具有多个名称,但实际上只有一个副本。另一方面,软链接只是在已有文件的路径上创建了一个新的文件,它不具有相同的inode号码。 总之,软链接硬链接都是用于将一个文件链接到另一个文件的方法。软链接是指向另一个文件的路径,硬链接是实际的文件节点。理解它们之间的差异很重要,因为它们的用途、特性及其所涉及的工作方式都各不相同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值