返回顶部
首页 > 资讯 > 操作系统 >怎么理解Linux的硬链接与软链接
  • 595
分享到

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

2023-06-16 10:06:13 595人浏览 独家记忆
摘要

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

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

硬链接

硬链接只是分区表中的一个条目,它指向磁盘上的某个区域,表示该区域已经被分配给文件。换句话说,硬链接指向已经被另一个条目索引的数据。让我们看看它是如何工作的。

打开终端,创建一个实验目录并进入:

mkdir test_dircd test_dir

使用 touch 创建一个文件:

touch test.txt

为了获得更多的体验(?),在文本编辑器中打开 test.txt 并添加一些单词。

现在通过执行以下命令来建立硬链接:

ln test.txt hardlink_test.txt

运行 ls,你会看到你的目录现在包含两个文件,或者看起来如此。正如你之前读到的那样,你真正看到的是完全相同的文件的两个名称: hardlink_test.txt 包含相同的内容,没有填充磁盘中的任何更多空间(可以尝试使用大文件来测试),并与 test.txt 使用相同的 inode

$ ls -li *test*16515846 -rw-r--r-- 2 paul paul 14 oct 12 09:50 hardlink_test.txt16515846 -rw-r--r-- 2 paul paul 14 oct 12 09:50 test.txt

ls-i 选项显示一个文件的 “inode 数值”。“inode” 是分区表中的信息块,它包含磁盘上文件或目录的位置、上次修改的时间以及其它数据。如果两个文件使用相同的 inode,那么无论它们在目录树中的位置如何,它们在实际上都是相同的文件。

软链接

软链接,也称为符号链接symlink,它与硬链接是不同的:软链接实际上是一个独立的文件,它有自己的 inode 和它自己在磁盘上的小块地方。但它只包含一小段数据,将操作系统指向另一个文件或目录。

你可以使用 ln-s 选项来创建一个软链接:

ln -s test.txt softlink_test.txt

这将在当前目录中创建软链接 softlink_test.txt,它指向 test.txt

再次执行 ls -li,你可以看到两种链接的不同之处:

$ ls -litotal 816515846 -rw-r--r-- 2 paul paul 14 oct 12 09:50 hardlink_test.txt16515855 lrwxrwxrwx 1 paul paul 8 oct 12 09:50 softlink_test.txt -> test.txt16515846 -rw-r--r-- 2 paul paul 14 oct 12 09:50 test.txt

hardlink_test.txttest.txt 包含一些文本并且字面上占据相同的空间。它们使用相同的 inode 数值。与此同时,softlink_test.txt 占用少得多,并且具有不同的 inode 数值,将其标记为完全不同的文件。使用 ls-l 选项还会显示软链接指向的文件或目录。

为什么要用链接?

它们适用于带有自己环境的应用程序。你的 Linux 发行版通常不会附带你需要应用程序的***版本。以优秀的 Blender 3D 设计软件为例,Blender 允许你创建 3D 静态图像以及动画电影,人人都想在自己的机器上拥有它。问题是,当前版本的 Blender 至少比任何发行版中的自带的高一个版本。

幸运的是,Blender 提供可以开箱即用的下载。除了程序本身之外,这些软件包还包含了 Blender 需要运行的复杂的库和依赖框架。所有这些数据和块都在它们自己的目录层次中。

每次你想运行 Blender,你都可以 cd 到你下载它的文件夹并运行:

./blender

但这很不方便。如果你可以从文件系统的任何地方,比如桌面命令启动器中运行 blender 命令会更好。

这样做的方法是将 blender 可执行文件链接到 bin/ 目录。在许多系统上,你可以通过将其链接到文件系统中的任何位置来使 blender 命令可用,就像这样。

ln -s /path/to/blender_directory/blender /home/<username>/bin

你需要链接的另一个情况是软件需要过时的库。如果你用 ls -l 列出你的 /usr/lib 目录,你会看到许多软链接文件一闪而过。仔细看看,你会看到软链接通常与它们链接到的原始文件具有相似的名称。你可能会看到 libblah 链接到 libblah.so.2,你甚至可能会注意到 libblah.so.2 相应链接到原始文件 libblah.so.2.1.0

这是因为应用程序通常需要安装比已安装版本更老的库。问题是,即使新版本仍然与旧版本(通常是)兼容,如果程序找不到它正在寻找的版本,程序将会出现问题。为了解决这个问题,发行版通常会创建链接,以便挑剔的应用程序相信它找到了旧版本,实际上它只找到了一个链接并最终使用了更新的库版本。

有些是和你自己从源代码编译的程序相关。你自己编译的程序通常最终安装在 /usr/local 下,程序本身最终在 /usr/local/bin 中,它在 /usr/local/bin 目录中查找它需要的库。但假设你的新程序需要 libblah,但 libblah/usr/lib 中,这就是所有其它程序都会寻找到它的地方。你可以通过执行以下操作将其链接到 /usr/local/lib

ln -s /usr/lib/libblah /usr/local/lib

或者如果你愿意,可以 cd/usr/local/lib

cd /usr/local/lib

然后使用链接:

ln -s ../lib/libblah

以上就是关于“怎么理解Linux的硬链接与软链接”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网操作系统频道。

