美文网首页想法
Linux系统创建文件失败的原因

Linux系统创建文件失败的原因

作者: ElephantKing | 来源:发表于2019-12-11 16:48 被阅读0次

创建文件失败

Linux系统中创建文件失败是比较常见的,当然这里的创建文件不单单指用户手动创建文件,更多的情况是一些网络服务,日志系统等需要持续写文件,创建文件,真正用户创建文件失败的情况比较少见。接下来我们分析一些,为什么会创建失败。

几个关键的名词

  • superblock:用比较通俗的话来解释就是:superblock手底下管着一片磁盘区域,凡是对文件的操作(创建,访问,删除)都要经过superblock,充当磁盘管理大管家的角色。
  • inode:随磁盘格式化而预先划分的小的磁盘区域,一般每个inode为128字节,用于记录文件的权限,属性,占用block等信息。且每个文件对应一个inodeinode的申请,归还由superblock管理,inode的数量是有限的。
  • block:文件内容真正存放的地方,块的大小也是随磁盘格式化而划分,根据系统不一样,每个块可以是1K,2K,4K大小,一个文件的内容必须占用整数块block,用完剩下的空间,就浪费了。比如:每个块为4K,假设有一个文件大小为1K,那么也需要分配一个块给他,这块剩余的3K就不能被其他文件使用了。叫做磁盘碎片。另一个情况是一个文件是10K,那么他需要占用3个块,实际使用率为10/12,并且这三个块的编号都是记录在这个文件对应的inode里。
  • 挂载点:在Linux系统中,每个物理磁盘都是挂载在某个目录下,在这个目录下创建文件,就等于在这块物理磁盘上写东西。
  • 通俗点说:一块物理磁盘首先是挂载在文件树的某个目录上,物理磁盘被划分为多个区域,每个区域有一个管理该区域的superblock,该区域随磁盘格式化预先划分为一定数量并且进行编号的inodeblock,一个inode对应一个文件,创建新文件时,需要去superblock那先申请一个inode号,再根据文件大小,申请若干个block,在inode中记录文件的属性,权限,占用的block编号,最后把文件的真正内容写入分配好的block中。

为什么创建失败

文件创建失败的原因:

  1. 当前目录对应的磁盘空间不足
    根据上面的描述,在某个目录下创建文件时,实际上是在这个目录对应的磁盘上操作,如果这个磁盘已经满了,自然就创建失败,更具体的描述是:创建文件时,申请block时失败。可以用下面的命令查看:
# 查看当前目录所在磁盘的空间使用情况
df -h ./
  1. inode不足
    这是创建文件失败的另一个原因。由于一个文件对应一个inode,当磁盘里的小文件过多时,就会出现block数量还很多,但是inode分配完了,也就是空间还很多,但是也无法创建,那是因为创建文件时,申请inode号失败。可以用下面的命令确认是否是innode分配完了
# 查看当前目录所在磁盘的inode的使用情况
df -i ./

相关文章

  • Linux系统创建文件失败的原因

    创建文件失败 Linux系统中创建文件失败是比较常见的,当然这里的创建文件不单单指用户手动创建文件,更多的情况是一...

  • Linux创建文件时,出现失败的原因是什么?

    在Linux系统中,创建文件是非常普遍的操作,但有时很多朋友在创建文件时会出现失败的情况。那么Linux中创建文件...

  • 11.1

    今天继续学习了linux的系统里代码。在linux的系统下编辑文件,后来又学习了如何创建文件和压缩文件还有文件的解...

  • Linux文件操作实用笔记

    Linux系统遵循一切皆是操作文件的规则。所以想用好Linux系统,就必须要掌握文件相关的操作。 1、创建文件命令...

  • linux-vim-config

    linux系统下在当前家目录下创建​.vimrc文件

  • hadoop mapreduce 词频统计

    在linux系统下桌面创建一个WordCount1.java文件,并上传到hdfs文件系统 创建hdfs源文件夹路...

  • 20170903 系统启动与内核管理(二)

    自制linux系统/proc目录/sys目录内核编译 一、自制linux系统 分区并创建文件系统fdisk /de...

  • 笔记1

    Linux 文件基础在Linux系统中,所有打开的文件都对应一个文件操作符。 操作文件创建create(const...

  • minio 上传下载文件失败 (The difference b

    minio上传下载文件失败: 错误消息: 原因:linux服务器时区的问题。 解决方案: 一、查看系统时间、硬件时...

  • Linux命令_文件目录管理

    Linux中一切皆是文件,文件有各种操作:创建、修改、复制、剪切、重命名、删除等。Linux系统中常用的与文件相关...

网友评论

    本文标题:Linux系统创建文件失败的原因

    本文链接:https://www.haomeiwen.com/subject/rjtagctx.html