软链接与硬链接的区别

  这两牵扯到链接,那么先介绍以下链接。

  在文件系统中,有一种可以把不同的文件相连接到一起的机制,这个机制叫做链接。通俗的话来说就是打开两个不同的文件夹,其实进去的是同一个。它可以把一个文件用不同的名字和路径来表示出来。系统通过inode(索引节点,文件唯一标识)来识别是否为同一个文件,无论系统上有有多少个链接,在磁盘上只有一个唯一的inode,只要这个文件的的链接数不为0,那么这个文件件的inode会一直存在,文件会一直保存。

 

例如用ls-l可以查看文件的详情:

软链接与硬链接的区别

在这文件中,绿色的3txt与2.txt构成了一个链接。在Linux中->就代表着链接。

硬链接:

   硬链接就相当于一个指针,指向文件的索引节点,系统并不会为他重新分配新的inode,但是没添加一个硬链接,文件链接数会加一。

   硬链接允许一个文件同时又多个路径名,用户只删除一个硬链接并不影响这个文件的inode与其他相连接,只有最后一个链接被删除后,这个文件的inode就释放,数据块就保持在空闲状态允许被写入。用这种硬链接可以有效的防止误删除。但是硬链接不能跨分区创建,不再同一个分区是无法直接与数据块的inode相连接。也不允许给目录创建硬链接。在创建硬链接时可以相对于当前路径去创建,每创建一个硬链接就会会增加额外的记录项以引用文件。硬链接也不会占用节点号,但会增加链接数。同一个文件无论创建多少个硬链接,他们的属性都是完全相同的,这相当于是一个物理文件的不同名字。就像我们人一样,一个人可以有多个名字,无论你叫什么名字,你还是你,你自己的属性是不会改变的,总不会换一个名字就瘦了几斤或者长高了吧。


语法:

                            ln  filename [linkname]

软链接:

    又被称作为符号链接。软链接我们可以理解为windowx的快捷方式,相信大家都用过吧。创建一个软链接其实就是创建一个特殊的文件,这个文件内容就是这个链接的信息。软链接文件的大小就是这个路径的大小。软链接就是一个位置的处理,跟硬链接有本质的区别。举个例子:当你对A创建一个软链接,然后把A文件删除了,那时这个链接并不会一起呗删除,只是失效了。当你再重新在原来的地方创建一个以A命名的文件,再使用原来这个软链接。你会发现,又连接进了新建的这个A文件里了。说明软链接并不指定文件,而是指定的位置,等于给这个位置创建了另一条路径。就相当于家房子的地址如果你搬家不住这了那么这个地址会不被你使用了,并不是这个地址就不存在了。当小明买了你家的房子住进去后,这个地址就会变为他们家的地址。所以软链接就是一个链接符,指向了一个地址而已。创建软链接后文件的链接数不会增长,不会增加目标inode的引用计数,因为只是指向一个地址,所以软链接不但可以连接目录而且还能跨分区进行连接。

语法:

       ln -s filename [linkname]

原创文章,作者:phosphor,如若转载,请注明出处:http://www.178linux.com/76850

(0)
phosphorphosphor
上一篇 2017-05-25 09:16
下一篇 2017-05-25 10:49

相关推荐

  • Linux网络属性管理

    Linux网络属性管理 linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。 常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 首先:命令方法介绍 一、命令简介 ifconfig:是个比较传统的命令,可以配置网络接口的启用及关闭,IP地址等…

    系统运维 2016-05-29
  • 2016/08/07:文本处理工具及正则表达式

      在本次课程中,本以为和前面的内容难度差不多,内心毫无提防,但在做随堂练习的时候,被惨虐,不由得使我想起了高三时候拿到一张数学单元练习题,一道题也不会做的那种感觉,无助,彷徨,不甘。到了晚上总结了一下,还是有缘由可寻的。直接原因就是前面知识记得不牢固,也并未完全理解是和意思,尤其是tr命令,适用于何处,没按照5W1H方法来进行总结学习,导致应用的…

    Linux干货 2016-08-07
  • 磁盘管理

    磁盘管理 本文将按顺序以实例演示磁盘管理的所有操作,让我们开始吧! 一,磁盘的添加 ① 先来查看linux系统总共有几个磁盘,由图可知是两个,分别是sda,sdb。我们再加一个,按照磁盘命名顺序,应是sdc,他们都在/dev目录下。 补充: 1,磁盘命名规则: 不同磁盘,按照a-z依次标识,如sda,sdb,sdc 同一磁盘的不同分区,按照1,2,&#823…

    2017-08-19
  • 如何修复Ubuntu 12.04上时间不正确的问题

    大家好: 今天跟大家分享下如何修复ubuntu 12.04上时间不正常的问题。 1–首先打date查看系统的时间是否正常 martell@cnux10:~/sistes/sha-mmb-o2o2o$ date  Thu Dec  1 09:15:47 UTC 2016 martell@cnux10:~/sistes/sha-m…

    Linux干货 2016-12-04
  • 学习一个星期的沿途体会

    人生处处都是坑,只看跳的深不深。下面就来介绍介绍我跳的坑吧!当然我可没打算在此长眠 既然选择了Liunx,那对它的历史就得了解清楚。就如同我们结婚,既然选择了对方,那就要了解他的过去,包容他的未来。           Linux操作系统是一个叫Linus Torvalds的大学生在1991年开发而来。当然,…

    2017-07-16
  • vim文本操作、例行性工作、脚本编程_第六周练习(01)

    vim文本操作 Q1:复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@promote /]# cp /etc/rc.d/rc.sysinit /tmp/ [root@promote /]# l…

    Linux干货 2016-12-18