linux中的inode简单介绍

最近在linux上创建目录的时候出现mkdir:Cannot create directory***: No space left on device, 但是df的时候发现空间还有几百G(有同事是中文的机器出现Mkdir: 无法创建目录***,设备上没有空间)。不能继续创建目录或者touch文件的原因是Inode满了。

Inode的数量是有限制的,每个文件对应一个Inode, 那么如何查看inode的最大数量呢,

[work@*** ~]$ df -i

Filesystem            Inodes   IUsed   IFree IUse% Mounted on

/dev/cciss/c0d0p2    1154176  172807  981369   15% /

/dev/cciss/c0d0p3    88309760   51951 88257809    1% /home

可以看到Inode的总量,已经使用的Inode数量,和剩余数量。
如果watch -n 1 “df -i”一下, 然后去创建一个文件, 会发现已用的加一,未用的减一
简单了解下Inode在文件系统中的地位:

Linux会为每一个文件分配一个唯一的inode节点。在linux中,文件的文件名、文件属性、文件内容是分别存储的:文件名存放在目录项(即 dentry)中,文件属性存放在inode中,文件内容存放在block中。Linux在查找文件时,首先先读取dentry,dentry中存储的文 件名和inode编号的一个映射表, 根据这个表找到inode编号,再根据inode找到磁盘中的文件。
可以用ls -i查看文件对应的inode编号, 也可以直接stat一个文件, 会有很全的信息。

我的blog原创转过来的,欢迎多多交流。

时间: 2024-12-02 07:38:45

linux中的inode简单介绍的相关文章

Ubuntu中为Android简单介绍硬件抽象层(HAL)

Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节. 对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间.为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,是可以的,然而从商业的角度来看,把对硬件的支持逻辑都放在内核空间,可能会损害厂家的利益.我们知道,Linux内

linux的文件时间简单介绍

在Linux中,没有文件创建时间的概念.只有文件的访问时间.修改时间.状态改变时间. 也就是说不能知道文件的创建时间.但如果文件创建后就没有修改过,修改时间=创建时间: 如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间: 如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能. Access访问时间,读一次这个文件的内容,这个时间就会更新.比如对这个文件使用more命令. ls.stat命令都不会修改文件的访问时间. Modify修改时间,对文件内容修改一次,这个时间

Linux中实现一个简单的进度条【转】

转自:http://blog.csdn.net/yuehailin/article/details/53999288 说起进度条,其实大家常常见到,比如说你在下载视频或文件的时候,提示你当前下载进度的就是我们今天要说的进度条,进度条的模拟实现是挺简单的,但是要做的比较实用还是需要注意很多地方的,下来我就一步步的深入分析一下进度条得实现. 1.起初写下了这样的代码,解释以下几点:     1>首先我们需要将[ ]固定在左右两边,中间预留下空间,然后用"="进行填充.这里printf

Linux中的rsync简单应用及rsync+inotify实时应用

本文系统Centos6.0 Server:(Centos)  192.168.182.130 Client:(lv2)     192.168.182.129 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync. 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 无须特殊权限即可安装. 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的

Linux中LVM的综合性介绍及实现

1 LVM: 是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性. DM逻辑设备介绍 1.1 卷组(Voume  Group):多个物理卷组成的一个组,它是个组合,不能直接使用,要想使用组合后的空间需要创建逻辑卷:VG大小取决与物理卷,VG中可以划分多个逻辑卷(可以动态缩展) 1.2  逻辑卷:可以是卷组所有可用空间,是真正意义上的动态缩减设备,本身有两种边界,一个是物理边界,一个是逻辑边界:也可以说每个逻辑卷就是个文件系统,或者

linux中uptime命令用法介绍

uptime命令用法十分简单:直接输入uptime即可. 另外还有一个参数  -V ,是用来查询版本的. (注意是大写的字母v) [linux @ localhost]$ uptime –V procps version 3.2.7 [linux @ localhost]$ uptime 显示结果为: 10:19:04 up 257 days, 18:56,  12 users,  load average: 2.10, 2.10,2.09 显示内容说明: 10:19:04           

Linux中文件管理bash特性介绍

Linux上的文件管理命令 目录管理命令: mkdir:make directories mkdir [OPTION]- DIRECTORY- -p: 自动按需创建父目录: -v: verbose,显示详细过程: -m MODE:直接给定权限: 注意:路径基名方为命令的作用对象:基名之前的路径必须得存在: rmdir:remove empty directories rmdir [OPTION]- DIRECTORY- -p:删除某目录后,如果其父目录为空,则一并删除之: -v: 显示过程: 文

c# 中内部类的简单介绍

最近在看java一方面的书籍,看到一个很奇怪的问题,java类中还可以再定义一个类,这种结构非常特殊!后来才发现我知识浅薄了,原来C#中也有内部类,之前都一直没有注意过这个语法结构! 使用内部类有这样几个好处:  (1)抽象外部类的某一状态下的行为,隐藏实现,通过修改该内的访问修饰符,可以设置仅有外部类可以访问该类 (2)扩展了命名空间,可以将外部类的类名作为内部类的一个命名空间(这里只是相当于,但不是真正的命名空间) (3)内部类可以当作外部类的一个扩展,可以活的更好的封装.  上面的这些特点

linux中nl命令使用介绍

  nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能. 1.命令格式: nl [选项]... [文件]... 2.命令参数: -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值); -n :列出行号表示的方法,主要有三种: