热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux基础:11、软连接与硬链接

软连接与硬链接)ln硬链接作用:主要用于安全备份语法:lnsourcedest原理:普通文件inode里是该文件的权限、归属、时间等信息及block号,blo

软连接与硬链接)


ln 硬链接

作用:主要用于安全备份

语法:

    ln source dest

原理:

    普通文件

    inode里是该文件的权限、归属、时间等信息及block号,block里是实际文件数据。

    目录文件

    inode里是该目录的权限、归属、时间等信息及block号,而block里是储存了inode与其文件名称的列表 类似于下表

目录inode:drwxr-xr-x  root root (time) (block号"**1")

                                                                                                            |

block号**1


4275611

passwd

4283645

22

inode 文件名称

...

...


于是,硬链接其实就是在上面的清单里增加了一条记录,内容为"源文件的inode号"和"链接文件名称"。而此时整体的连接逻辑应该是,如下图

wKioL1UBDhfSetvtAAAfRlmZQaA596.gif

做完硬链接之后,实际文件的inode相当于有了两个入口,而这些入口都是写在目录文件的block里边的,这两个入口拥有同样的inode号,只是文件名称不一样,正因为如此,所以硬链接是不额外产生inode号的,只是相当于给源文件做了一层安全保护,防止被误删。

PS:硬链接不产生新的inode

PS:不能跨分区做硬链接

PS:不能对目录做硬链接

 

ln -s 软连接

作用:可以用于不同分区之间“容量共享”和“inode共享”

语法:ln -s source dest

原理:

    软链接和硬链接不同,软链接是由系统新分配了一个inode和block,block里存的是源文件的信息。

链接文件inode

block:存了源文件的信息

------>

源文件inode

block:实际文件资料

基于此原理,所以软连接会产生新的inode,也可以对目录做软连接,可看下图理解

wKioL1UBD7fBwhr-AAAf1fsaVt0535.gif

PS:硬链接不可以是因为有可能会产生目录回环

PS:尽量写绝对路径

PS:软连接的大小和连接的文件名称长短有关


本文出自 “三零妖人” 博客,请务必保留此出处http://301ren.blog.51cto.com/8887653/1619643


推荐阅读
author-avatar
JQLNo1xinfinite
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有