Unix/Linux 中的软链接和硬链接

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

UNIX 中的链接是指向文件的指针。与任何编程语言中的指针一样,UNIX 中的链接是指向文件或目录的指针。创建链接是一种访问文件的快捷方式。链接允许多个文件名在别处引用同一个文件。

有两种类型的链接:

  1. 软链接或符号链接
  2. 硬链接

当链接的源(链接到的内容)被移动或删除时,这些链接的行为会有所不同。符号链接不更新(它们仅包含一个字符串,该字符串是其目标的路径名);硬链接始终引用源,即使移动或删除。

例如,如果我们有一个文件 a.txt。如果我们创建一个文件的硬链接然后删除文件,我们仍然可以使用硬链接访问该文件。但是如果我们创建一个文件的软链接,然后删除文件,就不能通过软链接访问到文件,软链接就变成了悬空。基本上硬链接增加了一个位置的引用计数,而软链接用作快捷方式(如在 Windows 中)

1. 硬链接

  • 每个硬链接文件都被分配了与原始文件相同的 Inode 值,因此它们引用相同的物理文件位置。硬链接更灵活,即使原始文件或链接文件在整个文件系统中移动,也能保持链接,尽管硬链接无法跨越不同的文件系统。
  • ls -l 命令显示所有链接,链接列显示链接数。
  • 链接具有实际文件内容
  • 删除任何链接,只会减少链接数,但不会影响其他链接。
  • 即使我们更改原始文件的文件名,硬链接也能正常工作。
  • 我们不能为目录创建硬链接以避免递归循环。
  • 如果删除了原始文件,则链接仍会显示文件的内容。
  • 任何硬链接文件的大小都与原始文件相同,如果我们更改任何硬链接中的内容,则所有硬链接文件的大小都会更新。
  • 硬链接的缺点是不能为不同文件系统的文件创建,也不能为特殊的文件或目录创建。
  • 创建硬链接的命令是:
$ ln [原始文件名] [链接名]

2. 软链接

  • 软链接类似于 Windows 操作系统中使用的文件快捷方式功能。每个软链接文件都包含一个指向原始文件的独立索引节点值。与硬链接类似,对任一文件中数据的任何更改都会反映在另一个文件中。软链接可以跨不同的文件系统链接,但是如果删除或移动了原始文件,软链接文件将无法正常工作(称为挂起链接)。
  • ls -l 命令显示第一列值为 l 的所有链接?链接指向原始文件。
  • 软链接包含原始文件的路径而不是内容。
  • 删除软链接除了删除原始文件外没有任何影响,链接变成“悬挂”链接,指向不存在的文件。
  • 软链接可以链接到目录。
  • 软链接的大小等于我们给的原文件的路径长度。例如,如果我们像 ln -s /tmp/hello.txt /tmp/link.txt这样链接一个文件,那么文件的大小将是 14 字节,等于“/tmp/hello.txt”的长度。
  • 如果我们更改原始文件的名称,那么该文件的所有软链接都会变得悬空,即它们现在毫无价值。
  • 跨文件系统链接:如果要跨文件系统链接文件,只能使用符号链接/软链接。
  • 创建软链接的命令是:
$ ln -s [原始文件名] [链接名]

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-440609.html

到了这里,关于Unix/Linux 中的软链接和硬链接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • linux创建文件软连接和硬链接详解

    linux系统中链接文件仔细区分可以分为 软连接(符号链接) 和 硬链接 。软链接比硬链接应用更广泛,所以也可以认为linux链接文件就是指软链接文件。 本文将会在第2部分介绍 创建软链接和硬链接的基本命令 ,在第3部分从linux文件系统的角度出发,深入分析 软连接和硬链接

    2024年02月10日
    浏览(26)
  • Linux的软链接具体如何使用?具体步骤是怎样的?

    使用Linux的软链接非常简单,以下是具体步骤: 打开终端或命令行界面。 导航到你希望创建软链接的目录。你可以使用 cd 命令来切换目录。 运行以下命令创建软链接: 将 目标文件或目录 替换为你想要链接到的文件或目录的路径,将 链接文件名 替换为你希望创建的软链接

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

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

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

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

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

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

    2024年02月16日
    浏览(42)
  • 操作系统—软链接和硬链接的介绍、实现、区别

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

    2024年02月16日
    浏览(30)
  • 如何创建和查看软链接和硬链接?这二者的区别是什么?

    hello大家好😊 在linux中,文件链接可以使多个文件名引用同一个文件。有两种方式可以创建指向同一个文件的多个名称,分别是 硬链接和软链接(符号链接) 在介绍软链接和硬链接前,我们先看下什么是 inode 。👇 索引节点是 Linux 文件系统中的秘密工作者,它们存储文件或

    2024年02月12日
    浏览(34)
  • 操作系统-区分文件共享的两种方式:软链接和硬链接

    软链接与硬链接是用来干什么的呢? 为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。 由于linux下的

    2023年04月12日
    浏览(31)
  • 符号链接和硬链接有什么区别?windows的快捷方式属于哪一种链接方式?

    符号链接和硬链接是两种不同的链接方式,它们有以下区别: 文件系统支持:符号链接是由文件系统直接支持的,而硬链接是由文件系统内部的inode支持的。 跨文件系统:符号链接可以跨越不同的文件系统,可以链接到其他磁盘分区或网络共享。而硬链接只能在同一个文件系

    2024年02月15日
    浏览(28)
  • 408操作系统-区分文件共享的两种方式:软链接和硬链接

    软链接与硬链接是用来干什么的呢? 为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。 由于linux下的

    2023年04月17日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包