位置: IT常识 - 正文

Linux中文件与目录对应的硬链接与软链接方式总结(linux中的文件)

编辑:rootadmin
Linux中内核会为文件分配inode节点,而硬链接和软链接的一大不同就是是否重新分配inode,这里我们就来做一个Linux中文件与目录对应的硬链接与软链接方式总结,需要的朋友可以参考下... 16-06-07

推荐整理分享Linux中文件与目录对应的硬链接与软链接方式总结(linux中的文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux文件和目录常用命令,linux中文件目录权限设置命令是,linux文件与目录,linux中文件目录列表蓝色代表什么,linux中文件与目录的权限有哪些,linux中文件与目录的权限有哪些,linux中文件目录权限设置命令是,linux中文件目录列表蓝色代表什么,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux中文件与目录对应的硬链接与软链接方式总结(linux中的文件)

硬链接新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用。硬链接特征:1、拥有相同的 i节点 和相同的存储block快,可以看做是同一个文件2、可通过i节点识别,i节点号相同3、不能跨分区4、不能针对目录使用5、删除文件,硬链接正常使用

软链接另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。 软链接特征:1、类似windows快捷方式2、软链接拥有自己的i节点和block快,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据3、lrwxrwxrwx l软链接,软链接文件权限都为rwxrwxrwx,但具体看原文件的权限4、修改任意文件,另一个都改变5、删除原文件,软链接不能使用6、创建软链接一定要写绝对路径注意软链接的文件权限为777 但是最终权限有源文件决定 l表示软链接文件。一旦源文件删除,软链接将不能使用。(这是和硬链接的主要区别)注:创建软链接时,源文件要始终使用绝对路径,否则,若创建的软链接和源文件不在同一个目录时,会找不到源文件。(硬链接不会有这种情况)限制少,更灵活,推荐使用。

补充:linux系统中的硬连接有两个限制:不能跨越文件系统和不允许普通用户对目录作硬连接。至于第一个限制,很好理解,而第二个就不那么好理解 了。 对任何一个目录用ls -l 命令都可以看到其连接数至少是2,这也说明了系统中是存在硬连接的,而且命令ln -d 也可以让超级用户对目录作硬连接,这些都说明了系统限制对目录进行硬连接只是一个硬性规定,并不是逻辑上不允许或技术上的不可行。那么操作系统为什么要进 行限制呢?答案可能有两个。

先来说第一个,如果引入了对目录的硬连接就有可能在目录中引入循环,那么在目录遍历的时候系统就会陷入无限循环当中。也许您会说,符号连接不也可以引入循 环吗,那么为什么不限制目录的符号连接呢?原因就在于在linux系统中,每个文件(目录也是文件)都对应着一个inode结构,其中inode数据结构 中包含了文件类型(目录,普通文件,符号连接文件等等)的信息,也就是说操作系统在遍历目录时可以判断出符号连接,既然可以判断出符号连接当然就可以采取 一些措施来防范进入过大的循环了,系统在连续遇到8个符号连接后就停止遍历,这就是为什么对目录符号连接不会进入死循环的原因了。但是对于硬连接,由于操 作系统中采用的数据结构和算法限制,目前是不能防范这种死循环的。

在说明第二个原因之前,先来看看文件的dentry结构在系统空间中长什么样子和它们是怎么存放在系统空间的。dentry结构主要包含了文件名,文件的inode号,指向父目录dentry结构的指针和其他一些与本次讨论无关的指针,这里关键是那个指向父目录的指针;系统中所有的dentry结构都 是按杂凑值存放在杂凑表中的,这里的杂凑算法很重要,它是取文件名和文件的父目录dentry结构的地址一起杂凑运算出杂凑值的。现在假设有两个目录 /a和/b,其中/b是我们通过ln -d命令建立起来的对/a的硬连接。这个时候内核空间中就会存在一个/a的dentry结构和一个/b的dentry结构,由上面的知识可知,/a和/b 目录下面的每一个文件或目录都各自有对应的dentry结构(因为虽然/a目录下面的文件名没有改变,但是因为dentry结构有指向父目录dentry 的指针和计算杂凑值时考虑了父目录dentry结构的地址,这个时候dentry结构就分身乏术了),而且这种继承还会影响到所有子目录下面的文件,这样 下来就会浪费很多系统空间了,特别是如果被硬连接的目录中存在大量文件和子目录的时候就更加明显了。这也许是第二个原因。

本文链接地址:https://www.jiuchutong.com/zhishi/279808.html 转载请保留说明!

上一篇:17种Vue适用于移动端的ui框架(vue做移动端适配最佳解决方案,亲测有效)

下一篇:Win10累积更新补丁KB5007186推送,2004 版本即将停止支持(附下载)(win10 累积更新)

  • 北京增值税发票打印边距设置
  • 发票丢失第一联盖章能用么
  • 高新技术企业亏损弥补
  • 企业法人如何网上实名认证
  • 发票勾选错了已报税怎么办
  • 印花税已经申报在哪里点交费
  • 合同每三个月付一次款
  • 电子版发票怎么弄
  • 报关单金额大于合同金额
  • 增值税即征即退会计处理
  • 事业单位退休人员独生子女费如何发放
  • 小规模纳税人开专票
  • 出口免税进项税额转出会计分录
  • 发票勾选 发票认证
  • 卫生巾的税率
  • 税收征管法实施条例
  • 收据大写要写整吗
  • 工资里税前扣款是什么意思
  • 公司账上没钱还假发工资违法吗
  • 归还银行贷款怎么做分录
  • 取得高新技术企业
  • 1697509966
  • 1697510660
  • 货没到申请退款玩付邮费吗
  • system进程有什么用
  • 个人所得税专项扣除子女教育标准
  • 拆迁货币什么意思
  • 拆迁补偿收入如何纳税
  • 建筑业成本率是多少
  • PHP:pg_lo_read()的用法_PostgreSQL函数
  • pnaico.exe是什么软件
  • 富贵竹怎么养才能更旺盛水培生根
  • php imagettftext()函数
  • vue路由实现
  • 微信小程序怎么制作自己的小程序
  • _ html
  • python 数据采集卡
  • 现金盘盈盘亏怎么处理
  • 社保清算是怎么回事
  • 商誉 减值
  • 建筑业先预缴还是先扣税
  • 金税盘服务费可以跨年抵扣
  • 个体工商户如何注销网上
  • python导入模块的语句
  • 培训属于什么服务
  • sqlserver2019删除
  • 辅助账簿属于会计档案吗
  • 个体户查账征收和核定征收哪个好
  • 幼儿园财务科目明细表
  • 销售折让如何做分录
  • 应付账款调整科目余额分录
  • 如何查询对方是否起诉离婚
  • 行政单位负债类科目包括
  • 帮客户支付的机票计入什么科目
  • 新买的车没有牌能上路吗
  • 自动清理河道垃圾船
  • sqlserver存储过程怎么查看
  • mysql批量执行sql文件
  • win8更改系统字体
  • win8系统怎么关机
  • gentoo linux优点
  • xp系统磁盘检查进不去
  • 前端html中怎么让文字左移
  • cocos 2dx
  • Unity3D游戏开发标准教程
  • unity3D游戏开发
  • linux cz命令
  • js解析文本文件
  • ipc漏洞入侵的基本步骤
  • java编程基础知识入门
  • js tab切换
  • javascript函数的定义
  • 未开票收入如何申报增值税
  • 小规模纳税人租金收入增值税税率
  • 企业破产享有的债权可否提前到期
  • 税务被风控了多久才会解除
  • 财务报表的收入平稳
  • 如何查询税控盘口令和密码
  • 什么是集体约谈制
  • 山东税务自然人注册怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设