返回顶部
首页 > 资讯 > 操作系统 >Linux中软连接和硬链接是什么意思
  • 621
分享到

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

2023-06-16 07:06:05 621人浏览 独家记忆
摘要

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

这篇文章主要为大家展示了“linux中软连接和硬链接是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中软连接和硬链接是什么意思”这篇文章吧。

 简介

我们现代的操作系统需要防止程序崩溃导致信息丢失,需要将信息存储在文件之中。而且文件能够被多个进程同时读取。在Linux中所以的资源,外设都抽象成了文件,所以就有了Linux中“一切皆文件”的特性。当然有文件,肯定是不够的,总不能把所有的文件放在一起管理,实在是太乱,不易管理维护。Linux就引入了目录的概念,在windows中可以称之为文件夹。目录的引入就会让Linux的根文件系统外观上变成了一个层次分明的目录树。如下图:

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

目录是什么?

在Linux中“一切皆文件”,所以这个问题很好回答:目录也是文件。目录中记录的是目录下文件名。那既然是文件,如果在创建目录的时候,与当前目录下的文件或目录重名,就肯定会创建失败。

好了,既然搞清楚了目录的概念,我们接着往下看。

硬链接和软连接区别?

在Linux中表示一个文件的方式是通过两个部分来分别表示的:用户数据(user data)与元数据(meta  data)。什么是用户数据呢?用户数据就是记录真实文件内容的数据,这些数据是存放在一个个大小相等的文件数据块中(data block)。

元数据呢?其实就是这个文件的附加信息属性,例如:创建时间,文件大小等等这类信息。我们用索引号(inode)来表示每一个不同文件的元数据(当然inode也是元数据的一部分)。在Linux中,inode才是表示文件的***标识,而不是文件名。下图展示了怎样通过文件名来找到文件内容的。注意:元数据中并不包含文件名。文件名只是为了方便用户识别和记忆罢了。

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

使用什么命令可以查看inode号?

可以使用stat和ls -i 命令查看,如下图所示:

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

什么是硬链接?

硬链接是指通过索引节点来进行连接。也就是存在多个文件名指向同一个inode。这样就可以将重要的文件建立硬链接,来防止“误删”的操作。

命令:

link oldfile newfile

可以创建硬链接。硬链接的inode是相同的,但是文件名不同,所以它有一些特性:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 文件有相同的inode和data blocks;

  3. 不能对不存在的文件创建硬链接

  4. 不能跨文件系统创建(因为在各自文件系统下inode是***的,当跨文件系统就会出现inode重复的情况发生)

  5. 不能对目录创建,只能对文件进行创建

  6. 如果删除了一个硬链接文件,并不会影响其他的同inode文件(inode中存在链接计数器,删除一个硬链接相当于计数器减一,反之加一。直到为0,删除inode)

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

例如:

# ls -li  total 0    // 只能对已存在的文件创建硬连接 # link test.file test_hard.link  link: cannot create link `test_hard.link' to `test.file': No such file or directory    # echo "This is an original file" > test.file  # cat test.file  This is an original file  # stat test.file   File: `test.file'  Size: 25           Blocks: 8          io Block: 4096   regular file  Device: 807h/2055d      Inode: 660650      Links: 2  Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)  ...  // 文件有相同的 inode 号以及 data block  # link test.file test_hard.link | ls -li  total 8  660650 -rw-r--r-- 2 root root 25 Sep  1 17:44 test_hard.link  660650 -rw-r--r-- 2 root root 25 Sep  1 17:44 test.file    // 不能交叉文件系统 # ln /dev/input/event5 /root/bfile.txt  ln: failed to create test_hard link `/root/bfile.txt' => `/dev/input/event5':  Invalid cross-device link    // 不能对目录进行创建硬连接 # mkdir -p test.dir/test  # ln test.dir/ test_hardlink.dir  ln: `test.dir/': test_hard link not allowed for directory  # ls -iF  660650 test_hard.link  657948 test.dir/  660650 test.file

具体的解释可以参考硬链接的5点特性。

什么是软链接?

软连接就和硬链接完全不同,软连接是用户数据(data  blocks)中记录的是另一个文件的路径名的指向。可以理解为软连接其实就是一个普通的文件,只是他的内容非常的特殊。所以软连接有他自己的inode号以及data  blocks。那我总结下软连接的特性:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 软连接有自己的文件属性

  3. 可以对不存在的文件创建

  4. 软链接可以跨文件系统

  5. 软链接可以对目录创建

  6. 软链接创建不会造成链接计数器增加,因为就不是同一个inode

  7. 若链接的文件被删除了,该链接就是没有意义了,但是也可以重新创建。

下图展示下软链接的访问过程:

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

例如:

# ls -li   total 0     // 可对不存在的文件创建软链接  # ln -s test.file test_soft.link   # ls -liF   total 0   789467 lrwxrwxrwx 1 root root 8 Sep  1 18:00 test_soft.link -> test.file     // 由于被指向的文件不存在,此时的软链接 test_soft.link 就是死链接  # cat test_soft.link   cat: test_soft.link: No such file or directory     // 创建被指向的文件 test.file,test_soft.link 恢复成正常的软链接  # echo "This is an original file_A" >> test.file   # cat test_soft.link   This is an original file_A     // 对不存在的目录创建软链接  # ln -s test.dir test_soft.link.dir   # mkdir -p test.dir/test   # tree . -F --inodes   .  ├── [ 789497]  test.dir/  │   └── [ 789498]  test/  ├── [ 789495]  test.file  ├── [ 789495]  test_soft.link -> test.file  └── [ 789497]  test_soft.link.dir -> test.dir/

