linux系统文件系统重要知识介绍

[[email protected]:~]$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。

时间: 2024-08-29 16:51:53

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

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

(一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍客户端和服务端         网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端        在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序. 比如我们使用ftp程序从另外一        个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获取文件), 所以这个地方我们的ftp程序就是客户端程序. 服务端        和客户端相

Linux系统的相关知识、常用命令及centos 7网卡配置

(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 一.Linux系统的相关知识 1.Linux中根目录下所有文件夹的含义和用途(括号内为举例存放的文件) /  根目录 cd /  切换到根目录 / bin  存放可执行文件 /dev  存放设备文件  (网卡 CPU) /media  存放可移除设备文件   (U盘 CD/DVD  VMTools) /opt  存放第三方软件的默认位置 /tmp  存放临时文件  (日志文件) /root  root用户的家目录,主

Linux系统的相关知识、常用命令及拓展、centos 7网卡配置

一.Linux系统的相关知识 1.Linux中根目录下所有文件夹的含义和用途 目录 功能 /bin 存放可执行文件 /dev 存放设备文件 (如:网卡.CPU) /media 存放可移除设备文件 (如:U盘.CD/DVD.VMTools) /opt 存放第三方软件的默认位置 /tmp  存放临时文件 (如:日志文件) /root root用户的家目录,主文件夹 /home 普通用户的家目录,文件夹的命名是以用户的名字来命名的 /etc 存放配置文件 /usr 存放操作系统软件资源 /var 存放

linux系统-文件系统-文件系统构成

linux系统-文件系统-文件系统构成 一 常用目录 1 所有用户可以使用的目录:/usr/bin or /bin 2 只有root用户可以使用的目录:/usr/sbin or /sbin 3 宿主目录:/home 4 虚拟文件系统,存放进程信息:/proc 5 存放设备文件:/dev 6 存放系统运行时的共享lib:/lib 7 存放系统出错的检查结果:/lost+found 8 存放临时文件:/tmp 9 存放配置文件:/etc 10 包含经常发生变动的文件,邮件,日志,计划任务:/var

linux系统-文件系统-常用命令

linux系统-文件系统-常用命令 一 常用命令 1 查看分区情况:df [-h] 2 查看文件和目录的大小:du 3 查看文件的详细参数:stat 4 校验文件的md5的值:md5sum 5 检测修复文件系统:fsck,e2fsck(单用户模式卸载文件系统后执行) 二 添加硬盘的分区 1 划分分区:fdisk /dev/sdb 2 创建文件系统:mkfs.ext3 /dev/sdb1 3 尝试挂载:mount /dev/sdb1 /mnt/test 4 写入配置文件以便reboot自动挂载:/

linux系统-文件系统-磁盘配额

linux系统-文件系统-磁盘配额 一 简单定义 限定用户的磁盘使用的空间 二 开启过程 1 编辑/etc/fstab文件,在挂载属性上加标志usrquota or grpquota 即 /dev/sdb1 /home ext3 defaults usrquota 1 2  也可以临时设置:mount -o remount,usrquota /home 2 建立配额数据库: quotacheck -cvuga 会生成aquta.user or aquota.group两个文件 3 启动配额:qu

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

Windows与Linux系统下的库介绍 http://embeddedlinux.org.cn/emb-linux/entry-level/200903/12-553.html 库的定义 库文件是一些预先编译好的函数的集合,那些函数都是按照可再使用的原则编写的.它们通常由一组互相关联的用来完成某项常见工作的函数构成,从本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 无论在Windows平台还是Linux平台下都存在大量的库,但由于Windows和Linux的本质不同,因

Linux系统中cgroup功能介绍

1  Cgroups简介 1.1 What are cgroups ? Cgroups(控制组)是Linux内核的一个功能,用来限制.统计和分离一个进程组的资源(CPU.内存.磁盘输入输出等).换句话说就是,如果一个进程加入了某一个控制组,该控制组对Linux的系统资源都有严格的限制,进程在使用这些资源时,不能超过其最大的限制数,例如:memory资源,如果加入控制组的进程使用的memory大于其限制,可能会出现OOM错误(关于OOM错误可参看Linux内核OOM机制分析).cgroup本身提供

Linux操作系统文件系统基础知识详解(引用内容)

一 .Linux文件结构  文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上. 目录提供了管理文件的一个方便而有效的途径. Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型.                     /根目录                              ┃┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓┃   ┃      ┃