(转)老男孩教育每日一题-2017年3月30日-请说明软链接与硬链接区别

【软硬链接总结】描述linux下软链接和硬链接的区别(面试题)。(记时2分钟)

原文:http://blog.51cto.com/lidao/1911616

解答:

在linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。

1)默认不带参数情况下,ln命令创建的是硬链接。

2)硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同。3)ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。

4)删除软链接文件,对源文件及硬链接文件无任何影响;
5)删除文件的硬链接文件,对源文件及软链接文件无任何影响;
6)删除链接文件的原文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);
7)同时删除原文件及其硬链接文件,整个文件才会被真正的删除。

8)软连接可以跨文件系统,硬链接不可以跨文件系统。

上述必胜思路二:画图(如下)

 

  • 如何创建:

    • 默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接。

  • 含义:

    • 硬链接文件与源文件的inode节点号相同,而软链接文件相当于windows下面的快捷方式(inode节点号与源文件不同)

  • 特点:

    • 不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到

    • 软链接可以跨文件系统,硬链接不可以跨文件系统。

  • 怎么没的(源文件,软链接,硬链接与删除)

    • 删除软链接文件,对源文件及硬链接文件无任何影响;

    • 删除文件的硬链接文件,对源文件及软链接文件无任何影响;

    • 删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);

    • 同时删除源文件及其硬链接文件,整个文件才会被"真正"的删除。

wKioL1jdADOStpipAACgBqNFi7U105.jpg

 

 

目前网友答案1:I'm here

 

硬链接和源文件具有相同的inode,软链接和源文件具有不同的inode

文件的链接数显示的是硬链接的个数,和软链接个数无关

 

文件:

1、文件既可以创建软链接,也可以创建硬链接

 

目录:

1、目录只可以创建软链接,不可以创建硬链接

2、对于一个空目录,它有两个硬链接数,一个是它本身,一个是目录

   下的 "."文件,它每创建一个次一级目录,它的硬链接数目都会加

   1,因为每个次一次目录下面都有一个“..”文件,但如果在该目录

   下创建文件硬链接数目就不会变化。

 

删除:

1、软硬链接删除后,源文件并不会有影响

2、源文件删除后,硬链接文件依然有效,软链接文件失效。原因是软链接

   文件相当于一个快捷方式,而硬链接文件和源文件都相当于通向目的地

   的入口,堵(删)了一个入口,另一个还是能走通

 

实际应用:

1、软链接文件可以作为快捷方式,简化繁琐的文件层次

2、硬链接文件可以用于重要文件,防止文件被误删等情况发生

 

网友回答:

誓言撒落在回憶里〤(xxxxxxx) 9:23:14

软链接:源文件删除后,无法访问,与Windows下的快捷方式类似。它不存储文件的iNode号,存储的是路径。

硬链接:源文件删除后,可以继续访问文件,它与源文件共享同一个iNode号。

posted @ 2018-01-15 22:02  liujiacai  阅读(299)  评论(0编辑  收藏  举报