[root@Asterplus:~]$ls -lhi
total 48K
3684713 -rw------- 1 root root 5.9K Jul 1 00:23 anaconda-ks.cfg
3684706 -rw-r--r-- 1 root root 20K Jul 1 00:23 install.log
3684707 -rw-r--r-- 1 root root 2.1K Jul 1 00:22 install.log.syslog
3684717 -rw-r--r-- 1 root root 20 Jul 11 13:29 oldboy.txt

第一列:inode索引节点编号:

第二列:文件类型及权限(共10个字符,一个字符为类型,后9个字符为文件权限):

第三列:硬连接个数:

第四列:文件或目录所属的用户(属组)

第五列:文件或目录所属的组:

第六列:文件或目录的大小:

第七、八、九列:文件或目录修改时间:

第十列:实际的文件名或目录名:

其中第二列:文件类型及权限:后9位,前三位是属主权限位,中间三位是属组权限位,后三位是其他权限位。

df -h  以人类可读的方式查看磁盘挂载信息,

-i  查看挂载的磁盘INODE使用情况

有关inode的小结:

1)磁盘分区格式化为ext4 文件系统后会生成一定数量的inode和block。、

2)inode是索引节点,作用是存放文件的属性信息以及作为文件的索引(指向文件的实体)

3)ext3/ext4文件系统的block存放的是文件的实际内容。

4)inode是一块存储空间,C6非启动分区inode默认大小256字节,C5是128字节。

5)inode是一串数字,不同的文件对应的inode(一串数字)在文件系统里是唯一的。

6)inode相同的文件,互为硬连接文件。

7)一个文件被创建后至少要占用一个inode和一个block。

8)如果一个文件很大,可能占有多个block,如果文件很小,至少占一个,并且剩余空间浪费了。

9)inode、block大小和总量查看:dumpe2fs  /dev/sda3|egrep -i "block size|inode size"

dumpe2fs  /dev/sda3|egrep -i "block count|inode count"

10)查看inode的总量和使用量命令df -i

11)如何生成及指定inode大小mkfs.ext4 -b 2048 -l 256 /dev/sdb

block是用来储存实际数据用的,列如:照片,视频等普通文件数据。

而inode就是用来储存这些数据属性信息的(也就是ls -l的结果),inode包含文件的属性信息包括文件大小、属主、归属的用户组,读写权限、文件类型、修改时间、还包含指向文件实体的指针功能(inode节点--block的对应关系)等,但是,inode唯独不包含文件名。

inode除了记录文件属性的信息之外,还会为每个文件进行信息索引。

实际问题:

如果向磁盘写入数据提示如下错误:No space left on device,通过 df -h 查看磁盘空间,发现没满,请问可能原因是什么?

解答:可能是inode数量被耗尽了。

a.df -i 查看是否耗尽inode数量

b.企业工作中邮件临时队列/var/spool/clientmquene 这里很容易被大量小文件占满导致No space left on device的错误。clientmquene目录只有安装了sendmail服务,才会有。

cenos5.8默认就会安装sendmail,centos6.6默认没有sendmail。

block有关知识:

1)磁盘读取数据是按block为单位读取的。

2)一个文件可能占有多个block,每读取一个block就会消耗一次磁盘I/O。

3)如果要提升磁盘IO性能,那么就要尽可能

4)一个block只能存放一个文件的内容,无论内大小。如果block 4K,那存放1K的文件,剩余3K就浪费了。

5)block并非越大越好,block太大对于小文件存放就会浪费磁盘空间,列如:1000K的文件,block为4K,占用250个block,block为1K,占1000个block,访问效率谁最高?消耗IO分别为250次和1000次。

6)大文件(大于16K)一般设置block大一点,小文件(小于1K)一般设置block小一点。

7)block太大列如4K,文件都是0.1K的,大量浪费磁盘空间。

8)block太小列如1K,文件都是1000K,消耗磁盘IO。

9)block的设置也是格式化分区的时候,mkfs.ext4 -b 2048 -l 256 /dev/sdb

10)文件较大时,block设置大一些会提升磁盘访问效率。

11)ext3/ext4 文件一般设置为4K。

企业生产有关Inode与Block面试题案列

1、一个100的磁盘分区,分别写入1K的文件或写入1M的文件,分别可以写多少?

block为4K的情况,1M的文件不会有磁盘浪费情况,所以文件数量大概为100/1=100个

对于小于0.1k的,inode会消耗的更快。默认分区的时候block数量是大于inode数量的。

每个小文件都会占用一个inode和block。所以最终文件的数量:就是inode数量

2、如果向磁盘写入数据提示如下错误:No space left on device,通过df -h 查看磁盘空间,发现没满,请问可能原因是什么?

解答:可能是inode被耗尽了。

a.df -i 查看是否耗尽了inode。

b.企业工作中邮件临时队列/var/spool/clientquene这里很容易被大量小文件占满导致No space left on device 的错误。clientmquene目录只有安装了sendmail服务,才会有,是sendmail邮件的临时队列。centos5.8默认就会装sendmail,centos6.6默认没有sendmail。

