首页 > 试题广场 >

Linux中包括两种链接:硬链接(Hard Link)和软连

[单选题]
Linux中包括两种链接:硬链接(Hard Link)和软连接(Soft Link),下列说法正确的是()
  • 软连接可以跨文件系统进行连接,硬链接不可以
  • 当删除原文件的时候软连接文件仍然存在,且指向的内容不变
  • 硬链接被删除,磁盘上的数据文件会同时被删除
  • 硬链接会重新建立一个inode,软链接不会
1>首先什么是链接?
     链接操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的 访问权限 ,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
2>硬链接
     硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
3>软链接(符号链接)
      软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)。
4> 硬链接与软链接的区别;

硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。

硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。

软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接。

发表于 2016-08-10 17:08:10 回复(7)

( 1 )软连接可以跨文件系统,硬连接不可以

( 2 )硬连接不管有多少个,都指向的是同一个 I 节点,会把结点连接数增加,只要结点的连接数不是 0 ,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。 当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用 i 节点号作为文件指针 , 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的 i 节点 , 并在磁盘上有一小片空间存放路径名。

( 3 )软连接可以对一个不存在的文件名进行连接 。

( 4 )软连接可以对目录进行连接。

发表于 2016-04-13 13:30:58 回复(0)
选项B 错在节点的连接数会改变
发表于 2016-04-16 21:36:34 回复(3)

软链接

  • 相当于 windows 快捷方式
  • 通过文件位置查找文件
  • 可以跨文件系统
  • 源文件删除后,软链接失效
  • 可以对目录或不存在的文件创建软链接

硬链接

  • 相当于 cp -p 再加上同步更新
  • 通过 inode 查找文件
  • 不可以跨文件系统
  • 源文件删除后,硬链接不受影响(因为inode count减一之后依旧>=1)
  • 不可以对目录或不存在的文件进行链接
发表于 2018-04-25 20:07:58 回复(0)

( 1 )软连接可以跨文件系统,硬连接不可以

( 2 )硬连接不管有多少个,都指向的是同一个 I 节点,会把结点连接数增加,只要结点的连接数不是 0 ,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。 当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用 i 节点号作为文件指针 , 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的 i 节点 , 并在磁盘上有一小片空间存放路径名。

( 3 )软连接可以对一个不存在的文件名进行连接 。

( 4 )软连接可以对目录进行连接。

发表于 2022-05-26 09:45:09 回复(0)
1>首先什么是链接?
     链接操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的 访问权限 ,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
2>硬链接
     硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
3>软链接(符号链接)
      软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)。
4> 硬链接与软链接的区别;

硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。

硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。

软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接。

发表于 2022-02-14 08:37:05 回复(0)
每个文件都会占用一个inode,文件内容由inode的记录所指向。想要读取该文件,必须经过目录记录的文件名来指向正确的inode号码才能读取。文件名只与目录有关,但是文件内容只与inode有关。
硬链接只是在某个目录下新建一条文件名链接到某个inode号码的关联记录而已。和增加了引用计数,删除时也只是减小引用计数,只有为零时才彻底删除。同时,磁盘空间和inode的数目并不改变。限制:不能跨文件系统,不能链接目录。
符号链接会创建一个独立的文件,让数据读取会指向向它链接的那个文件的文件名,独立的文件有独立的inode。删除原始文件,则链接就没有意义了,会打不开。
发表于 2017-12-08 22:26:17 回复(0)
硬链接 :就是对源文件所指的inode,建立另外一个指针
软链接:类似windows文件的快捷方式
发表于 2017-01-08 17:43:02 回复(0)

1 )软连接可以跨文件系统,硬连接不可以

2 )硬连接不管有多少个,都指向的是同一个 I 节点,会把结点连接数增加,只要结点的连接数不是 0 ,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。 当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用 i 节点号作为文件指针 , 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的 i 节点 , 并在磁盘上有一小片空间存放路径名。

3 )软连接可以对一个不存在的文件名进行连接

4 )软连接可以对目录进行连接。

