返回顶部
首页 > 资讯 > 操作系统 >linux的i节点号指什么意思
  • 113
分享到

linux的i节点号指什么意思

linux 2023-04-20 05:04:19 113人浏览 薄情痞子
摘要

本篇内容介绍了“linux的i节点号指什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本篇内容介绍了“linux的i节点号指什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在linux中,i节点号是指inode号,用于识别不同的文件。Linux内部使用inode号来识别文件,而非文件名,对于系统来说,文件名是 inode号的别称,是便于用户识别文件的,文件名和inode号是一一对应的关系,每个inode号对应一个文件名。

一、linux中的i节点

在linux中,i节点指的是inode节点。

linux中,文件查找不是通过文件名称来查找的。实际上是通过i节点来实现文件的查找定位的。我们可以形象的将i节点看做是一个指针fip。当文件存储到磁盘上去的时候,文件肯定会存放到一个磁盘位置上,可以这样想象,既然文件数据是存放在磁盘上的,如果我们知道这个文件数据的地址,当我们想要读写文件的时候,我们是不是直接使用这个地址去找到文件就可以了呢?

是的,linux下,i节点其实就是可以这么认为,把i节点看作是一个指向磁盘上该文件存储区的地址。只不过这个地址我们一般是没办法直接使用的,而是通过文件名来间接使用的。事实上,i节点不仅包含了文件数据存储区的地址,还包含了很多信息,比如数据大小,等等文件信息。但是i节点是不保存文件名的。文件名是保存在一个目录项中。每一个目录项中都包含了文件名和i节点。

我们可以通过一个图来看看目录项,i节点,文件数据四者之间的关系。

linux的i节点号指什么意思

从上图可以看到,目录项中包含了文件名和i节点。

同时,你会发现上图中,目录项A和目录项B的i节点指向同一个存储区,其中这个存储区存放的是printf("ha")的数据。

也就是意味着helloA.c和helloB.c的内容是一样的。

i节点号

每个inode都有一个号码(即 inode号),操作系统用 inode号码来识别不同的文件。

————Linux内部使用 inode号来识别文件,而非文件名,对于系统来说,文件名是 inode号的别称,是便于用户识别文件的,文件名和 inode号是一一对应的关系,每个 inode号对应一个文件名。

inode号是系统识别的唯一编码,而文件名仅仅是为了使用者区分辨认,inode (index node )表中包含文件系统所有文件列表 一个节点(索引节点)是在一个表项,包含有关文件的信息(元数据 )。

硬盘分区后的结构:

linux的i节点号指什么意思

  • 当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据;如果没有就会返回。

访问文件的简单流程:

linux的i节点号指什么意思

二、Linux 文件存储

2.1 inode的数量限制

  • inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域:一个是数据区,存放文件数据;另一个是 inode区,存放 inode 所包含的信息。每个inode 的大小,一般是128 字节或256字节。

  • 通常情况下不需要关注单个inode的大小,而是需要重点关注inode总数,inode的总数在格式化时就已经定好了
    ——为什么需要重点关注inode总数,因为当inode用完时,即便磁盘还有空间也无法创建新文件了,因为在创建文件时需要一个inode号与之对应,而没有inode时自然无法创建新文件。
    执行“df-i”命令即可查看每个硬盘分区对应的的inode总数和已经使用的inode数量。

linux的i节点号指什么意思

2.2 inode 的内容

inode包含文件的元信息,具体有以下的内容:

  • 文件的字节数

  • 文件的拥有者 user ID

  • 文件的group ID

  • 文件的读、写、执行权限

  • 链接数,即有多少文件指向这个inode

  • 文件的时间戳

  • 两种方式查看某个文件的 inode信息

方法一:stat [文件名]

示例:stat aa.txt

linux的i节点号指什么意思

优点:可以查看文件inode 的详细信息

方法二:ls -i [文件名]

linux的i节点号指什么意思

只能显示 inode号

2.3 Linux系统文件三个主要的时间属性

Linux系统文件三个主要的时间属性(即inode 里的时间戳)

  • ctime(change time)
    指的是最后一次改变文件或目录(属性)的时间

  • atime(access time)
    指的是最后一次访问文件或目录的时间

  • mtime(modify time)
    指的是最后一次修改文件或者目录(内容)的时间

三、inode的特殊作用

由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象:

  • 当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件

  • 移动或重命名文件时,只改变文件名,不影响inode号码

  • 打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

  • 文件数据被修改保存后,会生成一个新的 inode 号码(原先的 inode 号会被释放)

如何通过删除inode号删除文件:

方法一(删除前需确认信息):find ./ -inum [inode号] -exec rm -i {} \ ;

linux的i节点号指什么意思

方法二(直接删除):find ./ -inum [inode号] -delete

linux的i节点号指什么意思

“linux的i节点号指什么意思”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: linux的i节点号指什么意思

