• 磁盘还有空间为什么不能写入数据以及彻底删除文件原理


    一个100M(block的总大小,个数和单个block大小有关)的磁盘分区,分别写入0.5k的文件,及写入1M的文件,分别可以写多少个。为什么?

    回答思路:

    a.inode是存放文件属性信息的,默认大小128byte,256byte。

    b.block是存放文件实际内容的,默认大小1k(boot)或4k(非系统分区默认给4k)

    c.一个文件至少要占用一个inode和block

    d.默认分区正常规情况下,inode数量是足够的。而block数量消耗的会更快。

    解答:

    1、默认分区常规情况下,对大文件来讲inode是足够的。而block数量消耗的会更快,block为4k的情况下,1M文件不会有磁盘浪费情况,所以文件数量大概为100MB/1MB=100个。

    2、对于小文件0.1k。inode的消耗快。默认分区的时候block数量是大于inode数量的。每个小文件都会占用一个inode和一个block。所以最终文件的数量:inode会先消耗完,文件的总量是inode的数量。

    ======================================================================================================

    如果向磁盘写入数据提示如下错误:No Space left on device,通过df -h查看磁盘空间,发现没满,什么原因导致的。什么情况下导致这个问题的发生。

    解答:

    可能是inode数量被消耗尽了。

    什么情况下会发生这种问题?

    =====================================================================================================

    linux删除原理:

    linux通过link数量控制文件删除的,只有当一个文件i_count和i_nlink都为零文件才被删除

    i_count当前文件被调用的数量(内存引用计数器,被进程调用时增加)

    i_nlink介质链接数量(磁盘引用计数器,创建硬链接时增加)

    注意:

    1、只有i_count和i_nlink同时为零文件才彻底被删除

    2、rm删除文件改变的是i_nlink数。

  • 相关阅读:
    Resource interpreted as Stylesheet but transferred with MIME type application/x-css
    scrapy 的settings.py中设置自定义属性
    scrapy下载图片到指定路径
    scrapy 自动下载图片
    Python处理json的错误 obj, end = self.scan_once(s, idx) ValueError: Expecting property name: line 2 column 17 (char 18)
    [ZJOI2012]数列 题解 [高精]
    [ZJOI2020]传统艺能 题解 [DP+矩阵+分类讨论]
    《终将成为你》简评
    GJGHFD的关键点 题解 [倍增+线段树+贪心]
    GJGHFD的排列 题解 [DP]
  • 原文地址:https://www.cnblogs.com/xusx/p/6076129.html
Copyright © 2020-2023  润新知