zoukankan      html  css  js  c++  java
  • linux文件删除原理

    一、静态文件:没有进程或程序正在访问的文件

    删除原理:所有硬链接数为0.

    二、动态文件:有进程或程序正在访问的文件

    删除原理:1.所有硬链接数为0.(i_link=0) 2.所有进程调用都要停止取消。(i_count=0)

    当我们执行rm命令时,删除的只是文件名,文件的inode和block还是存在的。

    以下几种情况,会清理剩余的内容:

    1.系统定时清理没有文件名的inode和block。

    2.磁盘检查会清理。

    3.增加新文件时,会优先占用没有文件名的inode和block。

    当误删除时,立即关机,避免文件数据被覆盖或清除,再用数据恢复工具进行恢复。

    作为运维人员,一定要避免上述情况发生,所以要多做备份,操作前备份,异服务器、异地备份。

    ps:

    破坏系统数据,最有效的方法,不是删除,而是覆盖。

    实战案例:

    当我们使用某个服务时,可能会产生大量日志文件,如果直接删除当天的日志文件,实际上删除的只是文件名,因为进程还在调用它的inode,就会导致磁盘空间被占用,而我们却找不到文件,解决办法:重启服务,相当于终端进程和文件inode的联系。

    预防:可以用脚本定时清理前几天的日志文件。

  • 相关阅读:
    C++输入问题探究
    剑指offer自学系列(一)
    一道算法题加深我对C++中map函数的理解
    数据结构和算法自学之排序算法(一)
    pyqt5_01_流程走通
    最新谷歌驱动对照表
    移动端测试
    selenium封装
    request封装
    MD5自定义加密
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/12866309.html
Copyright © 2011-2022 走看看