linux系统文件系统重要知识介绍的更多相关文章

  1. [转] - Linux网络编程 -- 网络知识介绍

    (一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍客户端和服务端         网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户 ...

  2. 【转帖】Windows与Linux系统下的库介绍

    Windows与Linux系统下的库介绍 http://embeddedlinux.org.cn/emb-linux/entry-level/200903/12-553.html 库的定义 库文件是一 ...

  3. Linux系统中cgroup功能介绍

    1  Cgroups简介 1.1 What are cgroups ? Cgroups(控制组)是Linux内核的一个功能,用来限制.统计和分离一个进程组的资源(CPU.内存.磁盘输入输出等).换句话 ...

  4. Linux系统文件系统及文件基础篇

    学习Linux,重难点在于掌握不同类别的文件系统及其作用.通过对Linux系统的安装,我们首先来了解下Linux系统里各个目录文件夹下的大致功能:主要的目录树的有/./root./home./usr. ...

  5. linux系统方面的知识

      1.什么是Linux? 组成部分:硬件.内核.lib库.应用程序   硬件:工作中真正工作的组成部分是硬件   linux内核(kernel):管理硬件 Linux团队管理的版本   lib库:封 ...

  6. Linux操作系统文件系统基础知识详解

    一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上. 目录提供了管理文件的一个方便而有效的途径. Linux使用标准的目录结构,在安装的时候,安装 ...

  7. 导览Linux系统文件系统类型

    虽然对于普通用户来说可能并不明显,但在过去十年左右的时间里,Linux 文件系统已经发生了显著的变化,这使它们能够更好对抗损坏和性能问题. 如今大多数 Linux 系统使用名为 ext4 的文件系统. ...

  8. 分布式文件系统(HDFS)与 linux系统文件系统 对比

    初次接触分布式文件系统,有很多迷惑.通过参考网络文章,这里进行对比一下Hadoop 分布式文件系统(HDFS)与 传统文件系统之间的关系:   Linux 文件系统 分布式文件系统 块 块对应物理磁盘 ...

  9. linux系统shell基础知识入门

    什么是shell shell就是我们常说的命令行程序,它是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入要执行的命令.在Linux中安装多个shell是可行的,一般系统有默认的sh ...

随机推荐

  1. Phone文件备份

    一 把照片导入到本地 连接手机和PC,插上数据线后PC上会自动检测并弹出对话框,提示导入 可以指定导入的目录.确定之后点击导入即可开始执行导入操作. 二 把语音备忘录导入到本地 需要借助iTunes联 ...

  2. 读取Pdm文件内容(含源码)

    Pdm文件,就是PowerDesigner软件生成的文件,用来设计数据库表结构非常适合.其实,它的文件存储格式就是Xml,网上有很多代码,可以读取pdm文件内容.代码可以使用,但一般只能读取简单的pd ...

  3. 【转】磁盘I/O那些事

    背景 计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的CPU主频早已超过3GHz,内存也进入了普及DDR4的时代.然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时 ...

  4. ios音乐播放器demo

    闲暇时间,写了一个音乐播放器. 个人认为,基于Demo 的学习是最有效果的. 想学习的同学,欢迎下载.知识,只有在传播的时候才有价值. 不懂之处,欢迎留言询问,将热情解答. 运行图 项目结构图 Git ...

  5. ZOJ - 3261 逆向并查集

    思路:很巧妙的解法.如果按照常规一边读入,一边合并并查集,删边实在没办法做. 首先读入所有的操作,把所有不会被删除的边加入并查集,然后从最后一个操作开始逆向操作,当遇到删边操作,就直接把这条边加入并查 ...

  6. HDU - 3001 Travelling 状压dp + 三进制 [kuangbin带你飞]专题二

    终于刷完搜索专题了. 题意:给定n个城市,每个城市参观不能超过两次,两个城市之间有道路通过需要花费X,求通过能所有城市的最小花费. 思路:每个城市有三个状态0,1,2,可用三进制存储所有城市的访问状态 ...

  7. 自动化测试(—)Web自动化测试理解

          最近几天,由于工作需要接触Web自动化测试,所以我从网上找的资料,学习了解,然后自己总结汇总的随笔,如文章中有不足的地方,请大家多多指教:或者文章内容与他人相似,望见谅. 手工测试跟自动化 ...

  8. 实战DeviceIoControl 之一:通过API访问设备驱动程序

    Q 在NT/2000/XP中,我想用VC编写应用程序访问硬件设备,如获取磁盘参数.读写绝对扇区数据.测试光驱实际速度等,该从哪里入手呢? A 在NT/2000/XP中,应用程序可以通过API函数Dev ...

  9. Java中的i++和i--

    /** * @Title:DataCate.java * @Package:com.you.dao * @Description:数据类型转换 * @Author: 游海东 * @date: 2014 ...

  10. Java Web项目(Extjs)报错六

    1.Java Web项目(Extjs)报错六 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...