2-18 Linux中的连接文件 --- 软链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2-18 Linux中的连接文件 --- 软链接相关的知识,希望对你有一定的参考价值。

参考技术A Linux中的软链接类似于windows中的快捷方式。

创建方式:ln -s oldfile newfile。

    例:文件软链接 (目录软链接也是一样的操作方式)。

    1、tmp 目录下创建一个 test.txt 文件。

    2、ln -s test.txt test,为 test.txt 文件创建一个名为 test 的软链接。

    3、ll 查看详情会发现有一个蓝色的 test --> test.txt (test 指向 test.txt)。同时文件类型是            l 开头,l 是指链接文件的意思。 

    4、对软链接文件进行 vim 操作。输入This is ln -s test. :wq保存并退出。

    5、通过cat test 和 cat test.txt 查看内容。得出的结果都是一样的。既软链接 test 和 test.txt              已经建立关联,对 test 操作等于对 test.txt 操作。

tips:软链接特点。

    1、可以对不存在的文件创建软链接。

    tmp 目录下除了 test 和 test.txt 并没有其他文件。

    此时 ln -s abc.txt t1,为不存在的 abc.txt 文件创建一个 t1 的软链接。t1 软链接是可以创建        的,只是由于没有真实存在的 abc.txt 文件。通过 ll 查看详情,系统会在 abc.txt 处用红色闪      烁高光发出提示,意指abc.txt文件不存在。

    此时,tmp 目录下新建一个 abc.txt 文件,t1 软链接到 abc.txt 文件就会正常。不会再有红色      提示。

    2、可以对文件 或者 目录创建软链接,目录创建软链接和文件创建软链接流程一样。

    3、删除软链接,不会影响它的指向文件。

    vim t1:编辑 t1 软链接,输入1 t1 的内容保存退出。

    删除 t1 软链接,tmp 目录下已没有软链接指向 abc.txt 文件。

    此时,cat abc.txt 文件可以查看内容,也可以 vim abc.txt 增加 2 abc.txt 内容。证实了,删        除软链接,不会影响它的指向文件。

    4、删除了指向文件,该软链接将变为无效连接。

    当 t1 软链接指向实际文件 abc.txt 的时候,t1是可以对 abc.txt 进行增删改查操作的。若 rm -      rf abc.txt 删除了实质性的 abc.txt 文件后,t1 将不能做任何操作。失去了实质性文件而存在       的软链接等同于创建一个空的软链接效果一样。

Linux中硬链接和软链接的区别与联系!

参考技术A   链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。在Linux操作系统中,链接被分为两种:软链接(SoftLink,符号链接)和硬链接(HardLink)。那么什么是软链接?什么是硬链接?Linux中软链接和硬链接之间有什么区别和联系?以下是详细的内容介绍。

  为解决文件的共享使用,Linux系统引入了两种链接:硬链接和软链接。在Linux中,元数据中的inode号才是文件的唯一标识而非文件名,文件内容要通过inode号来寻找,犹如交通指示牌一样,指示着数据找寻的方向。

  硬链接(Hard Link)

  A和B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除其中一个,对另外一个没有任何影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。

  注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块只有在inode节点链接数减少为0的时候才会被系统回收。

  软链接(Soft Link)

  A是B的软链接,A的目录项中的inode节点号与B的目录项中的节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名。A和B之间是主从关系,如果B被删除了,A依然存在,但指向的是一个无效的链接。

  Linux中软链接和硬链接之间有什么区别和联系?

  概念不同:

  软链接可以理解成快捷方式,和原文件的inode号不一样,它和Windows下的快捷方式的作用是一样的,软链接数据块中记录的亦是相对路径指向。

  硬链接和原文件对应一个inode,就是对应一个文件,可以理解成一个文件有几个别名。

  用法不同:

  软链接可以理解成快捷方式,也清楚知道原文件在哪里。它和Windows下的快捷方式的作用是一样的,和Windows一样,删除源文件,快捷方式也就无法使用了。

  硬链接可以看成一个备份,但并没有增加空间,因为文件就一个,这种可以防止源文件删除后不能使用问题;同时也有局限性,不能对目录和跨文件系统使用。

  语法格式(ln):

  硬链接:ln 源文件 链接名

  软链接:ln -s 源文件 链接名

  注意:链接的源文件路径要写绝对路径,否则会报错。

以上是关于2-18 Linux中的连接文件 --- 软链接的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件系统中硬链接和软链接的区别

Linux中硬链接和软链接的区别与联系!

linux一个软连接指向多个目录

linux系统中的硬链接和软链接

linux的硬链接和软连接的区别

Linux的硬链接和软链接