Ⅰ linux 硬链接和软链接的区别
Linux建立硬连接和软复连接都是制用ln命令,ln命令如果不加-s选项,建立的连接文件就是硬连接,ln命令如果加-s选项,就是建立符号连接也就是软连接。还有的区别就是建立硬连接只能在同一个文件系统内进行,源文件和连接文件不能跨文件系统,而软连接可以跨文件系统;硬连接不能连接到目录,只能连接到文件,而软连接可以连接到目录。另外,因为硬连接的这些限制,所以软连接的使用要比硬连接更加广泛,这些就是它们之间的区别了。
Ⅱ 什么是Linux操作系统文件链接
链接类型及其意义
符号链接与硬链接在链接意义没有什么不同,只是在对目标文件的链接原理上有所不同。符号链接对应于C语言上的指针,符号链接文件只是保存目标文件的路径,访问是根据链接文件的路径进行访问;而硬链接是对应于C语言中的引用,硬链接文件中保存的是目标文件的inode结点。
正是由于链接方式的不同,这两种链接呈现出不同的特性。符号链接通常被称为软链接,它的目标文件既可以是目录,也可以是普通文件。由于符号链接文件中只是存放的目标文件的路径,故它不会改变目标文件中的inode的引用计数。删除目标文件对符号链接文件没有什么影响。硬链接文件则不同,它会改变目标文件的inode的引用计数,每新建一个硬链接文件时,目标文件的inode引用计数就会加一。删除目标文件时,目标文件并不会真正的删除,这里只是简单的将目标文件的引用计数减一,目标文件并没有删除。详情查看网页链接
创建链接文件
创建硬链接文件的命令格式:ln [链接目标文件] [硬链接文件名]
创建符号链接文件的命令格式:ln -s [链接目标文件或目录] [符号链接文件名]
举例(以下例子中的当前目录均为"/home/tingyu"):
在"/home/tingyu"目录中创建目录"/home/tingyu/hkc"的链接文件:ln -s /home/tingyu/hkc lnk
执行后的结果为:
[email protected]:~$ ln -s ./hkc lnk
[email protected]:~$ ls -l
total 32
drwxr-xr-x 2 tingyu tingyu 4096 2011-03-20 12:43 hkc
lrwxrwxrwx 1 tingyu tingyu 5 2011-03-20 12:43 lnk -> ./hkc
在"/home/tingyu"目录中创建文件"/home/tingyu/hkc"的链接文件:ln /home/tingyu/hkc lnk
Ⅲ Linux软连接和硬链接什么情况下使用比较多
Linux链接概念
Linux链接分两种,一种被称为硬链接(版Hard Link),另一种被称为符号链接(Symbolic Link)。权默认情况下,ln命令产生硬链接。
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
Ⅳ linux的硬链接有什么用途呢
硬链接,比抄软链接更实袭际,虽然他不能做目录的链接。 不过他的稳定性高。 软链接是个类似wins的快捷方式,硬链接不是。当你删除链接文件时,在利用软链接去读取这个文件,会出现错误。 硬链接就不会,他依旧可以读取到这个文件。。 要明白这个问题,你要先搞清楚linux 的i节点。 linux的每个设备都是以文件方式读取的,i节点就记录这个文件的所有必需的信息,以及这个文件的存储块位置。 打字好累呀!!!差不多了吧!!
Ⅳ Linux中硬链接文件和软链接文件有什么区别
linux系统中链接文件分为硬链接和软链接(软链接也叫符号链接)。硬链接和软链接都是指向文件的一种方式,但两者有不同的地方,主要有以下不同:1.硬链接是创建一个指向block的inode,有防止误删除的功能。因为删除一个文件,实际上是删除inode信息,切断了inode与block之间的联系。当给一个文件做了硬链接之后,删除文件时,只会减少文件的链接数,当链接数为0时,才会彻底删除该文件。软链接类似windows系统的快捷方式,是一个完整的文件,有自己的inode和block,block的内容就是原文件的文件名。当原文件删除后,软链接就失效了,没有防止误删除的功能。2.文件的大小不一样。由于硬链接是指向原文件的block,所以硬链接的文件大小和原文件大小是一致的。而软链接是新的文件,block里是原文件的的文件名,所以软链接文件的大小一般是4k,即一个block的大小。3.硬链接不能给目录做,不能跨分区做。软链接则都可以。创建硬链接命令:lnfilefilenew#file为原文件名,filenew为新文件名。创建软链接命令:ln-sfilefilenew#file为原文件名,filenew为新文件名。
Ⅵ Linux文件系统中硬链接和软链接的区别
链接和软链接的区别1.原理上:硬链接(hard link):文件A是文件B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。软链接(soft link):A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。2.使用限制上:硬链接:a:不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的”..”除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。c:不能对不存在的文件创建硬链接,由原理即可知原因。软链接:a.可以对目录创建软链接,遍历操作会忽略目录的软链接。b:可以跨文件系统c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了3.命令硬链接:ln 源文件名 链接名软链接:ln -s 源文件名 链接名硬链接和软链接的作用硬链接:硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。只删除一个连接并不影响节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。还有如果把链接名创建为一个以.开头的隐藏文件,还能很好的隐藏自己的隐私(你们懂的..呵呵呵)。软链接:软链接又称之为符号连接(Symbolic Link)。软链接文件类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
Ⅶ linux 什么是硬链接
硬链复接(hard link):A是B的硬链接(A和B都是文件名)制,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。
Ⅷ linux下面的链接是什么有什么用
链接的好处:链接操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。 你看看应不应该给自己的文件创建链接,如果不嫌麻烦的话可以不建的,但貌似建链接的也很少。
Ⅸ 怎么理解linux中的硬链接在实际工作中怎么用
建立复硬链接就是相当于给一个文制件起别名。类比实际生活中,就像是给某个人取绰号。虽然硬链接名和源文件不一样,但是二者都是指向同一个硬盘中的资源。硬链接在实际工作中应用远没有软连接多:1)想让一个文件在多个目录下重复出现,但只占用一份文件的空间,就用硬链接。2)针对一块资源,如果想给不同的用户开不同权限,就用硬链接(结合修改权限的chmod命令即可)。硬链接也是使用ln命令,举例:ln info info_h, 就是给源文件info创建了一个名为info_h的硬链接。现在我也在黑马程序员当老师,这方面都可以咨询。官网视频库也有这些资料的视频介绍。
Ⅹ linux硬链接和软链接的区别
为解决文件的共享使用,Linux系统引入了两种链接:硬链接和软链接。在Linux中,元数据中的inode号才是文件的唯一标识而非文件名,文件内容要通过inode号来寻找,犹如交通指示牌一样,指示着数据找寻的方向。硬链接(Hard Link)A和B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除其中一个,对另外一个没有任何影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块只有在inode节点链接数减少为0的时候才会被系统回收。软链接(Soft Link)A是B的软链接,A的目录项中的inode节点号与B的目录项中的节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名。A和B之间是主从关系,如果B被删除了,A依然存在,但指向的是一个无效的链接。Linux中软链接和硬链接之间有什么区别和联系?概念不同:软链接可以理解成快捷方式,和原文件的inode号不一样,它和Windows下的快捷方式的作用是一样的,软链接数据块中记录的亦是相对路径指向。硬链接和原文件对应一个inode,就是对应一个文件,可以理解成一个文件有几个别名。用法不同:软链接可以理解成快捷方式,也清楚知道原文件在哪里。它和Windows下的快捷方式的作用是一样的,和Windows一样,删除源文件,快捷方式也就无法使用了。硬链接可以看成一个备份,但并没有增加空间,因为文件就一个,这种可以防止源文件删除后不能使用问题;同时也有局限性,不能对目录和跨文件系统使用。语法格式(ln):硬链接:ln 源文件 链接名软链接:ln -s 源文件 链接名注意:链接的源文件路径要写绝对路径,否则会报错。
未经允许不得转载:山九号 » linux文件系统硬链接的作用|什么是Linux操作系统文件链接