【Linux系列教程】03.链接命令--软连接和硬链接的区别

原创 2016年06月01日 16:20:57

    首先,很抱歉。今天着实忙的不行,现在才闲下来,今天只能写一个这个了,十分抱歉!如果有错,尽请纠正!谢谢支持!



链接命令:ln

命令格式:ln -s [源文件] [目标文件]

英文含义:link

功能描述:为某一个文件在另外一个位置建立一个不同的链接文件

选项:-s 创建软连接,不加选项则为硬链接


-s 是代号(symbolic)的意思。


硬链接的特征:


        1、拥有相同的 i 节点和存储block块,可以看做同一个文件。


解释:之前我们说过每个文件都有属于自己的 i 节点,类似于ID号。硬盘分区会有一个文件索引列表以及一个数据分区。用户查找文件以后,会先进入到文件索引(文件索引至少包含 i 节点、时间、存储位置)内获取到存储位置,再根据位置去数据分区找到对应的block块,组合成数据返回。硬链接的话,链接文件和原文件都会对应同一个 i 节点和一样的存储数据块。这个概念和PHP里面的引用变量类似。也就是说,原文件和硬链接二者其中任何一个改变了另外一个也会改变,但是,如果其中一个被删除了另一个并不会被删除。这就相当于一个房间有二个门,我们关了一个门这个房间还是可以进入,房间里面什么东西变了不管你从哪个门,哪怕是从窗子进去那房间里面的东西都是一样的。


        2、可通过 i 节点识别


解释:上面第一条说了是有一样的 i 节点的。所以如果两个文件 i 节点一样,那二者肯定有一个是原文件,一个是硬链接。


        3、不能跨分区


解释:二个文件只能在同一个分区,这个应该是很好理解的吧?


        4、不能针对目录


解释:硬链接只能给单个文件做链接,对目录无效。也可以理解成一个文件的二个入口。


软链接的特征:


        1、类似于Windows的快捷方式。


解释:总的来说,链接的作用其实就是为了方便用户去进入某个目录或者是打开某个文件。


        2、软链接拥有自己的 i 节点和block块,但是对应的数据块中只保存了原文件的 i 节点和文件名等,并没有原文件的数据。


解释:刚才说过硬链接是和原文件共用同一个文件索引的。而软链接则不是,软链接有自己的文件索引,自己的 i 节点和数据块。当用户去搜索文件的时候,先是获取到软链接的文件索引,再根据存储目录去数据块中取得数据,这个数据包含原文件的信息。再根据信息中的存储位置去获取到原文件的数据从而再返回给用户。这就相当于一个传送门,每个软链接都是帮你快捷的传送到某个很远的地方去。


        3、软链接的权限都为lrwxrwxrwx。


解释:软链接各类用户都可以去读写。但是要注意的是,软链接的权限和原文件的权限是二码事儿。这就相当于把你传送过去了,但是面前还有一道门,然而你可能并没有带钥匙或者是带了钥匙。


        4、修改其中一个另外一个也会改变


解释:软链接这块是和硬链接一样的。这时候软链接就像一个快递员,你给他,他帮你送到你家。没有权限他就送不进去,有权限他就直接帮你放进去了。

        5、删除原文件以后软链接不能使用

解释:原文件都没有了传送门给你送哪去?宇宙?还是海底?

版权声明:本文为博主原创文章,除了文章中有说明以外,可以随意转载,标明出处即可

相关文章推荐

硬链接和软连接的创建命令和区别

硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用 软连接:也称符号连接,新建的文件以“路径”的形式来表示另一个文件,和windows的快捷方式类似,新建的软连接可...

Linux中软连接(Symbolic Link)和硬链接(Hard Link)的区别(转)

Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 --硬连接 硬连接指通过索引节点来进行连接。...

linux下软连接与硬链接的本质区别

软连接跟硬链接最大的区别在于: 1.文件A和文件B的inode号码一样,对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard ...

linux硬链接与软连接的区别

Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接又称符号链接(Symbolic Link)。 一、硬链接    硬连接指通过索引节点来进行连接。所以硬链接与源文件共用...

linux 中硬链接和软连接的区别

linux 中硬链接和软连接的区别   首先我们需要了解linux下硬链接以及软连接的基本概念. 1.硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用(这...

Linux:硬链接和软连接的区别

1.原理上: 硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两...

linux 软连接和硬链接的区别

linux 软连接和硬链接的区别
  • snlying
  • snlying
  • 2011年01月13日 16:32
  • 1006

Linux上ln命令详细说明及软链接和硬链接的区别

硬链接(hard link) UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系 统只存在一个文件的副本...

(整合)关于硬链接和软连接的区别

链接分硬链接和符号链接。 符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。 硬链接不可以跨文件系统。它只能建立对文...

从文件系统本质看硬链接和软连接的区别

该文件的注释的参考页码书籍:linux c编程一站式学习 1、 首先把一个文件作为分区格式化。然后在这个文件系统中分析硬链接和软连接的区别 $ Dd  if=/dev/zero of=fscoun...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Linux系列教程】03.链接命令--软连接和硬链接的区别
举报原因:
原因补充:

(最多只允许输入30个字)