位置: 编程技术 - 正文

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

编辑:rootadmin

推荐整理分享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、创建软链接一定要写绝对路径注意软链接的文件权限为 但是最终权限有源文件决定 l表示软链接文件。一旦源文件删除,软链接将不能使用。(这是和硬链接的主要区别)注:创建软链接时,源文件要始终使用绝对路径,否则,若创建的软链接和源文件不在同一个目录时,会找不到源文件。(硬链接不会有这种情况)限制少,更灵活,推荐使用。

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

补充: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结构就分身乏术了),而且这种继承还会影响到所有子目录下面的文件,这样 下来就会浪费很多系统空间了,特别是如果被硬连接的目录中存在大量文件和子目录的时候就更加明显了。这也许是第二个原因。

实例讲解Linux系统中硬链接与软链接的创建 首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文

详解Linux中将应用程序打包为Snap软件包格式的方法 在Linux分发应用不总是那么容易。有各种不同的包格式、基础系统、可用库,随着发行版的一次次发布,所有的这些都让人头疼。然而,现在我们有了更

Linux的CLI命令行界面系统操作基础上手指南 常用快捷键:Ctrl+d键盘输入结束或退出终端Ctrl+s暂定当前程序,暂停后按下任意键恢复运行Ctrl+z将当前程序放到后台运行,恢复到前台为命令fgCtrl+a将光

标签: linux的文件和目录的区别

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

上一篇:Linux中tar命令操作文件的基本使用教程(linux的tar命令用法)

下一篇:实例讲解Linux系统中硬链接与软链接的创建(linux系统简介)

  • 哪些情况下可以无偿提供法律援助
  • 企业清算分配要交所得税吗
  • 所得税清算扣除比例
  • 印花税税源明细表怎么填
  • 借款合同印花税怎么申报
  • 红冲上个月发票
  • 出售无形资产取得的收益属于收入吗
  • 企业关于发票的管理及要求
  • 坏账准备计入营业收入如何报年报
  • 购房补贴退契税3个月没到账
  • 软件企业享受税收优惠
  • 销售金额计算抵增值税吗
  • 车辆购置税免税申报如何操作
  • 收款收据是否可以做账
  • 租赁算投资吗
  • 网银费用及回单箱费用账务处理?
  • 商贸企业销售商品结转成本是手工算吗
  • 个人购买车辆的发票可以贷款吗
  • 开办费转入管理费用分录
  • 进项税额转出会影响利润吗
  • 残疾人保障金缴纳比例是月1.5%
  • 营改增转让土地税收政策
  • 社保基数调整补收是什么意思
  • 公车保险费可以抵扣吗
  • 财税2009年59号解读
  • 在建期间费用怎么处理?
  • 个人转让怎么写
  • 补发住房补贴征求意见
  • 1697506708
  • 预付款后开发票时的摘要和分录怎么做?
  • 华为手机隐藏应用
  • shpc32.exe - shpc32是什么进程 有什么用
  • win11绿屏是什么原因
  • 无形资产的确认与计量
  • 冈山平原
  • 利润表中的收入是按什么确认的
  • 企业年金在缴费阶段涉及的税种包括
  • 投资企业撤回或减少投资企业所得税
  • 国内来料加工会亏本吗
  • 微信小程序上面有个音乐怎么关闭
  • ps一个页面怎么选中画板
  • 增值税进项和销项怎么抵扣
  • 增值税专用发票抵扣期限
  • 资产支出加权平均数例题
  • 年终奖怎么计算个税
  • 运输发票抵扣进项税额
  • c#调用excel
  • 单位房屋出租收入应交哪些税
  • 增值税普通发票和专用发票有什么区别
  • 厂家给经销商的补贴怎么开票
  • 股东向公司借款多久必须归还
  • 退回的增值税税费怎么做会计记录
  • 退货回去需要把原包装保留吗
  • 以物易物有什么好处
  • 商业企业的营业成本包括
  • 筹建期业务招待费的扣除标准
  • 建账的要点及应注意的问题
  • 阿拉伯数字转大写函数
  • ubuntu系统如何解压文件
  • unix系统中目录采用什么结构
  • win10 64位开机卡在登录界面的解决办法
  • windows key查询
  • 英特尔双核cpu
  • Windows Server 2008网上邻居打开慢的解决
  • solaris挂载nfs
  • win10控制面板中没有防火墙
  • win10无法启动安全服务中心怎么办
  • 虚拟机centos7无法启动
  • linux ii
  • 新闻客户端有哪些?
  • 置顶句子怎么弄
  • js时间比较大小的方法
  • android camera preview
  • django pypi
  • js的settimeout方法
  • python微信公众号开发教程
  • js访问thymeleaf值
  • 党员e先锋中的支部云课堂在哪
  • 长沙税务查询电话
  • 电子税务局申报流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设