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

Linux中文件的软链接和硬链接

发布时间:2023-02-04 14:34:42 所属栏目:Linux 来源:
导读:  参考: 总览

  命令:ln(英文全拼:link files)

  语法:ln [参数][源文件或目录][目标文件或目录]

  语法实例:

  ln -s log2013.log slink2013:为log2013.log文件创建软链接slink2
  参考: 总览
 
  命令:ln(英文全拼:link files)
 
  语法:ln [参数][源文件或目录][目标文件或目录]
 
  语法实例:
 
  ln -s log2013.log slink2013:为log2013.log文件创建软链接slink2013
 
  ln log2013.log hlink2013:为log2013.log文件创建硬链接hlink2013
 
  功能:为某个文件在另外一个位置建立一个同步的链接
 
  不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁盘空间
 
  硬链接是产生一个档案,该档案以文件副本的形式存在,但不占用实际空间大小
 
  软链接是产生一个档案,该档案的内容是指向另一个档案的位置,占用空间很小
 
  硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统
 
  创建的硬链接其inode与原文件一样,创建的软链接其inode与原文件不同(la -i查看inode)
 
  硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)
 
  硬链接
 
  在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,这个编号被称之为索引节点号(Inode Index),也就是常说的inode号(使用ls -i可查询文件inode号),根据inode号可索引到对应数据块

  硬链接是直接将文件名与索引节点号(即inode号)链接,inode号可以对应一个或多个文件名(如上硬链接后有两个文件名:hard link 和 filename),并且这些文件名可以在同一或不同目录,相当于多个相同或不同的文件名对应一个inode号,指向硬盘中相同的data block
 
  输入命令la后显示信息的第二列可查看data block的硬链接数量;
 
  硬链接文件有以下特点:
 
  1.文件有相同的inode号及data block,这使得修改其中一个硬链接文件属性或文件数据时,其他硬链接文件都会发生相应修改;
 
  2.只能对已存在的文件进行创建;
 
  3.不能跨文件系统(即分区)进行创建
 
  4.删除其中一个硬链接(包括原文件)文件时,不会对其他硬链接文件产生影响,删除文件时,递减链接数,当链接数为0时,对应的data block才真正被删除
 
  需要注意的是:在删除时,若直接用键盘【del】或者鼠标右键删除时,仅仅将其丢入回收站,文件依然存在,因此硬链接数不会变化,只有删除回收站中的文件后,对应的硬链接数才会减少
 
  硬链接文件的大小:
 
  创建一个文件:,随机输入如下内容,输入ll命令查看信息发现,该文件大小为193个字节:
 
  再创建一个硬链接,文件名为wwwh1.txt,输入ll查看信息,可以发现链接数变为了2,链接文件大小也是193
 
  更改文件内容为如下,再输入ll查看信息,发现不仅原文件大小变了,而且链接文件大小也变了
 
  前面说到硬链接是对文件的inode进行拷贝,指向相同的内存空间,这里为什么会显示占用了与原文件一样的内存大小?其实这里显示的文件大小linux软链接,并非硬链接文件的大小,而是其所指向的内存空间的大小,因此才会出现一样的情况,查看真实的硬链接文件大小应当用命令:du -h 文件名
 
  可以看到硬链接文件大小占用了4k字节的空间
 
  软链接
 
  软链接类似于Windows的快捷方式。它实际上是一个特殊的文件,有自己的索引节点号(即inode号)以及用户数据块(data block),但data block中包含的是原文件的位置信息
 
  软链接有如下特点:
 
  1.软链接有自己的文件属性、inode号和data block,但是编辑文件其实就是编辑源文件;
 
  2.可以对不存在的文件或目录进行创建;
 
  3.可以跨文件系统(即分区)进行创建,使用ln命令跨文件系统创建时,源文件必须是绝对路径,否则为死链接;
 
  4.可以对文件或目录文件进行创建;
 
  5.删除软链接并不影响源文件,但源文件被删除,则相关软链接文件变为死链接(dangling link),若源文件(原地址原文件名)重新被创建,则死链接恢复为正常软链接
 
 
 

(编辑:我爱制作网_池州站长网)

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