精华内容
下载资源
问答
  • 软链接和硬链接到底有啥作用和区别

    万次阅读 多人点赞 2018-01-22 11:38:32
    关于软硬链接的解释都太模糊,还有什么i节点,跨分区根本弄不明白,在查阅了书籍和询问老师后决定自己写一篇简单的博文,然初学者都能够明白的博文。一 建立软链接和硬链接的语法软链接:ln -s 源文件 目标文件 ...

    前言:在网上搜索了好久,看了很多博客,某度知道等等。关于软硬链接的解释都太模糊,还有什么i节点,跨分区根本弄不明白,在查阅了书籍和询问老师后决定自己写一篇简单的博文,让初学者都能够明白的博文。

    一 建立软链接和硬链接的语法

    软链接:ln -s 源文件 目标文件
    硬链接:ln 源文件 目标文件
    源文件:即你要对谁建立链接

    二 什么是软链接和硬链接

    1,软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。
    2,硬链接等于cp -p 加 同步更新。

    为了方便说明,我在根分区(/)下建立test文件夹,然后新建了一个jys文件
    这里写图片描述
    建立软链接和硬链接:
    这里写图片描述

    区别: 软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系(从jys.soft->jys可以看出),不是源文件的内容,大小不一样容易理解。
    硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。
    这里写图片描述

    但是简单的copy的文件创建文件的时间应该是复制文件时的时间,肯定不会像硬链接那样和创建源文件的时间相同。你想的没错。
    这里写图片描述
    但是只要加一个选项-p,时间就一样了
    这里写图片描述
    这里写图片描述
    那么cp -p的文件是不是就相当于硬链接了呢?其实不然,对于源文件的内容有修改,硬链接文件会同步更新修改,始终保持和源文件的内容相同,而复制的文件则不可能做到这一点。
    这里写图片描述
    所以,硬链接等于cp -p加同步更新。
    软链接像快捷方式,方便我们打开源文件,这一点在windows中深有体会,那硬链接有哪些应用呢?
    在多用户的操作系统里,你写一个脚本,程序等,没有完成,保存后等下次有时间继续写,但是其他用户有可能将你未写完的东西当成垃圾清理掉,这时,你对你的程序,脚本等做一个硬链接,利用硬链接的同步更新,就可以防止别人误删你的源文件了。

    三 删除源文件对软链接和硬链接的影响

    这里写图片描述
    查看软链接文件,查看的文件不存在。和windows一样,删除源文件,快捷方式也用不了。但是删除源文件,为什么硬链接文件还可以查看呢?
    这里要简单说下i节点了。i节点是文件和目录的唯一标识,每个文件和目录必有i节点,不然操作系统就无法识别该文件或目录,就像没有上户口的黑户。linux操作系统是不识别这些字母的,像这些jys ,jys.hard操作系统根本不知道是什么玩意。
    这里写图片描述
    可以看出硬链接文件和源文件i节点号相同,并且一个i节点可以对应多个文件名。
    这里写图片描述
    如图,删除了jys,只是删除了从920586到jys的映射关系,不影响它和jys.hard的映射关系。此图也解释了硬链接的同步更新,对源文件修改,操作系统只认i节点,于是操作系统就将修改内容写进所有i节点相同名字不同的文件。写到这里我突发奇想,如果对硬链接文件进行修改那么源文件会不会同步更新呢?留给读者自己试验吧!

    展开全文
  • 硬链接

    2020-04-11 11:03:53
    硬链接一旦建立,源文件和链接文件的任意一方修改则会同步修改。本质上是同一个文件 命令:ln 参数: -i 交互模式。 -s 软链接(符号链接)。如果不加 “-s” 选项,则建立硬链接文件 -d 允许超级用户制作目录的...

    硬连接

    硬链接一旦建立,源文件和链接文件的任意一方修改则会同步修改。本质上是同一个文件

    命令:ln 
    参数:
    	-i 交互模式。
    	-s 软链接(符号链接)。如果不加 “-s” 选项,则建立硬链接文件
    	-d 允许超级用户制作目录的硬链接。
    	-b 删除,覆盖以前建立的链接
    	-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
    

    实例

    我有个需求,maven的conf/settings.xml~/.m2/settings.xml需要保持一致,我将settings.xml放在~/.m2/下然后给maven不同版本的conf目录下建立硬链接,这样我只需要更改一份settings就能同步到不同版本的maven配置了。实操如下:

    ls
    # logging        settings.xml   toolchains.xml
    ln -f ~/.m2/settings.xml ./settings.xml # 建立链接
    sha1sum settings.xml # 计算源文件哈希值
    # a47e3626db15b2378f195a1e31cbe481f4e940f5  settings.xml
    sha1sum ~/.m2/settings.xml # 计算硬连接文件哈希值
    # a47e3626db15b2378f195a1e31cbe481f4e940f5  /Users/aegon/.m2/settings.xml
    code settings.xml  # vscode编辑
    sha1sum settings.xml
    # 3fd6a6cc7fe544d1520db2c1103c9b0285bd5f73  settings.xml
    sha1sum ~/.m2/settings.xml
    # 3fd6a6cc7fe544d1520db2c1103c9b0285bd5f73  /Users/aegon/.m2/settings.xml
    code ~/.m2/settings.xml
    sha1sum ~/.m2/settings.xml
    # 6a1a9e6523629934e63b8aea22c50bfa07a94d66  /Users/aegon/.m2/settings.xml
    sha1sum settings.xml
    # 6a1a9e6523629934e63b8aea22c50bfa07a94d66  settings.xml
    

    在这里插入图片描述

    展开全文
  • 【linux】“软链接”和“硬链接”的区别

    万次阅读 多人点赞 2017-12-22 16:48:22
    什么是链接? 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件。 它是用来干什么的? 你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X...软链接和硬链接的...

    一句话概括就是:软链接用windows中的概念来理解就相当于一个快捷方式;而硬链接实际上是文件的一个别名,硬链接指向的内容和原文件名所指向的是同一片硬盘空间。

    硬链接的概念可能有点难以理解,啥是别名,用图来表示可能会便于理解一些。下图中,myfile是文件名,文件名相当于一个指针,保存着文件内容"This i a plain text file...."的地址值;别名hard就是文件内容的另一个指针,该指针保存同样的地址值,也就是硬链接。

    soft是软链接,可以理解为是文件名的指针,也就是指针的指针。

    拓展:

    1、当删除文件名myfile时,此时因为还存在文件的别名hard,所以这块存储空间不会被回收

    2、soft指向的文件名被删掉了,此时soft相当于是一个失效的快捷方式;但软链接中还保存着指向的绝对地址和文件名,此时如果向soft中写入内容,就会在原路径重新生成一个myfile的文件名,但这个新myfile指针会指向新开辟的存储“Something”的空间

    第二点看完下面这篇文章可能会理解,转自:https://www.jianshu.com/p/dde6a01c4094

    一、什么是链接?它是用来干什么的?

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

    二、软链接和硬链接的区别是?

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

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

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

    1、硬链接

    1)为了解释清楚,我们首先在自己的一个工作目录下创建一个文件:

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

    现在我们创建了一个普通地不能再普通的文件了。

    2)然后对这个文件进行链接的创建,首先创建一个硬链接,并查看一下当前目录:

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

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

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

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

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

    可以看到,这两个文件果真就是一个文件。

    2、软链接

    1)下面我们看看软链接(也就是符号链接)和它有什么区别。

    $ ln -s myfile soft
    $ ls -li
    25869085 -rw-r--r--  2 unixzii  staff  36  7  8 17:45 hard
    25869085 -rw-r--r--  2 unixzii  staff  36  7  8 17:45 myfile
    25869216 lrwxr-xr-x  1 unixzii  staff   6  7  8 17:47 soft -> myfile
    

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

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

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

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

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

    $ echo "Something" >> soft
    $ ls
    
    hard   myfile soft
    

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

    三、总结

    到这里我们其实可以总结一下了:

    • 硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
    • 软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。

    展开全文
  • 软链接&硬链接

    2019-12-02 19:54:49
    软链接&硬链接 ln -s 文件名 要生成的链接的文件名 软链接 ln 文件名 要生成的链接的...②创建硬链接硬链接数会加一删除源文件或硬链接连接数会减一 ③不能给目录创建硬链接 硬链接数就是文件数据呗文件名使用...

    软链接&硬链接

    ln -s 文件名 要生成的链接的文件名 软链接
    ln 文件名 要生成的链接的文件名 硬链接

    软连接注意点:

    ①如果不在同一目录下不能使用相对路径
    ②删除源文件则链接失效
    ③可以给目录创建软链接

    硬链接注意点:

    ①删除源文件硬链接还可以访问到数据
    ②创建硬链接硬链接数会加一删除源文件或硬链接连接数会减一
    ③不能给目录创建硬链接
    硬链接数就是文件数据呗文件名使用的次数 好比引用数量

    硬链接小结:

    ①硬链接的作用是可以给重要文件创建硬链接 能够防止文件数据被误删
    ②删除源文件 软链接失效 但是硬链接依旧可以使用
    ③创建硬链接命令格式:ln 源文件路径 硬链接

    展开全文
  • 硬链接与软链接

    千次阅读 2018-10-12 21:51:45
    2.硬链接不管有多少个只会指向同一个索引节点,软链接不直接使用索引节点号作为文件指针,而是使用文件路径名作为指针。 3.软链接可以对一个不存在的文件名进行链接 4.软链接可以对目录进行链接 ...
  • 硬链接和符号链接详解

    千次阅读 多人点赞 2018-08-10 08:38:53
    建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。 在硬链接的情况下,参数中的“目标”被链接至[链接名]...
  • ln - 软链接与硬链接区别

    万次阅读 多人点赞 2019-06-04 17:28:24
    在介绍硬链接和软链接之前,首先接受下硬盘相关的知识,主要是了解下 inode 。 硬盘 硬盘设备是由大量的扇区组成的。以 MBR 分区为例。每个扇区的容量为 512 字节。其中第一个扇区最重要。它里面保存着主引导记录与...
  • HDFS符号链接和硬链接

    千次阅读 2016-10-15 15:31:07
    前言初看这个标题,可能很多人会心生疑问:符号链接和硬链接是什么意思?这些概念不是在Linux操作系统下才有的嘛,HDFS目前也有?当然大家可能还会有其他疑问,没关系,在后面的内容讲述中答案会一一揭晓。归纳起来...
  • 硬链接和符号链接

    千次阅读 2018-04-13 09:41:15
    硬链接(Hard Link)】 硬链接指通过索引节点来进行连接,在Linux为文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号; 硬链接指的就是在Linux中,多个文件名指向同一索引...
  • 什么是软链接、硬链接

    万次阅读 多人点赞 2020-11-27 13:28:58
    什么是软链接、硬链接 一.软链接 ①软链接的概念: 类同与windos的快捷方式,给文件创建一个快速的访问路径,它依赖于原文件,与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块。当原文件出现问题后,该...
  • Linux建立软链接、硬链接

    万次阅读 多人点赞 2019-03-17 18:56:12
    软链接 说明:软链接仅仅包含所链接...2.软链接可以跨文件系统 ,硬链接不可以 3.软链接可以对一个不存在的文件名进行链接 4.软链接可以对目录进行链接 建立软链接:ln -s 源文件或目录 目标文件或目录 示例: ln -...
  • Linux 中软链接和硬链接的使用

    千次阅读 2020-10-22 18:01:58
    Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。 硬链接和软链接 硬链接 — ln 要链接的文件 新硬链接名 软连接 — ln -s 要链接的文件 新软链接名 # 硬链接 删除 f1...
  • 20-硬链接与软链接

    千次阅读 2016-12-01 23:05:53
    首先,我们要理解的一个概念是:什么是链接?链接是一个传送门。当你使用 vim 打开一个链接的时候,看到的...既然如此,为什么还区分硬链接和软链接?它们的区别在哪里?1 回忆 dir_entry如果你不知道什么是 dir_entr
  • 硬链接

    2019-03-31 21:45:15
    硬链接详解 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接,即符号链接(Symbolic Link)。 默认情况下,ln命令产生硬链接。 硬连接:硬连接指通过索引节点号来进行连接。inode是可以对应...
  • linux 硬链接和符号链接

    千次阅读 2018-07-25 15:44:42
    硬链接:  硬链接和符号链接比起来,硬链接是最初 Unix 创建链接的方式,而符号链接更加现代。在默认情况下,每个文件都有一个硬链接,这个硬链接给文件起名字。当我们创建一个硬链接以后,就为文件创建了一个额外的...
  • Linux软链接与硬链接

    2018-04-17 18:05:01
    Hard Link (实体连接,硬式连接或实际连接) Symbolic Link (符号链接,类似Windows...硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在一下几个特性: * 文件有相同的 i 节点及数据块; * 只能对已存...
  • 在linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称...
  •   最近有同事来问鄙人,通过ln命令创建的文件的软链接和硬链接到底有啥区别,使用起来功能上貌似是一样的,感觉都像是文件的一个别名而已,而且软链接用的居多。网络上流传的资料,大多都是胡扯级别的:软链文件与...
  • Linux硬链接和软链接(符号链接)

    千次阅读 2016-01-21 19:42:18
    硬链接(Hard Link)】硬链接指通过索引节点来进行连接,在Linux为文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号; 硬链接指的就是在Linux中,多个文件名指向同一索引...
  • 硬链接和软链接

    2013-12-24 22:04:03
    Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 【硬连接】 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘...
  • ln软硬链接

    2016-11-23 16:21:13
    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个...
  • 硬链接:创建一个硬链接,增加引用计数(并没有真正创建文件,只是一个别名, 除了名字不一样,其他都一样时间日期等,硬链接的更改会更改源文件,源文件的更改会硬链接) 删除文件,引用计...
  • Linux 硬链接和软链接

    2013-12-05 10:27:42
    Linux硬链接(Hard Link)和软链接(Symbolic Link) 硬链接(Hard Link) 硬链接是通过链接源文件的索引节点来进行有效链接。Linux系统中的每个文件都有一个自己的索引节点,如同数据库中的每条记录都有自己的唯一索引...
  • Linux中的软链接和硬链接

    千次阅读 多人点赞 2019-03-22 19:37:10
    在linux系统中,硬链接(hard link)和软链接(symbolic link)是两个非常重要的概念,而很多朋友在学习的时候,通常不容易区分这两个概念,所以在这里做一些记录,大家共同进步。 在正式开始说明前,先讲一些不算...
  • Linux文件的软链接和硬链接

    千次阅读 2015-07-27 13:29:11
    Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。1.1索引节点索引节点是指在许多类Unix文件系统中的一种数据结构。每个索引...
  • 什么是软链接?什么是硬链接

    千次阅读 2019-08-08 23:02:14
    我们都知道windows下选中文件右键可以...而linux下的软连接也是如此,但是用快捷方式描述这种软链接不合适的,因为在linux下和软连接相对的有硬链接。 什么是硬链接? 在linux利用ll命令看到结果。其中文件的权限-rw...
  • 浅谈硬链接和软链接

    千次阅读 2017-07-22 17:20:09
    硬链接和软链接是Linux系统中十分重要的概念。在我们了解硬链接和软链接之前,我们还要先了解一下inode这个概念。inode(即索引节点号)是Linux系统识别文件的唯一标识。我们都知道Linux系统中文件数据分为两类:...
  • Linux中的硬链接与软链接?

    千次阅读 2018-07-17 17:22:48
    硬链接:在一个文件里面,对于目录来说,记录着文件的名字和inode号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号,是文件的唯一标识),我们也可以在多个目录里记录相同的inode号,它们的...
  • 【Linux】硬链接与软链接

    千次阅读 2021-03-18 23:01:46
    在区分硬链接与软链接之前,我们先要了解inode的相关概念。在文件系统中包含inode区和data区,其中inode区又包括inode表、inode位图、block位图。 inode全称为index node,也就是索引节点,用于存放文件的元数据信息...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,848
精华内容 54,339
关键字:

硬链接