inode概念总结

一、inode

 inode是类UNIX系统上文件系统中的一种数据结构。数据在磁盘上存储是按扇区存放的,几个扇区组成一个块(block),操作系统为高效读取磁盘上的数据,按block来读取。而数据存放的block的地址就包含在inode里。

二、inode的存储信息

 每个inode保存一个文件系统对象(目录,文件,管道,软连接,socket,设备文件等)的元数据信息,如下

  • 字节为单位表示的文件大小。

  • 设备ID,标识容纳该文件的设备。

  • 文件所有者的User ID。

  • 文件的Group ID

  • 文件的模式(mode),确定了文件的类型,以及它的所有者、它的group、其它用户访问此文件的权限。

  • 额外的系统与用户标志(flag),用来保护该文件。

  • 3个时间戳,记录了inode自身被修改(ctimeinode change time)、文件内容被修改(mtimemodification time)、最后一次访问(atimeaccess time)的时间。

  • 1个链接数,表示有多少个硬链接指向此inode。

  • 文件系统存储位置的指针。通常是1K字节或者2K字节的存储容量为基本单位。

三、inode的作用

 操作系统按inode的编号对文件进行识别,在同一文件系统内的inode的编号是唯一的。当我们打开一个文件的时候,系统按照directory里inode编号与文件名对照关系,把文件名转换为inode编号,再根据inode编号对应的inode信息里指向的block地址来打开文件。这一特性使得在Linux上可以更新一个正在打开的文件,因为更新的文件由一个新的inode来指向,与系统正在使用的原inode不发生冲突,只是directory里的对照关系发生更改,当再次打开次文件时,系统即打开更新后的文件。

inode.png

  • inode不足时,再往文件系统上存放数据也会报存储空间不足的错误

    这是有可能某目录下已产生大量小文件,占用了大量inode

  • inode中存储的block的地址数量和block块的大小限制了一个文件系统最大单个文件大小

四、查看inode方法

[root@centos7 ~]# ll -i /root          #查看文件inode编号,第一列为inode编号
total 4
206271991 -rw-------. 1 root root 1598 Jul 21 11:40 anaconda-ks.cfg
  103963 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Desktop
  103965 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Documents
 70662524 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Downloads
 70662525 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Music
138238502 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Pictures
206272017 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Public
138238501 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Templates
206272018 drwxr-xr-x. 2 root root    6 Jul 21 11:42 Videos

[root@centos7 ~]# df -i                #查看文件系统inode占用情况
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
/dev/sda2      41943040 138671 41804369    1% /
devtmpfs         229955    389   229566    1% /dev
tmpfs            233586     10   233576    1% /dev/shm
tmpfs            233586    590   232996    1% /run
tmpfs            233586     13   233573    1% /sys/fs/cgroup
/dev/sda5      20971520     15 20971505    1% /testdir
/dev/sda1        204800    330   204470    1% /boot
/dev/sr0              0      0        0     - /run/media/root/CentOS 7 x86_64
tmpfs            233586      1   233585    1% /run/user/1001
tmpfs            233586     17   233569    1% /run/user/42
tmpfs            233586      1   233585    1% /run/user/0

五、硬连接与软链接

 硬连接的创建实质为同一物理文件起多个名字,都指向同一inode,所以不可以跨文件系统建立,也不能对目录建立硬连接。

 软链接的创建会产生新文件,占用一个inode,指向的是文件名,软连接建立可跨文件系统,可对目录建立。

  • 创建方法

ln TARGET LINK_NAME      #创建硬连接

ln -s TARGET LINK_NAME   #创建软连接

注:创建软连接时,TARGET如是相对路径,则为LINK_NAME上级目录的相对路径

ln -s Videos/movie /root/movie

则创建了软链接文件/root/movie 指向目录/root/Videos/movie 

原创文章,作者:cutemsyu,如若转载,请注明出处:http://www.178linux.com/29134

(1)
cutemsyucutemsyu
上一篇 2016-08-05
下一篇 2016-08-05

相关推荐

  • 玩转Nginx之一:基础概念

    Nginx web服务器:http协议 http协议:html,MIME(多用途互联网邮件拓展) major/minor text/html,text/plain,image/jpeg web资源:URL(scheme://server:port/path/to/source) 方法:GET,HEAD(相应首部)读取资源 POST提交表单 PUT上传数据 D…

    Linux干货 2016-10-29
  • CentoS 6.8 安装(小白请进)

    先说点题外话,我现在还是一个小白,刚接触‘高大上’的linux不久,随着深入的学习了解,兴趣越来越浓,这个东西很有意思的,不像学windows那样枯燥无味,真的,不信?欢迎加入马哥大家庭。 废话不多说,注意了:前方高能!!! 首先呢,先下载一个VMware Workstation这个虚拟机软件,它的作用很强大,可以使你在一台机器上同时运行一个甚至多个linu…

    2017-02-17
  • 压缩及解压工具

    通过算法压缩数据,时间换空间。文本文件的压缩比更大,二进制文件的压缩比较小。 压缩工具占用cpu时钟。 compress/uncompress .Z gzip/gunzip .gz bzip2/bunzip2 .bz2 压缩比比gz大但是也没取代gz xz/unxz .xz 压缩比大,现在较流行。 zip/unzip .zip 归档工具,既能归档又能压缩 t…

    Linux干货 2016-08-21
  • 高级文件系统管理

    高级文件系统管理 一、如何创建新的swap分区  答:1.在/dev/sdc上创建新的分区。并使得ID为82的linux swap;类型。   2.创建文件系统 mkswap  -L  SWAP_SDC1  /dev/sdc1     3.在/etc/fstab中进行修改   4…

    Linux干货 2016-08-30
  • UEFI原理小结

    1. UEFI 和 BIOS        UEFI 和 BIOS它们都可以认为是一种烧录了不同程序的PC固件,它们都可以用来启动系统,并且UEFI可兼容MBR,并直接支持GPT;BIOS是IBM PC兼容机中常用的一种固件; UEFI是Intel开发和发布的EFI的继任者,它由UEFI论…

    Linux干货 2016-05-01
  • keepalived+lvs-dr实现高可用负载均衡

    keepalived+lvs-dr实现高可用负载均衡 实验拓扑 实验要求 RS1与RS2地址为172.18.27.201/202 VS1和VS2地址为172.18.27.103/200,VIP为172.18.27.254 VS1和VS2实现lvs-dr负载均衡及高可用性,且vs为sorry sever。 keepalived是单主模式。 实验步骤 各个主机安…

    2017-05-14