发表于 2016-04-10 21:12:20 回复(0)
A. 软连接(Symbolic Link)可以跨越文件系统进行连接,而硬链接(Hard Link)不可以。硬链接只能在同一个文件系统内部进行连接,因为它们通过inode来引用文件,而不是通过路径。

B. 当删除原文件的时候软连接文件仍然存在,且指向的内容不变:这个说法是正确的。软连接文件本质上只是一个指向原文件的符号链接,并不是实际的文件。当删除原文件时,软连接文件仍然存在,但指向的内容不再有效,也就是指向一个不存在的路径。

C. 硬链接被删除,磁盘上的数据文件会同时被删除:这个说法不正确。硬链接和原文件是同一个文件的不同名称,它们共享相同的磁盘空间,删除其中一个硬链接并不会影响其他硬链接或原文件的存在。

D. 硬链接会重新建立一个inode,软链接不会:这个说法不正确。软链接和硬链接都会创建一个新的inode(索引节点),只不过它们的方式和作用不同。硬链接会创建一个新的目录项,并与原文件关联到同一个inode;而软链接则创建一个新的文件,其中保存了指向原文件的路径信息。


发表于 2023-11-06 10:11:53 回复(0)
1>首先什么是链接?
     链接操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的 访问权限 ,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
2>硬链接
     硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
3>软链接(符号链接)
      软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)。
4> 硬链接与软链接的区别;

硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。

硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。

软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接。


发表于 2022-06-11 00:34:37 回复(0)
硬链接:同一个文件拥有多个路径名,多个硬链接指向同一个文件实体(inode)。
软连接:相当于Windows中的快捷方式,它本身就是一个独立的文件,文件的内容就是它所链接到的文件的路径。
软链接可以跨文件系统,硬链接不可以。
软链接可以对目录进行链接;硬链接不可以。
软链接可以对不存在的文件名进行链接,硬链接不可以。
当一个文件的所有硬链接都被删除(即该文件没有路径名了,引用计数为0)时,文件才会从物理存储介质上删除。
发表于 2016-09-04 22:06:16 回复(0)
软连接可以跨文件系统进行链接,硬链接不可以
发表于 2023-07-06 16:09:48 回复(0)
用的最多的是软链接,硬链接一般在多人协作共享文件的时候用。
发表于 2022-10-30 22:58:48 回复(0)
Top相当于任务管理器,查看进程资源使用情况
发表于 2022-05-13 22:09:00 回复(0)
解释一下硬链接为什么不能跨文件系统及链接到目录 前者是因为inode并非通用,就算通用在两个文件系统inode也不一定一致 后者是因为:.当前目录 ..上一级目录 若存在硬链接 会使得.和..意义混乱
发表于 2020-11-21 21:02:19 回复(0)
链接:
给系统中已有的某个文件指定另外一个可用于访问它的名称。
对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。
发表于 2019-04-23 15:25:51 回复(0)
软链接 相当于 windows 快捷方式 通过文件位置查找文件 可以跨文件系统 源文件删除后,软链接失效 可以对目录或不存在的文件创建软链接 硬链接 相当于 cp -p 再加上同步更新 通过 inode 查找文件 不可以跨文件系统 源文件删除后,硬链接不受影响(因为inode count减一之后依旧>=1) 不可以对目录或不存在的文件进行链接
发表于 2019-03-06 13:35:11 回复(0)
  • B当删除原文件的时候软连接文件仍然存在,且指向的内容不变
    这个为什么不对呢?
    
发表于 2019-02-07 14:33:35 回复(0)
B 选项,硬链接没有源文件只说,所有文件地位是平等的。如果非要说源文件,姑且认为第一个被创建的叫源文件。如果源文件删除,把 inode 节点的引用计数减1,如果变成0,删除该inode 节点(这和是不是源文件有毛线关系?)。如果仍然大于0,是不会删除inode 节点的,且文件内容不会变,文件内容,是指inode 节点维护的磁盘块指针指向的那片内存保存的内容。所以,删除硬链接,文件内容会变?(除非你真的修改的任何一个硬链接文件的内容,那所有的硬链接内容都变了)。个人认为答案是AB
发表于 2017-12-06 09:16:39 回复(0)