本文链接: https://lsjlt.com/news/201702.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux的i节点号指什么意思
    本篇内容介绍了“linux的i节点号指什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-04-20
    linux
  • linux中i节点指的是什么
    今天小编给大家分享一下linux中i节点指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在linux中,i节点时一个...
    99+
    2023-07-02
  • javascript中的点号指什么意思
    这篇文章主要介绍“javascript中的点号指什么意思”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript中的点号指什么意思”文章能帮助大家解决问题...
    99+
    2024-04-02
  • CDN边缘节点什么意思
    CDN边缘节点主要指异地分发节点,由负载均衡设备、高速缓存服务器两部分组成。负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时还负责收集节点与周围环境的信息,保持与全局负载均衡DNS的通信,实现整个系统的负载均衡。...
    99+
    2024-04-02
  • c++中i++什么意思
    在 c++ 中,i++ 是后缀递增运算符,它将变量 i 的值增加 1,其工作原理是先取出变量当前值再递增 1。它不会返回新值,因此需要使用 ++i 来打印新值。示例包括:int i = ...
    99+
    2024-05-01
    c++
  • 焦点指的是什么意思
    这篇文章将为大家详细讲解有关焦点指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。焦点有3种意思,分别是:1、在JavaScript中,焦点就是关注的区域,即当前光标被激活的位置;2、在几何数学...
    99+
    2023-06-06
  • cdn边缘节点是什么意思
    cdn边缘节点指的是靠近用户的网络边缘侧构建的业务平台,它提供存储、计算、网络等资源,可以将部分关键业务应用下沉到接入网络边缘,以减少网络传输和多级转发带来的宽度和时延损耗。...
    99+
    2024-04-02
  • web网络节点是什么意思
    这篇文章主要讲解了“web网络节点是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web网络节点是什么意思”吧!网络节点是指一台电脑或其他设备与一个有独立地址和具有传送或接收数据功能...
    99+
    2023-06-21
  • c++中的i++是什么意思
    c++ 中的“i++”后缀自增运算符将变量 i 的值增加 1。它先访问 i 的值,再将其增加 1,然后将结果存储回 i。与前缀自增运算符“++i”不同,后缀自增运算符先访问 i 的值,然...
    99+
    2024-04-28
    c++
  • linux源指的是什么意思
    这篇文章给大家分享的是有关linux源指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在linux中,源全称“软件源”,是Linux系统免费的应用程序安装仓库,包含了各类软件的二进制包和源代码或者发行...
    99+
    2023-06-29
  • linux rc指的是什么意思
    本篇内容介绍了“linux rc指的是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-04-19
    linux
  • linux sdk指的是什么意思
    这篇文章主要介绍“linux sdk指的是什么意思”,在日常操作中,相信很多人在linux sdk指的是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux sdk指的是什么意思”的疑惑有所帮助!...
    99+
    2023-06-30
  • c++中i是什么意思
    c++中的“i”通常代表整型变量名,存储整数数据,符合变量命名规则。其默认类型为int(32位有符号整数),但可根据后缀指定其他整数类型(short、long、unsigned)。除了表...
    99+
    2024-05-11
    c++ 标准库
  • c++中i+是什么意思
    c++ 中的 i++ 是一种后置自增运算符,它先拷贝变量 i 的当前值,再将 i 的值增加 1,最后返回拷贝值。步骤如下:1. 拷贝 i 的当前值;2. 将 i 的值增加 1;3. 返回...
    99+
    2024-05-12
    c++
  • c++中::i是什么意思
    c++ 中 ::i 表示全局命名空间中的 i 变量。具体而言:双冒号 :: 指代全局命名空间。i 是声明在全局命名空间中的变量。使用 ::i 语法可访问全局变量 i。 C++ 中 ::...
    99+
    2024-05-12
    c++
  • c++中i+=2什么意思
    i+=2 在 c++ 中等价于 i = i + 2,用于对变量按特定增量(本例为 2)递增,常用于循环中更新变量。 C++ 中 i+=2 的含义 在 C++ 中,i+=2 是一个复合赋...
    99+
    2024-05-01
    c++
  • c++中i--是什么意思
    c++ 中的 i-- 运算符执行后置减法操作,先将 i 的值分配给一个临时变量,减 1 后更新 i 的值。这与前置减法操作符 (i--) 不同,前者在减 1 之前会先更新 i 的值。 ...
    99+
    2024-05-01
    c++
  • c++中++i是什么意思
    c++ 中的 ++i 是自增运算符,用于将变量 i 的值增加 1。它可以作为前缀运算符(先增加再使用)或后缀运算符(先使用再增加)使用。前缀 ++i 在使用 i 之前对其自增,而后缀 i...
    99+
    2024-05-01
    c++
  • c++中i+=是什么意思
    在 c++ 中,i += 表示复合赋值运算符,将 value 值加到变量 i 的当前值上,结果重新存储在 i 中。它等效于 i = i + value,优点是代码更简洁、可读性更高。 ...
    99+
    2024-05-01
    c++
  • php浮点指的是什么意思
    这篇文章主要介绍php浮点指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php浮点指的是Float浮点型,也叫浮点数float,双精度数double或实数real,其定义语法如“$a = 1.234;$...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作