加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux基础系列(四)Linux系统软链接硬链接知识

发布时间:2022-10-10 10:50:14 所属栏目:Linux 来源:
导读:  软链接

  软链接(Soft Link)也称为符号链接(SymbolicLink)。Linux里的软链接文件就类似与Windows系统中的快捷键方式。Linux里的软链接文件实际上是一个特殊的文件,文件类型是l。软链接文件实际行可以理解为
  软链接
 
  软链接(Soft Link)也称为符号链接(SymbolicLink)。Linux里的软链接文件就类似与Windows系统中的快捷键方式。Linux里的软链接文件实际上是一个特殊的文件,文件类型是l。软链接文件实际行可以理解为一个文本文件,这个文件中包含有软链接指向另一源文件的位置信息内容,因此,通过访问这个“快捷方式”就可以迅速定位到软链接所指向的源文件实体。
 
  文件软链接
 
  ln -s 源文件 目标文件
 
  软链接的创建:
 
  执行命令“ln -s 源文件 链接文件”,即可完成创建软链接。
 
  误区:创建软链接源文件是需要存在的,要创建的软链接文件是不能存在的,是要用ln 命令创建。
 
  目录软链接
 
  ln -s源文件目标文件
 
  目录的软链接用的很多 硬链接几乎不怎么用
 
  软链接知识小结
 
  1)软链接类似windows的快捷方式(可以通过readlink查看其指向)
 
  2)软链接类似一个文本文件,里面存放的是源文件的路径,指向源文件实体。
 
  3)删除源文件,软链接文件依然存在,但是无法访问指向的源文件路径内容了。
 
  4)失效的时候一般是白字红底闪烁提示。
 
  5)执行命令"ln-s 源文件 软链接文件",即可完成创建软链接(目标不能存在)
 
  6)软链接和源文件是不同类型的文件inode号也不相同。
 
  7)删除软链接文件是可以用rm命令。
 
  硬链接
 
  硬链接是指通过索引节点(inode)来进行链接。在Linux(ext2,ext3,ext4)文件系统中,保持在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(Index Inode)简称Inode,即在系统中文件的编号。
 
  在Linux文件系统中,多个文件名指向同一个索引节点(Inode)是正常且允许的。这种情况的文件就称为硬链接。提示:硬链接文件就相当于文件的另外一个入口。硬连接的作用之一是允许一个文件拥有多个有效路径口(多个入口),这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据(很多硬件存储,存储中的快照功能就是应用了这个原理,增加一个快照就多了一个硬链接)。为什么一个文件建立了硬链接就会防止数据误删呢?
 
  因为文件系统(ext2)的原理是,只要文件的索引节点(InodeIndex)还有一个以上的硬链接。只删除其中一个硬链接(即仅仅删除了该文件的链接指向)并不影响索引节点本身和其他的链接(即数据文件实体并未被删除),只有当文件的最后一个链接被删除后,被删除文件的数据块及目录的链接才会被释放linux软链接,空间被新数据占用并覆盖。此时,数据就再也无法找回了。也就是说,在Linux系统中,删除静态文件(没有进程调用)(目录也是文件)的条件是与之相关的所有硬链接文件均被删除。
 
  硬链接原理图:
 
   Linux基础系列(四)Linux系统软链接硬链接知识_软连接
 
  文件硬链接
 
  ln 源文件硬链接文件
 
  目录硬链接
 
  目录不允许做硬链接
 
  ls -a 显示隐藏文件
 
  以.开头的文件代表隐藏文件
 
  ..代表上上级目录(因为他们具有相同的inode)
 
  硬链接知识小结
 
  企业生产软链接作用
 
  1、编译软件时制定版本号(/application/apache2.24)访问时希望去掉版本号(/application/apache),可以设置软链接到编译的路径。所有程序都访问软链接文件(/application/apache),当软件升级高版本后,只需删除链接文件重建到高版本路径的软链接即可(/application/apache)
 
  2、企业代码发布时(PHP程序),需要把所有代码传到一个新发布的临时目录或者新的站点目录。发布时要么使用mv,也可以重建软链接指向到这个新的临时目录或者新的站点。
 
  3、不方便目录移动,使用ln -s
 
  链接文件企业面试题
 
  描述Linux下软链接和硬链接的区别
 
  1)默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接。
 
  2)硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同。
 
  3)ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。
 
  4)删除软链接文件,对源文件及硬链接文件无任何影响;
 
  5)删除文件的硬链接文件,对源文件及链接文件无任何影响;
 
  6)删除链接文件的源文件,对硬链接无影响,会导致其软链接失效(红底白字闪烁状)
 
  7)同时删除源文件及其硬链接文件,整个文件才会被真正的删除。
 
  8)很多硬件设备中的快照功能,使用的就类似硬链接的原理。
 
  9)软链接可以跨文件系统,硬链接不可以跨文件系统。
 
  企业面试答题必胜思路:
 
  1)介绍软硬链接的概论。
 
  2)对于文件的软硬链接区别。
 
  3)对于目录的软硬链接区别。
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!