如何创建和查看软链接和硬链接?这二者的区别是什么?

这篇具有很好参考价值的文章主要介绍了如何创建和查看软链接和硬链接?这二者的区别是什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


hello大家好😊

在linux中,文件链接可以使多个文件名引用同一个文件。有两种方式可以创建指向同一个文件的多个名称,分别是硬链接和软链接(符号链接)

在介绍软链接和硬链接前,我们先看下什么是inode。👇

索引节点(inode)

索引节点是 Linux 文件系统中的秘密工作者,它们存储文件或目录的元数据,存储了有关文件的各种信息,如权限、所有者、文件大小、时间戳等。每个文件都对应一个唯一的索引节点,这个节点在文件系统中有一个唯一的索引号(inode number)。索引节点可以被看作是文件的“管理者”,它记录了文件的所有关键信息,而文件名则只是指向这个索引节点的一种方式

索引节点里记录的关键内容示例:

  • 权限与所有权: 索引节点记录了文件的权限和所有者信息。
  • 文件类型与大小: 索引节点指示文件类型(普通文件、目录等)以及文件的大小。
  • 链接计数: 索引节点维护一个链接计数,表示有多少个文件名指向它。当链接计数为零时,文件将被删除。
  • 数据块指针: 索引节点包含指向实际数据块的指针,以便访问文件的实际内容

我们可以使用 stat命令查看某个文件的inode信息。

示例:
如何创建和查看软链接和硬链接?这二者的区别是什么?,linux

硬链接

一般情况下,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。

这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为硬链接(hard link)。

创建硬链接

我们可以使用ln命令创建一个指向现有文件的新硬链接(另一个名称)。该命令至少需要两个参数,即现有文件的路径以及要创建的硬链接的路径。

例如,以下命令为现有文件file.txt创建硬链接file-hlink.txt:

ln file.txt /tmp/file-hlink.txt

查看硬链接

我们可以通过ls -l 命令来确定某个文件的硬链接数。

例如,下面所示图中绿色框里的数字代表着对应文件的硬链接数。
如何创建和查看软链接和硬链接?这二者的区别是什么?,linux

软链接

另一种链接方式是这样的,文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的软链接(soft link)或者符号链接(symbolic link)

所以软链接就是新创建了一个新文件,若原文件删了,那么软链接就失效了,而硬链接不会。

这是软链接与硬链接最大的不同:链接文件指向原文件的文件名,而不是原文件的inode号码,原文件的inode链接数不会因此发生变化。

创建软链接

和创建硬链接类似,我们可以使用ln命令加-s选项创建一个指向现有文件的软链接。该命令至少需要两个参数,即现有文件的路径以及要创建的软链接的路径。

例如,以下命令为现有文件file.txt创建软链接file-slink.txt:

ln -s file.txt /tmp/file-slink.txt

查看软链接

在使用ls -l命令显示文件和目录信息时,第一个字符代表文件类型,若显示为 l 那么就是软链接。并且会用箭头指向它所对应的原文件。

例如,下面所示图中第一个绿框中是 l ,意味findfiles-slink是一个软链接。第二个框显示了它是findfiles的软链接
如何创建和查看软链接和硬链接?这二者的区别是什么?,linux

inode编号妙用

我们还可以通过ls 命令和 -i选项列出文件的索引节点编号,若两个文件处在同一个文件系统且inode编号相同则为硬链接。

例如,以下所示图中,第一列数字即为inode编号。listlist-hlink互为硬链接,它们的inode编号相同。而findfiles和它的软链接findfiles-slinkinode编号并不相同

如何创建和查看软链接和硬链接?这二者的区别是什么?,linux

总结软链接和硬链接的区别

软链接 硬链接
inode 原文件和链接文件是两个不同的文件,它们拥有不同的inode号码 原文件和链接文件是同一个的文件,它们共用同一个inode号码
文件属性 明确指明是链接文件 和原文件的属性一致。因为在本质上硬链接文件和原文件是平等的关系
跨文件系统建立 可以 不可以
指向的文件 可以指向目录或特殊文件 只能指向常规文件
链接数目 文件的链接数目不会增加,文件大小是不一样的(可以简单理解为快捷方式) 文件的链接数会增加,文件大小是一样的
删除原文件对链接文件是否有影响 是,删除原文件后,软链接文件就失效了 否,原文件删除后,链接数会减1,只有链接数减为0时才算真的删除文件