以上是“Linux中软连接和硬链接是什么意思”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux中软连接和硬链接是什么意思

本文链接: https://lsjlt.com/news/282778.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux中软连接和硬链接是什么意思
    这篇文章主要为大家展示了“Linux中软连接和硬链接是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中软连接和硬链接是什么意思”这篇文章吧。 简介我们现代的操作系统需...
    99+
    2023-06-16
  • linux的软连接和硬链接的作用是什么
    软链接和硬链接都是用于创建文件或目录的引用。它们的作用是:1. 软链接(Symbolic Link):也被称为符号链接或symlin...
    99+
    2023-10-12
    linux
  • Linux软链接和硬链接的区别是什么
    本篇内容主要讲解“Linux软链接和硬链接的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux软链接和硬链接的区别是什么”吧!导读我们知道文件都有文件名与数据,这在 L...
    99+
    2023-06-05
  • Linux硬链接和软链接的概念是什么
    这篇文章主要介绍“Linux硬链接和软链接的概念是什么”,在日常操作中,相信很多人在Linux硬链接和软链接的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux硬链接和软链接的概念是什么”的疑...
    99+
    2023-06-28
  • linux的软连接和硬链接有什么区别
    Linux中的软连接(Symbolic Link)和硬链接(Hard Link)是两种不同类型的链接方式,它们有以下区别:1. 文件...
    99+
    2023-10-12
    linux
  • Linux中软链接和硬链接有什么区别
    这篇文章将为大家详细讲解有关Linux中软链接和硬链接有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是软链接符号链接Symbolic Link(symlink),又称软链接So...
    99+
    2023-06-16
  • linux系统中软连接和硬链接有什么区别
    这篇文章主要介绍了linux系统中软连接和硬链接有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我自己做的图片大家参考下:软连接硬链接的区别:硬连接指通过索引节点来进...
    99+
    2023-06-13
  • Linux系统中软链接和硬链接的区别是什么
    Linux系统中软链接和硬链接的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分...
    99+
    2023-06-05
  • Linux硬链接和软链接用来做什么
    本篇内容介绍了“Linux硬链接和软链接用来做什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux链接分两种,一种被称为硬链接(Ha...
    99+
    2023-06-27
  • linux硬链接和软链接的区别
    本篇内容介绍了“linux硬链接和软链接的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简而言之: 软链接相当于windows中的快捷方...
    99+
    2023-06-13
  • linux中软链接和硬链接有没有区别
    小编给大家分享一下linux中软链接和硬链接有没有区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!linux中软链接和硬链接有区别,区别为:1、软链接以路径的形式存在,硬链接以文件副本的形式存在;2、软链接可以跨文件系统...
    99+
    2023-06-25
  • linux中的软连接和硬连接详解
    目录1、文件和目录的基本存储2、In命令介绍(1)我们来看看ln命令的基本信息命令名称:(2)ln命令的基本格式3、创建硬链接(1)如何创建硬链接(2)硬链接特征(3)硬连接原理4、创建软链接(1)如何创建软链接(2)软...
    99+
    2022-06-04
    linux软连接介绍 linux硬连接介绍
  • linux中的软连接和硬连接怎么理解
    本篇内容主要讲解“linux中的软连接和硬连接怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中的软连接和硬连接怎么理解”吧!提示:先来说明一下在Linux系统中文件和目录的基本...
    99+
    2023-06-22
  • linux硬链接和软链接的示例分析
    这篇文章主要介绍linux硬链接和软链接的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言最近前端包管理器pnpm真的是太火了,大量的文章分析了pnpm的原理。了解之后,发现pnpm整个架构都是基于硬链接和...
    99+
    2023-06-29
  • Linux下软链接和硬链接的示例分析
    这篇文章主要介绍了Linux下软链接和硬链接的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard L...
    99+
    2023-06-16
  • Linux系统如何辨别软链接和硬链接
    这篇文章主要介绍“Linux系统如何辨别软链接和硬链接”,在日常操作中,相信很多人在Linux系统如何辨别软链接和硬链接问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统如何辨别软链接和硬链接”的疑...
    99+
    2023-06-13
  • 怎么理解Linux的硬链接与软链接
    这篇“怎么理解Linux的硬链接与软链接”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么理解Linux的硬链接与软链接”文...
    99+
    2023-06-16
  • Linux下的链接文件是什么意思
    这篇文章将为大家详细讲解有关Linux下的链接文件是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。链接文件是Linux文件系统的一个优势。如需要在系统上维护同一文件的两份或者多份副本,除了保存多份...
    99+
    2023-06-27
  • linux怎么创建软硬链接
    在Linux系统中,可以使用`ln`命令创建软链接和硬链接。1. 创建软链接:```ln -s 源文件 链接文件```源文件可以是文...
    99+
    2023-10-12
    linux
  • Linux中怎么给目录创建软链接或硬链接
    这篇文章将为大家详细讲解有关Linux中怎么给目录创建软链接或硬链接,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  解决方法:  当我们需要在不同的目录下用到同一个文件时,会用到以下命令。...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作