先,来看一下文件的各个属性。
图1 ls li查看文件属性
输入命令是ls -li
第一行:inode(下面会将述inode)
第二行:文件的种类和权限
第三行:硬链接的个数
第四行:属组
第五行:所归属的组
第六行:文件的大小
第七行:文件最后修改的时间
第八行:文件或者目录的名称
其次,让我们来看一下inode。
inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ... ...
)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的打找到相应的文件。
inode相同的文件是硬链接文件。
创建硬链接的文件的过程和视图如下:
图2 创建硬链接
如图2所示,给b.cpp创建了一个硬链接,他们的inode是相同的,都是5722389。为什么会出现这种情况呢?
原因很简单,inode值相同的文件,他们的关系是互为硬链接的关系。当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。如果我们删除互为硬链接关系的某个文件时,其它的文件并不受影响。假如,我们修改了alex.cpp这个文件,则b.cpp也会跟着变化。简单来说就是,硬链接是一个指针,它指向相同的inode,然后再去找文件块。
创建软连接的视图和过程如下图:
图3 创建软链接
其中,decimal.cpp就是alex.cpp的软链接文件。软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
软链接的话,是 不同inode,可以为目录创建,可以在不同文件系统创建。
注意:当我们修改链接文件的内容时,就意味着我们在修改源文件的内容。当然源文件的属性也会发生改变,但软链接文件的属性并不会发生变化。当我们把源文件删除后,软链接文件只存在一个文件名,因为失去了源文件,所以软链接所指文件也就不存在了。
本文出自 “天道酬情” 博客,请务必保留此出处http://decimal.blog.51cto.com/1484476/365748
分享到:
相关推荐
涵盖了Linux系统管理的核心概念和技能。...此外,重点讲解了软连接和硬链接的区别,并提供了额外的补充材料以加深理解。适合Linux初学者和系统管理员提升对文件系统管理、磁盘空间优化和链接应用的实战能力。
例如,硬链接不能跨文件系统创建,因为不同的文件系统拥有不同的inode编号空间,而软链接则不受这一限制。此外,在进行文件备份和同步时,硬链接可以减少空间使用,因为多个硬链接实际上是指向同一份数据块的不同...
在Linux操作系统中,...文章《Linux软连接和硬链接》以及相关资料提供了深入的探讨,包括它们的工作原理、创建方法以及使用示例。通过阅读这些材料,你可以更全面地了解如何在Linux环境中有效地利用这两种链接技术。
Linux 软连接与硬链接 Linux 操作系统中有两种类型的连接:硬连接(Hard Link)和软连接(Symbolic Link)。这两种连接类型都可以实现文件的共享,但它们的实现机制和应用场景不同。 一、硬连接(Hard Link) 硬...
- 硬链接不能跨文件系统,因为它依赖于inode编号,而每个文件系统都有自己独立的inode编号空间。 - 删除源文件后,硬链接仍然有效,因为它指向的是inode而不是文件名。 - 修改硬链接中的任何一个,都将影响到所有...
4. **软链接(Symbolic Link)和硬链接(Hard Link)**:软链接类似于Windows的快捷方式,硬链接则是在文件系统中创建额外的入口,指向同一块数据。 5. **文件系统维护**:包括磁盘检查(fsck)、分区管理(fdisk, ...
- 硬链接与软链接:硬链接指向相同inode,而软链接类似于Windows的快捷方式。 在“操作系统-文件系统设计文档.docx”中,应该详细阐述了以上各种概念,并可能包括具体的操作系统实现细节。而“使用说明.txt”可能...
Linux 硬链接和软链接深入理解 Linux 操作系统中有两种类型的链接:硬链接和软链接。...硬链接和软链接都是 Linux 文件系统中的重要概念,了解它们的区别和使用场景对于 Linux 系统管理员和开发者非常重要。
本文将深入探讨两个关键概念:硬连接(Hard Links)和软连接(Symbolic Links),它们都是Linux系统中创建多条访问同一文件内容路径的方法。了解这两个概念对于日常的文件管理和系统维护至关重要。 首先,让我们来...
硬链接和软链接是 Linux 中两种不同的文件链接方式,硬链接通过索引节点来进行连接,而软链接是一种特殊的文件,包含的有另一文件的位置信息。了解硬链接和软链接的区别对 Linux 操作系统的使用和管理非常重要。
3. **跨文件系统能力**:硬链接受限于同一文件系统,而软链接不受此限制,可以跨文件系统创建。 4. **数据一致性**:硬链接保证了数据的一致性,任何通过硬链接进行的修改都会影响所有其他硬链接;而软链接的修改只...
本实验报告主要介绍了 Linux 文件系统的使用,包括文件硬链接和软连接(符号链接)的实现方法。通过实验,学生可以学习 Linux 中文件系统的使用,理解文件链接的概念,并掌握文件硬链接和软连接的实现方法。 一、...
在 Linux 系统中,硬链接和软链接都是重要的文件系统组成部分,它们可以帮助用户快速链接到目标档案或目录,但是它们也存在一些限制和不足之处,例如硬链接不允许给目录创建硬链接,不可以在不同文件系统的文件间...
- 挂载点:将其他分区或设备连接到文件系统树上。 - 挂载命令:`mount`和`umount`,挂载配置文件在`/etc/fstab`。 - 动态挂载:使用udev自动挂载设备。 6. 文件系统检查和维护: - fsck:检查并修复文件系统的...
软链接允许链接到不存在或者移动后的文件,而硬链接则不然,一旦源文件被删除,所有指向它的硬连接都将失效。 硬连接的应用场景包括节省磁盘空间(因为数据只存储一次)、文件备份(通过创建硬连接实现快速复制)...
链接有两种,一种被称为硬链接,硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中多个文件名指向同一索引节点是存在的...
在Linux操作系统中,文件系统支持两种类型的链接:硬链接(Hard Link)和软链接(Symbolic Link),这两种链接都是为了提供文件的多个访问路径。理解它们的区别和使用场景对于日常的Linux操作非常重要。 首先,硬...
Linux文件系统中,软连接和硬链接也是其组成部分。对于一个文件来说,有唯一的索引节点号与之对应。对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。 ...
- **不能跨文件系统**:硬连接只能在同一文件系统内创建,无法跨越不同的文件系统。 **创建方法**: 可以通过`ln`命令或者`link()`系统调用来创建硬连接。 ```bash ln /dirA/name1 /dirB/name2 ``` 这里`/dirA/name...