linux下文件删除的原理精华讲解考试题答案系列

说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息。
http://oldboy.blog.51cto.com/2561410/791245

5.描述linux下文件删除的原理(记时3分钟)<?xml:namespace prefix="o">

?xml:namespace>

Linux文件删除原理:

Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说,每个文件都有2link计数器: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_nlinki_count都为0的时候,这个文件才会真正被删除。也就是说,还需要解除该进程的对该文件的调用才行。

以上讲的i_nlinki_count是文件删除的真实条件,但是当文件没有被调用时,执行了rm操作删除文件后是否还可以找回被删的文件呢?

前面说了,rm操作只是将文件的i_nlink减少了,或者说置0了,实际就是将文件名到inode的链接删除了,此时,并没有删除文件的实体即(block数据块),此时,如果及时停止机器工作,数据是可以找回的,如果此时继续写入数据,那么当新数据就可能会被分配到被删除的数据的block数据块,此时,文件就会被真正的回收了,那时就是神仙也没有办法了。

老男孩linux运维实战培训-Linux系统文件删除原理详细介绍

老男孩linux运维实战培训-Linux文件系统实战精华讲解
老男孩linux运维实战培训-Linux磁盘与文件系统部分精华讲解
老男孩linux运维实战培训-Linux系统文件删除恢复实战

提示:以上课上考试为口头表达题,课后请当成问题总结笔记。每答对一题加5分(课上抢答者才有分)。

解答:见课堂老男孩老师的讲解或观看相关视频讲解及教案

老男孩linux运维实战培训联系方式

咨询:QQ: 70271111 357851641 31333741

电话:18911718229

网站地址:http://www.etiantian.orghttp://oldboy.cc

blog:http://oldboy.blog.51cto.com
======================================================
欢迎广到运维兄弟一起交流linux/unix网站运维技术!

网站运维交流群:180056518 114580181 45039636

老男孩 QQ:31333741

mail:31333741@qq.com


 linux下文件删除的原理精华讲解考试题答案系列

更多相关文章
  • 描述linux下文件删除的原理
    说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://oldboy.blog.51cto.com/2561410/7912455.描述linux下文件删除的原理(记时3分钟)<?xml:namespace ...
  • A "hard link" is another name for an existing file; 一个硬链接是一个已存在的文件的另一个名字:the link and the original are indistinguishable.这个链接和源文件很难发现有不同的地方( ...
  • 说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://oldboy.blog.51cto.com/2561410/791245答题的思维比做题本身更重要,就是老男孩如何想到的解决问题的思路.1.如何取得/etia ...
  • linux开机到登陆的启动过程描述(考试题答案系列)
    说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://oldboy.blog.51cto.com/2561410/791245如果缩略了请获得大图.更详细的说明(一般来说没必要了,面试会上面就够了)请参考:老男孩 ...
  • linux下文件的复制.移动与删除命令为:cp,mv,rm一.文件复制命令cp    命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)              cp [option] source1 source2 source3 ...  di ...
  • Linux下文件搜索、处理实例心得
    Linux下文件搜索处理实例心得一.locate:    locate [选项] 关键词    在文件数据库中查询匹配搜索条件的文件.选项:-i:搜索时是否区分大小写,默认区分:加上这个选项就不区分大小写:-n X:只显示前X个匹配项目: 备注:*文件数据库是有管理员使用updatedb来生成或者更 ...
  • 在Linux系统下执行 $ ls -l 会得到类似下面的结果:total 0-rw-rw-r--  1 bjxh bjxh 0 Aug 18 14:21 fileA红色部分表示的就是文件fileA的权限,文件或目录的权限部分共有十位组成:第一位表示的是文件的类型:第一位是 - 表示该文件是普通文件: ...
  • linux下文件的读写操作(openreadwrite)转 http://www.2cto.com/os/201403/285837.html open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #incl ...
一周排行