--结束END--

本文标题: 怎么理解Linux的硬链接与软链接

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

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

猜你喜欢
  • 怎么理解Linux的硬链接与软链接
    这篇“怎么理解Linux的硬链接与软链接”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么理解Linux的硬链接与软链接”文...
    99+
    2023-06-16
  • 区分Linux硬链接与软链接
    在Linux中,连接文件有两种,一种类似于Windows的快捷方式,可以让你快速地链接到目标文件(或目录),这种称为软链接(soft link),也叫作符号链接(symbolic link);另一种则是通过文件系统的...
    99+
    2022-06-03
    Linux 硬链接 Linux 软链接
  • Linux硬链接与软链接原理及用法解析
    在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 硬链接概念 硬链接(ha...
    99+
    2022-06-03
    linux 硬链接 软链接
  • linux硬链接和软链接的区别
    本篇内容介绍了“linux硬链接和软链接的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简而言之: 软链接相当于windows中的快捷方...
    99+
    2023-06-13
  • Linux软链接和硬链接的区别是什么
    本篇内容主要讲解“Linux软链接和硬链接的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux软链接和硬链接的区别是什么”吧!导读我们知道文件都有文件名与数据,这在 L...
    99+
    2023-06-05
  • Linux硬链接和软链接的概念是什么
    这篇文章主要介绍“Linux硬链接和软链接的概念是什么”,在日常操作中,相信很多人在Linux硬链接和软链接的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux硬链接和软链接的概念是什么”的疑...
    99+
    2023-06-28
  • Linux硬链接和软链接用来做什么
    本篇内容介绍了“Linux硬链接和软链接用来做什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux链接分两种,一种被称为硬链接(Ha...
    99+
    2023-06-27
  • 如何创建Linux系统中硬链接与软链接
    这篇文章主要介绍“如何创建Linux系统中硬链接与软链接”,在日常操作中,相信很多人在如何创建Linux系统中硬链接与软链接问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何创建Linux系统中硬链接与软链接...
    99+
    2023-06-12
  • linux怎么创建软硬链接
    在Linux系统中,可以使用`ln`命令创建软链接和硬链接。1. 创建软链接:```ln -s 源文件 链接文件```源文件可以是文...
    99+
    2023-10-12
    linux
  • linux硬链接和软链接的示例分析
    这篇文章主要介绍linux硬链接和软链接的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言最近前端包管理器pnpm真的是太火了,大量的文章分析了pnpm的原理。了解之后,发现pnpm整个架构都是基于硬链接和...
    99+
    2023-06-29
  • 【Linux】理解文件系统——软硬链接
    我们之前讨论的都是进程和被打开文件的关系,而如果一个文件是没有被打开呢?没有被打开的文件操作系统如何管理? 没有被打开的文件在磁盘上,所以磁盘上有大量的文件,这些文件要被静态管理起来,方便我们随时打开,而做这部分工作的我们称为文件系统。 ...
    99+
    2023-08-18
    linux 运维 服务器
  • Linux中软链接和硬链接有什么区别
    这篇文章将为大家详细讲解有关Linux中软链接和硬链接有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是软链接符号链接Symbolic Link(symlink),又称软链接So...
    99+
    2023-06-16
  • Linux下软链接和硬链接的示例分析
    这篇文章主要介绍了Linux下软链接和硬链接的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard L...
    99+
    2023-06-16
  • Linux中怎么给目录创建软链接或硬链接
    这篇文章将为大家详细讲解有关Linux中怎么给目录创建软链接或硬链接,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  解决方法:  当我们需要在不同的目录下用到同一个文件时,会用到以下命令。...
    99+
    2023-06-13
  • Linux系统中怎么使用ln命令创建软链接与硬链接
    Linux系统中怎么使用ln命令创建软链接与硬链接,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Linux 系统下每创建一个文件,系统都会为此文件生成一个 index no...
    99+
    2023-06-12
  • Linux系统硬链接怎么理解
    本篇文章为大家展示了Linux系统硬链接怎么理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Linux系统中硬链接是什么呢?1、打开LINUX操作系统,可以使用UBUNTU。2、找到左边任务栏的终...
    99+
    2023-06-28
  • linux中软链接和硬链接有没有区别
    小编给大家分享一下linux中软链接和硬链接有没有区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!linux中软链接和硬链接有区别,区别为:1、软链接以路径的形式存在,硬链接以文件副本的形式存在;2、软链接可以跨文件系统...
    99+
    2023-06-25
  • Linux系统如何辨别软链接和硬链接
    这篇文章主要介绍“Linux系统如何辨别软链接和硬链接”,在日常操作中,相信很多人在Linux系统如何辨别软链接和硬链接问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统如何辨别软链接和硬链接”的疑...
    99+
    2023-06-13
  • Linux系统中软链接和硬链接的区别是什么
    Linux系统中软链接和硬链接的区别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分...
    99+
    2023-06-05
  • Linux下软链接和硬链接的创建、删除、区别详解
    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存里,从而实现对文件的快速访问。 链接是一种在...
    99+
    2022-06-03
    Inode Linux 快捷方式 文件指针 文件系统 文件路径 硬链接 符号链接 软链接
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作