管理文件和目录之链接以及基础知识
一、建立软链接和硬链接的语法
软链接:ln -s 源文件 目标文件
硬链接:ln 源文件 目标文件
源文件:即你要对谁建立链接
二、什么是软链接和硬链接
软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。硬链接等于cp -p 加 同步更新。为了方便说明,我在当前工作目录下建立了一个testforlink文件
建立软链接和硬链接:
查看文件属性:
如上图所示,我们可以看到,test1是一个符号链接文件,指向testforlink,但是文件的基本属性(创建时间,读写属性)是跟testforlink不一样,而test2的基本属性则跟testforlink完全一致。
区别: 软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系,不是源文件的内容,大小不一样容易理解。
硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。
但是简单的copy的文件创建文件的时间应该是复制文件时的时间,肯定不会像硬链接那样和创建源文件的时间相同。
对于源文件的内容有修改,硬链接文件会同步更新修改,始终保持和源文件的内容相同,而复制的文件则不可能做到这一点。
我们尝试下修改源文件testforlink的内容,依次查看test1,test2的内容,可以看到,两者文件内容都对应改变。
三、删除源文件多软链接和硬链接的影响
接下来我们尝试删除源文件,查看下对软链接文件和硬链接文件的影响。
查看文件内容:
查看软链接文件,查看的文件不存在。和windows一样,删除源文件,快捷方式也用不了。但是删除源文件,为什么硬链接文件还可以查看呢?
这里要简单说下inode节点了。inode节点是文件和目录的唯一标识,每个文件和目录必有inode节点,不然操作系统就无法识别该文件或系统,就像没有上户口的黑户。
硬链接文件和源文件i节点号相同,并且一个inode节点可以对应多个文件名。
inode和block– inode存文件属性
– block存文件数据
删除了源文件,只是删除了block到文件testforlink的映射关系,但是test2到block的映射关系还存在,我们可以理解为指针,我们只删除了指针testforlink,但是指针test2还是指向该block,并不会受影响。