`
bestxiaok
  • 浏览: 453642 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文件系统-----软连接和硬链接

阅读更多
先,来看一下文件的各个属性。

图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教程-磁盘相关-分区-文件系统-挂载-软连接硬连接.zip

    涵盖了Linux系统管理的核心概念和技能。...此外,重点讲解了软连接和硬链接的区别,并提供了额外的补充材料以加深理解。适合Linux初学者和系统管理员提升对文件系统管理、磁盘空间优化和链接应用的实战能力。

    Linux软连接和硬链接-实际操作一遍你就会懂

    例如,硬链接不能跨文件系统创建,因为不同的文件系统拥有不同的inode编号空间,而软链接则不受这一限制。此外,在进行文件备份和同步时,硬链接可以减少空间使用,因为多个硬链接实际上是指向同一份数据块的不同...

    Linux软连接和硬链接

    在Linux操作系统中,...文章《Linux软连接和硬链接》以及相关资料提供了深入的探讨,包括它们的工作原理、创建方法以及使用示例。通过阅读这些材料,你可以更全面地了解如何在Linux环境中有效地利用这两种链接技术。

    Linux 软连接与硬链接.pdf

    Linux 软连接与硬链接 Linux 操作系统中有两种类型的连接:硬连接(Hard Link)和软连接(Symbolic Link)。这两种连接类型都可以实现文件的共享,但它们的实现机制和应用场景不同。 一、硬连接(Hard Link) 硬...

    软链接与硬链接

    - 硬链接不能跨文件系统,因为它依赖于inode编号,而每个文件系统都有自己独立的inode编号空间。 - 删除源文件后,硬链接仍然有效,因为它指向的是inode而不是文件名。 - 修改硬链接中的任何一个,都将影响到所有...

    嵌入式linux文件系统---很详细,非常适合初学者

    4. **软链接(Symbolic Link)和硬链接(Hard Link)**:软链接类似于Windows的快捷方式,硬链接则是在文件系统中创建额外的入口,指向同一块数据。 5. **文件系统维护**:包括磁盘检查(fsck)、分区管理(fdisk, ...

    操作系统-文件系统设计文档

    - 硬链接与软链接:硬链接指向相同inode,而软链接类似于Windows的快捷方式。 在“操作系统-文件系统设计文档.docx”中,应该详细阐述了以上各种概念,并可能包括具体的操作系统实现细节。而“使用说明.txt”可能...

    linux 硬链接和软链接深入理解.docx

    Linux 硬链接和软链接深入理解 Linux 操作系统中有两种类型的链接:硬链接和软链接。...硬链接和软链接都是 Linux 文件系统中的重要概念,了解它们的区别和使用场景对于 Linux 系统管理员和开发者非常重要。

    Centos 7 硬连接和软连接.pdf

    本文将深入探讨两个关键概念:硬连接(Hard Links)和软连接(Symbolic Links),它们都是Linux系统中创建多条访问同一文件内容路径的方法。了解这两个概念对于日常的文件管理和系统维护至关重要。 首先,让我们来...

    linux软链接 硬链接区别

    硬链接和软链接是 Linux 中两种不同的文件链接方式,硬链接通过索引节点来进行连接,而软链接是一种特殊的文件,包含的有另一文件的位置信息。了解硬链接和软链接的区别对 Linux 操作系统的使用和管理非常重要。

    ln的软硬连接区别

    3. **跨文件系统能力**:硬链接受限于同一文件系统,而软链接不受此限制,可以跨文件系统创建。 4. **数据一致性**:硬链接保证了数据的一致性,任何通过硬链接进行的修改都会影响所有其他硬链接;而软链接的修改只...

    +实验4 Linux的文件系统.docx

    本实验报告主要介绍了 Linux 文件系统的使用,包括文件硬链接和软连接(符号链接)的实现方法。通过实验,学生可以学习 Linux 中文件系统的使用,理解文件链接的概念,并掌握文件硬链接和软连接的实现方法。 一、...

    需要了解的linux硬链接与软链接.docx

    在 Linux 系统中,硬链接和软链接都是重要的文件系统组成部分,它们可以帮助用户快速链接到目标档案或目录,但是它们也存在一些限制和不足之处,例如硬链接不允许给目录创建硬链接,不可以在不同文件系统的文件间...

    Linux操作系统文件系统学习教程-105页.zip

    - 挂载点:将其他分区或设备连接到文件系统树上。 - 挂载命令:`mount`和`umount`,挂载配置文件在`/etc/fstab`。 - 动态挂载:使用udev自动挂载设备。 6. 文件系统检查和维护: - fsck:检查并修复文件系统的...

    node-04-硬连接.ev4.rar

    软链接允许链接到不存在或者移动后的文件,而硬链接则不然,一旦源文件被删除,所有指向它的硬连接都将失效。 硬连接的应用场景包括节省磁盘空间(因为数据只存储一次)、文件备份(通过创建硬连接实现快速复制)...

    Linux操作系统文件链接问题

    链接有两种,一种被称为硬链接,硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中多个文件名指向同一索引节点是存在的...

    详解linux软连接和硬链接

    在Linux操作系统中,文件系统支持两种类型的链接:硬链接(Hard Link)和软链接(Symbolic Link),这两种链接都是为了提供文件的多个访问路径。理解它们的区别和使用场景对于日常的Linux操作非常重要。 首先,硬...

    09-RHEL7-Linux文件系统组成与特点

    Linux文件系统中,软连接和硬链接也是其组成部分。对于一个文件来说,有唯一的索引节点号与之对应。对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。 ...

    硬连接和符号连接

    - **不能跨文件系统**:硬连接只能在同一文件系统内创建,无法跨越不同的文件系统。 **创建方法**: 可以通过`ln`命令或者`link()`系统调用来创建硬连接。 ```bash ln /dirA/name1 /dirB/name2 ``` 这里`/dirA/name...

Global site tag (gtag.js) - Google Analytics