硬连接与软连接,inode与links
硬连接和软连接,第一感觉就像是window的快捷方式,实则不然 要说硬连接和软连接,那就必须了解inode和block以及分区了 EXT文件系统在创建分区的时候,就划分了两块区域,inode table和date blockINODE
inode – index node ,索引节点 每一个inode固定分配了128bytes的空间 一个文件和目录对应着一个inode 多个文件可以对应一个inode当访问一个文件的时候,发生了什么
首先会找到这个文件名对应的inode number,然后拿着inode number 找到inode,获取inode中的信息,inode中记录了文件的数据在哪些个block中储存,然后会根据着inode中的block顺序,依次取出数据INODE的内容
用sata命令取出文件名对应的inode信息![]()
- size :该文件的大小
- block : block的信息
- links :有多少个连接数,有多少个文件名连接上这个inode
- inode: inode number
- Access:mode 权限
- uid、gid
- atime、mtime、ctime
删除
删除一个文件的时候发生了什么? 当这个文件的links>1的时候,先links-1,不删除block中的数据,不删除inode 如果links=1,那就删除inode,而且删除block,这样的话,那文件真的是删除了 删除目录的软连接,对实际目录没有影响,删除实际目录那就是真的删除了硬连接
ln source destination 用上面的指令可以新建一个硬连接建一个硬连接发生了什么?
先新建一个文件名,文件名的inode number 指向源文件的inode number,然后把links+1,这就完成啦 所以硬连接文件的所有信息(权限、owner、size、time….)都和源文件一模一样访问硬连接的过程
找出硬连接的inode number,然后读取这个inode的信息和bolck位置,接着读取block中的数据注意
- 源文件和硬连接文件共用一个inode
- 建立硬连接,inode中的links会加一
- 所以删除硬连接对源文件不会有影响
软连接
ln -s source destination 用上面的指令可以建立一个软连接建一个软连接发生了什么?
先建立一个文件,这个过程就会新建一个inode,软连接的inode和源文件的inode不一样 然后这个软连接文件的文件名会指向源文件
可以看到,软连接的inode和源文件的inode不一样
软连接文件的大小为4bytes,这刚好就是源文件文件名(demo)的大小,一个字幕一个byte
访问一个软连接
访问一个软连接文件的时候,会根据文件名找到源文件,然后就跟直接访问源文件一样了注意
- 软连接的inode和源文件的inode不一样
- 软连接不会增加links,所以删除源文件(links=2)的时候,软连接就访问不了了
- 软连接文件的size=源文件的文件名的size
硬连接与软连接,inode与links的更多相关文章
- 初窥Linux 之 区分硬连接和软连接
一.Linux下的两种连接文件及创建方式 在Linux下面的连接文件有两种——软连接和硬连接,虽然都是连接文件,但两者却有很大的区别.一种是类似于Windows的快捷方式功能的文件(或目录),这种连接 ...
- Linux文件系统的硬连接和软连接
title: Linux文件系统的硬连接和软连接 date: 2018-02-06T20:26:25+08:00 tags: ["文件系统"] categories: [" ...
- linux中的硬连接和软连接
linux中的硬连接和软连接 linux中的硬连接和软连接 背景 连接 硬连接 软连接 example reference 背景 linux中的文件主要分3块, - 真正的数据 - 索引节点号(ino ...
- 【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)
在这节将要学习linux的连接档,在之前用"ls -l" 查看文件属性的命令时, 其中第二个属性是连接数.那么这个连接数是干什么的?这就要理解inode. 先说一下文件是怎么存储的 ...
- linux ------ 硬连接和软连接(软连接也叫符号连接)
在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号 (Inode Index).在Linux中,多个文件名指向同一索引节点是存在的.一般这种连接就是硬连接 ...
- linux 硬连接与软连接
1.linux中文件占用一个inode,inode指向文件内容.2.文件名可以认为是一个指针,指向inode.硬连接相当于指针的整体拷贝,并不是对文件内容的拷贝.两个文件名(两个指针)都能修改文件,删 ...
- Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)
在这节将要学习linux的连接档,在之前用"ls -l" 查看文件属性的命令时, 其中第二个属性是连接数.那么这个连接数是干什么的?这就要理解inode. 先说一下文件是怎么存储的 ...
- 智能车学习(二十)——浅谈C车硬连接与软连接
一.为何要追求软连接? 车子进行软连接之后,可以达到一种效果,就是在高速过程中,车子如果快要发生侧翻的时候,只会跳一个后轮,且只是轻微,而前轮如果进行的内倾,就可以让前轮最大面积接触,增大 ...
- Linux 硬连接和软连接的原理 (in使用)
引子 目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统).ext3.ext4.ZFS和Reiserfs等等. 不论哪一种文件系统,总是需要存储数据.硬盘的最小存储单位是扇 ...
随机推荐
- 关于OpenVPN的入门使用
关于OpenVPN的入门使用 1.1源代码编译安装的初步了解 1.2 安装OpenVPN 1.3 生成证书.服务器端证书.客户端证书 1.4 关于server.ovpm & client.ov ...
- 快速入门系列--NOSQL--07MongoDB
从我第一次听到Nosql这个概念到如今已经走过4个年头了,但仍然没有具体的去做过相应的实践.最近获得一段学习休息时间,购买了Nosql技术实践一书,正在慢慢的学习.在主流观点中,Nosql大体分为4类 ...
- 简单使用AutoMapper实现DTO转换
DTO(Data Transfer Object)数据传输对象,只是传输数据,完成与领域对象之间的转换,并不包含领域业务处理. 当领域模型设计人员只关注核心业务,满足于领域模型的精巧,而不关心具体实现 ...
- 【WP 8.1开发】文件选取器的使用方法
在以往的WP7x/8.0开发中,我们使用选择器可以浏览并打开图片.音频.视频等一些特殊文件,在8.0 SDK中的运行时API(从Win 8 app中移植)尽管提供了Windows.Storage.Pi ...
- 《BI那点儿事》数据挖掘的主要方法
一.回归分析目的:设法找出变量间的依存(数量)关系, 用函数关系式表达出来.所谓回归分析法,是在掌握大量观察数据的基础上,利用数理统计方法建立因变量与自变量之间的回归关系函数表达式(称回归方程式).回 ...
- AngularJs ui-router 路由的简单介绍
之前有写过一篇关于Angular自带的路由:ngRoute.今天来说说Angular的第三方路由:ui-router.那么有人就会问:为什么Angular有了自带的路由,我们还需要用ui-router ...
- PackageManager使用
参考:http://www.linuxidc.com/Linux/2012-02/53072.htm Android系统为我们提供了很多服务管理类,包括ActivityManager.PowerMan ...
- MySQL的学习--触发器
MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 创建触发器 在MySQL中,创建触发器语法如下 ...
- BrowserSync - 浏览器同步测试工具
背景: 之前在学gulp的时候,使用gulp-livereload来实时自动刷新页面省时开发,但一直比较难用,现在找到新的替代神器. 安装: // 使用淘宝镜像会快些 npm install -g ...
- idea快捷键总结
使用好快捷键会快很多,这里我慢慢添加我用习惯的快捷键.参考 1.alt+enter 这个几乎万能,有错误提示的时候将光标移动到错误处,然后alt+enter,会给出建议方案:写完一个表达式后,alt+ ...