LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: llosa

Fedora8暴强的现象!

[复制链接]
发表于 2007-12-4 11:49:51 | 显示全部楼层
Post by zt2620zt;1791282
linux 跟win 有点不太一样,win下文件被打开就被锁住了,无法删除移动,linux下好像全copy到内存中。
甚至可以 rm -Rf /整个系统都被删除掉的。


agree,  copy到内存...
回复 支持 反对

使用道具 举报

发表于 2007-12-4 12:21:35 | 显示全部楼层
这个现象很烂,rm -rf / 的错误就是因为这个才那么容易犯。
回复 支持 反对

使用道具 举报

发表于 2007-12-4 12:35:02 | 显示全部楼层
不仅是linux,unix类系统都这样吧。好像copy到内存只是节点信息,记得以前看到过一篇文章,说文件正在被操作时即使被删除了,文件的信息仍然还在硬盘上,当所有的操作都结束后,文件才真正被删掉。
回复 支持 反对

使用道具 举报

发表于 2007-12-4 13:52:47 | 显示全部楼层
楼上讲得有道理,copy到内存的仅仅是该文件分配到硬盘的节点信息,虽然文件分配表中该文件已经被删除,但是数据仍然没有被抹去,还可以读取,应该跟被删除文件可以恢复视同一个道理吧。
回复 支持 反对

使用道具 举报

发表于 2007-12-4 15:19:23 | 显示全部楼层
那个自动播放是可以禁止的。不过挺有意思的。
有时候很烦人。
回复 支持 反对

使用道具 举报

发表于 2007-12-4 23:40:42 | 显示全部楼层
linux会把打开的文件复制到内存里面的。
你可以试试打开一个文件,然后删除它。此时程序依然还在运行...
回复 支持 反对

使用道具 举报

发表于 2007-12-4 23:42:05 | 显示全部楼层
linux会把打开的文件复制到内存里面的。
你可以试试打开一个文件,然后删除它。此时程序依然还在运行...
回复 支持 反对

使用道具 举报

发表于 2007-12-5 17:40:13 | 显示全部楼层
unix类文件系统的实现是使用引用计数来处理的,如果一个文件被打开,他的引用计数会加1,关闭后会减一。只有引用计数为0的时候,文件系统才会真正的将这个文件从磁盘删除,释放该文件占用的磁盘空间。
《UNIX环境高级编程》4.14。
回复 支持 反对

使用道具 举报

发表于 2007-12-5 22:42:05 | 显示全部楼层
窃以为18楼正解!“文件引用计数”才是这个问题的关键。
回复 支持 反对

使用道具 举报

发表于 2007-12-6 01:01:14 | 显示全部楼层
同上
正解
同上
正解
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表