
1.硬链接是创建一个指向block的inode,有防止误删除的功能。因为删除一个文件,实际上是删除inode信息,切断了inode与block之间的联系。当给一个文件做了硬链接之后,删除文件时,只会减少文件的链接数,当链接数为0时,才会彻底删除该文件。
软链接类似windows系统的快捷方式,是一个完整的文件,有自己的inode和block,block的内容就是原文件的文件名。当原文件删除后,软链接就失效了,没有防止误删除的功能。
2.文件的大小不一样。由于硬链接是指向原文件的block,所以硬链接的文件大小和原文件大小是一致的。而软链接是新的文件,block里是原文件的的文件名,所以软链接文件的大小一般是4k,即一个block的大小。
3.硬链接不能给目录做,不能跨分区做。软链接则都可以。
创建硬链接命令:
ln
file
filenew
#file为原文件名,filenew为新文件名。
创建软链接命令:
ln
-s
file
filenew
#file为原文件名,filenew为新文件名。
(1)软链接可以跨越文件系统 ,硬链接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档链接到linux下/root目录下 bb,cc . ln -s aa.txt /root/bb 链接成功 。ln aa.txt /root/bb 失败 。(2)关于 I节点的问题 。硬链接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的链接数不是 0,文件就一直存在,不管你删除的是源文件还是链接的文件 。只要有一个存在 ,文件就存在 (其实也不分什么源文件和链接文件的 ,因为他们指向都是同一个I节点的)。 当你修改源文件或者链接文件任何一个的时候 ,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除链接文件对源文件无影响,但是删除源文件,链接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名,但软链接文件没有属于自己的文件块. 软链接比较像windows下的快捷方式。
(3)软链接可以对一个不存在的文件名进行链接。
(4)软链接可以对目录进行链接。
备注:I节点 :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点 含有关于文件的大部分的重要信息,包括文件数据块在磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)