感谢 💖

好啦,这次的分享就到这里,感谢大家看到这里🤞文章来源地址https://www.toymoban.com/news/detail-660086.html

到了这里,关于如何创建和查看软链接和硬链接?这二者的区别是什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 操作系统—软链接和硬链接的介绍、实现、区别

    一、前言  有时候我们希望给某个文件取个别名,那么在 Linux 中可以通过 硬链接  和 软链接 的方式来实现,它们都是比较特殊的文件,但是实现方式也是不相同的。    首先简单介绍一下,Linux文件系统的 索引节点(inode)  索引节点,也就是  inode ,用来记录文件的元信息

    2024年02月16日
    浏览(10)
  • 【23】linux进阶——linux的软链接和硬链接

    【23】linux进阶——linux的软链接和硬链接

    大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家 另外其它专栏请关注: 锐捷数通实验:锐捷数通实验 网络工程师成长日志:网络工程师成长日志

    2024年02月01日
    浏览(8)
  • Unix/Linux 中的软链接和硬链接

    UNIX 中的链接是指向文件的指针。与任何编程语言中的指针一样,UNIX 中的链接是指向文件或目录的指针。创建链接是一种访问文件的快捷方式。链接允许多个文件名在别处引用同一个文件。 有两种类型的链接: 软链接或符号链接 硬链接 当链接的源(链接到的内容)被移动

    2024年02月04日
    浏览(12)
  • HTML 与 XHTML 二者有什么区别

    HTML 与 XHTML 之间的差别,主要分为功能上的差别和书写习惯的差别两方面。 关于功能上的差别,主要是 XHTML 可兼容各大浏览器、手机以及 PDA ,并且浏览器也能快速正确地编译网页。 由于 XHTML 的语法较为严谨,所以如果你是习惯松散结构的 HTML 编写者,那需要注意 XHTML 的规

    2024年02月13日
    浏览(11)
  • Linux中软链接与硬链接的作用、区别、创建、删除

    软链接是Linux中常用的命令,它的功能是某一文件在另外一个位置建立一个同步的链接,相当于C语言中的指针,建立的链接直接指向源文件所在的地址,软链接不会另外占用资源,当同一文件需要在多个位置被用到的时候,就会使用到软连接。 硬链接在是另外一个位置创建源

    2024年02月07日
    浏览(11)
  • linux之Ubuntu系列 find 、 ln 、 tar、apt 指令 软链接和硬链接 snap

    linux之Ubuntu系列 find 、 ln 、 tar、apt 指令 软链接和硬链接 snap

    查找文件 find 命令 功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件 find [path] -name “.txt” 记得要加 “ ” 支持通配符 ,正则表达式 包括子目录 ls 不包括 子目录 如果省略路径,表示 在当前路径下,搜索 find 按大小查找文件 软链接 软链接 跟windows 系统中的

    2024年02月16日
    浏览(8)
  • linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S 软链接和硬链接

    linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S 软链接和硬链接

    r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。 w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。 x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该

    2024年02月16日
    浏览(13)
  • linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S 软链接和硬链接 shell

    linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S 软链接和硬链接 shell

    r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。 w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。 x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该

    2024年02月16日
    浏览(12)
  • 揭秘Linux软链接:如何轻松创建、删除和修改

    揭秘Linux软链接:如何轻松创建、删除和修改

    在Linux中,软链接(Symbolic Link)是一种特殊的文件类型,它是一个指向另一个文件或目录的指针。软链接允许用户创建一个文件或目录的镜像,在文件系统中提供了对目标文件或目录的引用。用户可以通过软链接引用另一个文件或目录,实现在不同位置共享文件或目录的效果

    2024年02月02日
    浏览(7)
  • FPGA与ASIC有什么差异?二者该如何选用?

    FPGA与ASIC有什么差异?二者该如何选用?

            对于一个数字电路的新手来说,这可能是会经常遇到的一个问题:FPGA和ASIC之间的区别是什么?         接下来本文将尝试讲解 “什么是FPGA?” 和 “什么是ASIC?”, 然后讲述一些关于FPGA和ASIC的问题,例如它们之间的异同。我们将总结二者的优点和缺点,以便您

    2024年02月06日
    浏览(5)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包