码迷,mamicode.com
首页 > 系统相关 > 详细

linux中的硬链接和软链接

时间:2016-07-31 22:33:07      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:ln   硬链接   软链接   分区   

一、ln命令概述


    它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。


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


    硬链接:是通过文件系统的inode连接来产生新的文件名,而不是产生新文件

    软链接:类似Windows的快捷方式功能的文件,可以让你快速连接到目标文件(或目录)


三、硬链接

    语法:ln filename [linkname]


    1、创建硬链接会增加额外的记录项以引用文件

    2、对应于同一文件系统上一个物理文件

    3、每个目录引用相同的inode号

    4、创建时链接数递增(链接数相当于一个文件有好几个名字

       例如:

       3表示的是链接数,说明a的文件名字有三个a,b,c

        技术分享

     5、删除文件时:

        rm命令递减计数的链接

        文件要存在,至少有一个链接数

        当链接数为零时,该文件被删除

        例如:

        把a删除之后b的链接数就少了一个,变成了2,此时名字就只有b和c了

        技术分享

     6、不能跨越驱动器或分区

        在同一个分区不同的目录是可以创建硬链接的,但是不同分区就不能创建

        技术分享

     7、目录不能建立硬链接,但是目录的节点号会变化

      例如:

        技术分享

        技术分享

        因为.表示当前目录,所以/bin的节点号为2

        创建一个文件夹,节点数加一,这是因为文件夹下面有个父目录”..   

         技术分享

         技术分享

        需要注意的是:

            在centos6中节点数为2的为独立分区,节点数为1的是虚拟目录

            在centos7中如果是分区的根尽量放在128中


四、软链接

    语法:ln -s filename [linkname]


    1、一个符号链接指向另一个文件

    2、ls -l的显示链接的名称和引用的文件

    3、一个符号链接的内容是它引用文件的名称

    4、可以对目录进行

       例如:

       技术分享

       技术分享

    5、可以跨分区

       软连接没有指定相对路径或者绝对路径的时候会报错,他们会认为你的链接文件和你的源文件    是在同一个目录下面,在软连接中一般都是采用相对路径

        技术分享

     6、ls –s 原始文件软链接

   原始文件相对路径:相对的是软链接文件路径,而不是相对于当前工作目录的路径

    技术分享

        技术分享

 7、指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件              inode 的引用计数;

        技术分享


五、总结

    使用ln如果不加任何参数的话,那么就是hard link。而如果使用-s参数时,就做成差不多是Windows下面的快捷方式的意思,当你修改linux下的symbolic link文件时,则改动的其实是“源文件”,所以无论你的这个源文件被连接到哪里去,只要你修改了连接文件,源文件就跟着变了。


 


linux中的硬链接和软链接

标签:ln   硬链接   软链接   分区   

原文地址:http://lianqing.blog.51cto.com/11887470/1832541

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!