硬链接
硬链接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号。在Linux中,多个文件名指向同一索引节点是存在的,比如A和B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬链接的作用是允许一个文件拥有多个有效路径名,这样用户可以建立硬链接到重要文件,以防止误删的功能。其原因是因为对应目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
软链接
软链接也被称之为符号链接,也叫做软链接。软链接文件类似于Windows的快捷方式,它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A是B的软链接,A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名。A和B之间是主从关系,如果B被删除了,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 将不能做任何 *** 作。失去了实质性文件而存在 的软链接等同于创建一个空的软链接效果一样。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)