我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux硬链接和软链接用来做什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux硬链接和软链接用来做什么

本篇内容介绍了“Linux硬链接和软链接用来做什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

Linux硬链接和软链接用来做什么

什么是链接?

链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件。

它是用来干什么的?

你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上,我们通常会使用到软链接(也称符号链接)。

内容

软链接和硬链接的区别是? 下面我们进入正题,来探讨一下软硬两种链接到底有什么区别?

首先,从使用的角度讲,两者没有任何区别,都与正常的文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行。

那区别在哪呢?在底层的原理上。

为了解释清楚,我们首先在自己的一个工作目录下创建一个文件,然后对这个文件进行链接的创建:

$ touch myfile && echo "This is a plain text file." > myfile$ cat myfileThis is a plain text file.

现在我们创建了一个普通地不能再普通的文件了。然后我们对它创建一个硬链接,并查看一下当前目录:

$ ln myfile hard$ ls -li25869085 -rw-r--r-- 2 unixzii staff 27 7 8 17:39 hard25869085 -rw-r--r-- 2 unixzii staff 27 7 8 17:39 myfile

在 ls 结果的最左边一列,是文件的 inode 值,你可以简单把它想成 C 语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。

你也看到了,这两个文件就如同一个文件一样,inode 值相同,都指向同一个区块。

然后我们修改一下刚才创建的 hard 链接文件:

$ echo "New line" >> hard$ cat myfileThis is a plain text file.New line

可以看到,这两个文件果真就是一个文件。 下面我们看看软链接(也就是符号链接)和它有什么区别。

$ ln -s myfile soft$ ls -li25869085 -rw-r--r-- 2 unixzii staff 36 7 8 17:45 hard25869085 -rw-r--r-- 2 unixzii staff 36 7 8 17:45 myfile25869216 lrwxr-xr-x 1 unixzii staff 6 7 8 17:47 soft -> myfile

诶,你会发现,这个软链接的 inode 竟然不一样啊,并且它的文件属性上也有一个 l 的 flag,这就说明它与之前我们创建的两个文件根本不是一个类型。

下面我们试着删除 myfile 文件,然后分别输出软硬链接的文件内容:

$ rm myfile$ cat hardThis is a plain text file.New line$ cat softcat: soft: No such file or directory

之前的硬链接没有丝毫地影响,因为它 inode 所指向的区块由于有一个硬链接在指向它,所以这个区块仍然有效,并且可以访问到。 然而软链接的 inode 所指向的内容实际上是保存了一个绝对路径,当用户访问这个文件时,系统会自动将其替换成其所指的文件路径,然而这个文件已经被删除了,所以自然就会显示无法找到该文件了。

为验证这一猜想,我们再向这个软链接写点东西:

$ echo "Something" >> soft$ lshard myfile soft

可以看到,刚才删除的 myfile 文件竟然又出现了!这就说明,当我们写入访问软链接时,系统自动将其路径替换为其所代表的绝对路径,并直接访问那个路径了。

“Linux硬链接和软链接用来做什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux硬链接和软链接用来做什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux硬链接和软链接用来做什么

本篇内容介绍了“Linux硬链接和软链接用来做什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux链接分两种,一种被称为硬链接(Ha
2023-06-27

Linux软链接和硬链接的区别是什么

本篇内容主要讲解“Linux软链接和硬链接的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux软链接和硬链接的区别是什么”吧!导读我们知道文件都有文件名与数据,这在 Linux
2023-06-05

Linux硬链接和软链接的概念是什么

这篇文章主要介绍“Linux硬链接和软链接的概念是什么”,在日常操作中,相信很多人在Linux硬链接和软链接的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux硬链接和软链接的概念是什么”的疑
2023-06-28

Linux中软链接和硬链接有什么区别

这篇文章将为大家详细讲解有关Linux中软链接和硬链接有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是软链接符号链接Symbolic Link(symlink),又称软链接So
2023-06-16

linux硬链接和软链接的区别

本篇内容介绍了“linux硬链接和软链接的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简而言之: 软链接相当于windows中的快捷方
2023-06-13

区分Linux硬链接与软链接

在Linux中,连接文件有两种,一种类似于Windows的快捷方式,可以让你快速地链接到目标文件(或目录),这种称为软链接(soft link),也叫作符号链接(symbolic link);另一种则是通过文件系统的 inode 连接来产生
2022-06-03

Linux系统中软链接和硬链接的区别是什么

Linux系统中软链接和硬链接的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (use
2023-06-05

linux硬链接和软链接的示例分析

这篇文章主要介绍linux硬链接和软链接的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言最近前端包管理器pnpm真的是太火了,大量的文章分析了pnpm的原理。了解之后,发现pnpm整个架构都是基于硬链接和
2023-06-29

Linux系统如何辨别软链接和硬链接

这篇文章主要介绍“Linux系统如何辨别软链接和硬链接”,在日常操作中,相信很多人在Linux系统如何辨别软链接和硬链接问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统如何辨别软链接和硬链接”的疑
2023-06-13

Linux下软链接和硬链接的示例分析

这篇文章主要介绍了Linux下软链接和硬链接的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard L
2023-06-16

linux的软连接和硬链接的作用是什么

软链接和硬链接都是用于创建文件或目录的引用。它们的作用是:1. 软链接(Symbolic Link):也被称为符号链接或symlink,是一个特殊类型的文件,它指向另一个文件或目录。软链接类似于Windows系统中的快捷方式。软链接可以跨越
2023-10-12

linux中软链接和硬链接有没有区别

小编给大家分享一下linux中软链接和硬链接有没有区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!linux中软链接和硬链接有区别,区别为:1、软链接以路径的形式存在,硬链接以文件副本的形式存在;2、软链接可以跨文件系统
2023-06-25

怎么理解Linux的硬链接与软链接

这篇“怎么理解Linux的硬链接与软链接”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么理解Linux的硬链接与软链接”文
2023-06-16

linux的软连接和硬链接有什么区别

Linux中的软连接(Symbolic Link)和硬链接(Hard Link)是两种不同类型的链接方式,它们有以下区别:1. 文件位置:软连接是指向文件的路径的一种特殊文件,它保存了被链接文件的路径信息;而硬链接是指向文件i节点的链接,它
2023-10-12

Linux中软连接和硬链接是什么意思

这篇文章主要为大家展示了“Linux中软连接和硬链接是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中软连接和硬链接是什么意思”这篇文章吧。 简介我们现代的操作系统需要防止程序
2023-06-16

Linux硬链接与软链接原理及用法解析

在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 硬链接概念硬链接(hard link, 也称链接)
2022-06-03

linux系统中软连接和硬链接有什么区别

这篇文章主要介绍了linux系统中软连接和硬链接有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我自己做的图片大家参考下:软连接硬链接的区别:硬连接指通过索引节点来进
2023-06-13

linux怎么创建软硬链接

在Linux系统中,可以使用`ln`命令创建软链接和硬链接。1. 创建软链接:```ln -s 源文件 链接文件```源文件可以是文件或目录,链接文件是一个指向源文件的符号链接。例如,要创建一个指向`/usr/local/bin/mypro
2023-10-12

Linux中怎么给目录创建软链接或硬链接

这篇文章将为大家详细讲解有关Linux中怎么给目录创建软链接或硬链接,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  解决方法:  当我们需要在不同的目录下用到同一个文件时,会用到以下命令。
2023-06-13

Linux下软链接和硬链接的创建、删除、区别详解

在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存里,从而实现对文件的快速访问。 链接是一种在共享文件和访问它的用户的
2022-06-03

编程热搜

目录