linux下文件删除的原理精华讲解(考试题答案系列)
说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息。
http://oldboy.blog.51cto.com/2561410/791245
5.描述linux下文件删除的原理(记时3分钟)<?xml:namespace prefix="o">
?xml:namespace>
Linux文件删除原理:
Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说,每个文件都有2个link计数器:i_count 和 i_nlink。
i_count的意义是当前文件使用者(或被调用)的数量,i_nlink 的意义是介质连接的数量(硬链接的数量);可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器。
当一个文件被某一个进程引用时,对应i_count数就会增加;当创建文件的硬链接的时候,对应i_nlink数就会增加。
对于删除命令rm而言,实际就是减少磁盘引用计数i_nlink。这里就会有一个问题,如果一个文件正在被某个进程调用,而用户却执行rm操作把文件删除了,那么会出现什么结果呢?当用户执行rm操作删除文件后,再执行ls或者其他文件管理命令,无法再找到这个文件了,但是调用这个删除的文件的进程却在继续正常执行,依然能够从文件中正确的读取及写入内容。这又是为什么呢?
这是因为rm操作只是将文件的i_nlink减少了,如果没其它的链接i_nlink就为0了;但由于该文件依然被进程引用,因此,此时文件对应的i_count并不为0,所以即使执行rm操作,但系统并没有真正删除这个文件,当只有i_nlink及i_count都为0的时候,这个文件才会真正被删除。也就是说,还需要解除该进程的对该文件的调用才行。
以上讲的i_nlink及i_count是文件删除的真实条件,但是当文件没有被调用时,执行了rm操作删除文件后是否还可以找回被删的文件呢?
前面说了,rm操作只是将文件的i_nlink减少了,或者说置0了,实际就是将文件名到inode的链接删除了,此时,并没有删除文件的实体即(block数据块),此时,如果及时停止机器工作,数据是可以找回的,如果此时继续写入数据,那么当新数据就可能会被分配到被删除的数据的block数据块,此时,文件就会被真正的回收了,那时就是神仙也没有办法了。
文件系统删除及inode相关案例:
文件删除案例1:
Web服务器磁盘满故障深入解析
http://oldboy.blog.51cto.com/2561410/612351
inode满案例2:
因inode节点导致执行passwd命令报错处理记录
http://blog.sina.com.cn/s/blog_506ed9e6010106kj.html
简单总结了一下 供大家查参考。
老男孩评:这是老男孩的学生的实战问题解决分享经验,很宝贵!
从上面博文老男孩老师总结大家可学习的知识点:
1) inode知识
2) crontab任务写法
3)/var/spool/clientmqueue的功能和潜在问题及解决方案。
4)strace跟踪命令使用技巧
提示:不过这些问题完全可以事先避免的。老男孩linux培训的课程会详细讲这里!
更详细的描述及案例见:
老男孩linux运维实战培训-Linux系统文件删除原理详细介绍
老男孩linux运维实战培训-Linux文件系统实战精华讲解
老男孩linux运维实战培训-Linux磁盘与文件系统部分精华讲解
老男孩linux运维实战培训-Linux系统文件删除恢复实战
提示:以上课上考试为口头表达题,课后请当成问题总结笔记。每答对一题加5分(课上抢答者才有分)。
解答:见课堂老男孩老师的讲解或观看相关视频讲解及教案
老男孩linux运维实战培训联系方式
咨询:QQ: 70271111 357851641 31333741
电话:18911718229
网站地址:http://www.etiantian.org http://oldboy.cc
blog:http://oldboy.blog.51cto.com
======================================================
欢迎广到运维兄弟一起交流linux/unix网站运维技术!
网站运维交流群:180056518 114580181 45039636
老男孩 QQ:31333741
mail:31333741@qq.com
linux下文件删除的原理精华讲解(考试题答案系列)相关推荐
- linux下文件删除不了
在linux系统下当删除文件时提示无法操作,有可能是文件被使用了chattr改变了属性.可以使用lsattr命令来查看 [root@linux236 root]# lsattr ---i------- ...
- 1、取得/etiantian文件的权限对应的数字(考试题答案系列)
说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://oldboy.blog.51cto.com/2561410 ...
- 关于Linux下文件删除文件时提示No such file or directory的解决办法
转自:http://blog.51cto.com/13921547/2172901 本人了Linux小白一枚,遇到一点问题想请老大们指点一下 今天练习tar命令压缩文件时想给给文件名内增加一个当前年月 ...
- linux恢复rm命令,linux下rm删除与恢复
最近一个新客户由于长期没做备份,再加上客户与之前的技术合作伙伴之间的一些不愉快.导致客户的整体linux系统被全部用rm删除.我们对这种技术人员的职业素养.道德品质和法律素养表示唏嘘,客户已经在第一时 ...
- 【 Linux】文件删除原理
文章目录 Linux文件删除原理 文件的索引节点和链接 文件删除的过程 文件删除后是否能恢复 Linux文件删除原理 Linux是一个强大的操作系统,它提供了许多命令和工具来管理文件和目录.其中,最常 ...
- linux 批量选中文本删除,教程 | 【七牛云】Qshell Linux下批量删除文件教程
原标题:教程 | [七牛云]Qshell Linux下批量删除文件教程 项目内容 本文将教您使用七牛云提供的Qshell工具在linux下安装并且使用批量查询和批量删除命令行进行远程删除文件. 项目教 ...
- Linux下文件重命名、创建、删除、修改及保存文件
Linux下文件重命名.创建.删除.修改及保存文件 一.重命名(更名) linux 给文件改名的命令是mv命令 mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中.该命令等同于DOS系统下的 ...
- linux剪切到另一个文件夹,linux下文件夹操作常见命令如创建、复制、剪切、重命名、清空和删除命令 实例说明...
linux下文件夹操作常见命令如创建.复制.剪切.重命名.清空和删除命令 实例说明,在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinoz ...
- linux清理oracle磁盘空间,Linux / Unix 下文件删除、句柄 与空间释放问题
Linux / Unix 下文件删除.句柄 与空间释放问题 临时表空间,并切换了数据库设置:[oracle@corde tdb]$ ls -sort total 35101212 51264 -rw- ...
最新文章
- 记一次 react 15.3.1 老项目升级到 react 16.7.0 之路
- 大型网站架构模式之三
- linux区分用户的权限级别可用,如何限制Linux内核级别的特权用户访问?
- dlp型3d打印机_【论文新萃】光聚合成型3D打印技术复制印章研究
- stream 多个字段分组_Python Pandas对Excel数据的分组聚合和数据透视
- 1年sql数据库经验,却说数据模型一文不值?你还没懂数据仓库
- HBase常用命令(超全超详细)
- 非常好用的离线地图APP
- 【考研数学】函数图像(三角函数、幂函数、指数函数等)
- 权重分析——CRITIC权重法
- 2015计算机一级试题及答案,2015年全国计算机等级考试一级试题及答案【精编直接打印版】.doc...
- keil 5(C51)下载安装
- matlab regstat函数,MATLAB如何使用binostat函数计算二项分布的期望和方差
- Android监听蓝牙与设备连接状态、关闭和打开状态
- GBASE 8s UDR内存管理_04_mi_zalloc
- Mysql数据库用户密码暴力破解
- 模型无关的全局特征依赖分析方法 I ——部分依赖曲线分析与条件依赖曲线分析
- 小程序高级电商前端第1周走进Web全栈工程师一----小程序注册、开发工具推荐、《风袖》首页布局详尽分析、Webstorm开发小程序必配配置、mock数据...
- 【综合算法】不考虑误差的TDOA定位
- RGB与YCbCr颜色空间的转换
热门文章
- windows7 php 无法启动,window_Win7系统无法启动错误提示代码为File:\BOOT\BCD, 很多人Win7系统用户都有遇 - phpStudy...
- digest 用户认证 response生成算法
- Go Web编程--解析JSON请求和生成JSON响应
- saslauthd mysql_open***使用MySQL进行认证
- Redis:主从配置
- Node.js文件的同步异步事件循环
- 如何安装dubbo的管理控制台
- Redis的内存回收机制和数据过期淘汰策略
- rocketMq 顺序消费
- 【332】Machine Learning