linux的i节点号是什么意思

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

linux的i节点号是什么意思

本教程操作环境:linux7.3系统、Dell G3电脑。

一、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 )表中包含文件系统所有文件列表 一个节点(索引节点)是在一个表项,包含有关文件的信息(元数据 )。

硬盘分区后的结构:

1.png

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

访问文件的简单流程:

2.png

二、Linux 文件存储

2.1 inode的数量限制

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

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

3.png

boardmix博思白板 boardmix博思白板

boardmix博思白板,一个点燃团队协作和激发创意的空间,集aigc,一键PPT,思维导图,笔记文档多种创意表达能力于一体,将团队工作效率提升到新的层次。

boardmix博思白板 39 查看详情 boardmix博思白板

2.2 inode 的内容

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

文件的字节数文件的拥有者 user ID文件的group ID文件的读、写、执行权限链接数,即有多少文件指向这个inode文件的时间戳

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

方法一:stat [文件名]

示例:stat aa.txt

4.png

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

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

5.png

只能显示 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 {} ;

6.png

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

7.png

相关推荐:《Linux视频教程》

以上就是linux的i节点号是什么意思的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/321808.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
谷歌宣称“侧载不会消失”,遭开源应用仓库 F-Droid 驳斥
上一篇 2025年11月5日 10:05:55
如何配置Linux网络时间同步 chrony时间服务设置方法
下一篇 2025年11月5日 10:06:11

相关推荐

  • Linux 中 linkwatch 进程的作用和原理

    Linux 中 linkwatch 进程的作用和原理Linux 中 linkwatch 进程的作用和原理Linux 中 linkwatch 进程的作用和原理Linux 中 linkwatch 进程的作用和原理

    Linux 中 linkwatch 进程的作用和原理 在 Linux 系统中,linkwatch 是一个非常重要的内核进程,它的作用是实时监测网络接口的状态变化,并在接口状态发生改变时通知系统和相关的应用程序。linkwatch 进程负责监控网络接口的链接状态,例如网线的插拔、网口的启用和停用等操作…

    2026年9月29日 • 用户投稿
    000
  • 深度解析Linux为何稳定如山:技术与哲学的结合之道

    深度解析Linux为何稳定如山:技术与哲学的结合之道深度解析Linux为何稳定如山:技术与哲学的结合之道深度解析Linux为何稳定如山:技术与哲学的结合之道深度解析Linux为何稳定如山:技术与哲学的结合之道

    标题:深度解析Linux为何稳定如山:技术与哲学的结合之道 Linux作为开源操作系统的代表之一,以其稳定性和强大的功能受到广泛赞誉。许多人对Linux系统之所以如此稳定兴趣浓厚,这背后是技术与哲学的结合之道。本文将从技术和哲学两个角度深入分析Linux系统的稳定性,并通过具体代码示例来展示。 技术…

    2026年9月28日 • 用户投稿
    200
  • sublime怎么恢复因崩溃而关闭的窗口会话_会话恢复功能使用方法

    sublime怎么恢复因崩溃而关闭的窗口会话_会话恢复功能使用方法sublime怎么恢复因崩溃而关闭的窗口会话_会话恢复功能使用方法sublime怎么恢复因崩溃而关闭的窗口会话_会话恢复功能使用方法sublime怎么恢复因崩溃而关闭的窗口会话_会话恢复功能使用方法

    Sublime Text通过hot_exit和remember_open_files机制自动保存会话,崩溃后可自动或手动恢复未保存的文件与窗口布局。其核心是将工作状态写入Session.sublime_session文件,重启时加载该快照以还原现场。若自动恢复失败,用户可进入Local目录,用Aut…

    2026年9月28日 • 用户投稿
    200
  • sublime怎么查看和管理已安装的插件列表_已安装插件管理方法

    sublime怎么查看和管理已安装的插件列表_已安装插件管理方法sublime怎么查看和管理已安装的插件列表_已安装插件管理方法sublime怎么查看和管理已安装的插件列表_已安装插件管理方法sublime怎么查看和管理已安装的插件列表_已安装插件管理方法

    答案:通过Package Control和命令面板可查看管理插件,输入“Package Control: List Packages”列出已安装插件;访问“Preferences > Browse Packages…”查看实际文件位置;使用“Install/Remove Packa…

    2026年9月28日 • 用户投稿
    200
  • 什么是Linux Gem?探讨Linux Gem的意义与价值

    什么是Linux Gem?探讨Linux Gem的意义与价值什么是Linux Gem?探讨Linux Gem的意义与价值什么是Linux Gem?探讨Linux Gem的意义与价值什么是Linux Gem?探讨Linux Gem的意义与价值

    Linux Gem:开源世界的闪亮明珠 近年来,随着开源软件的迅猛发展,Linux系统已经成为越来越多软件开发者和IT从业者的首选平台。Linux以其稳定性、安全性和灵活性,在服务器端和嵌入式设备领域广受欢迎。在Linux的庞大生态系统中,有许多闪亮的明珠,其中之一便是Linux Gem,本文将探讨…

    2026年9月28日 • 用户投稿
    000
  • sublime怎么卸载已经安装的插件_Sublime已安装插件的卸载与管理方法

    sublime怎么卸载已经安装的插件_Sublime已安装插件的卸载与管理方法sublime怎么卸载已经安装的插件_Sublime已安装插件的卸载与管理方法sublime怎么卸载已经安装的插件_Sublime已安装插件的卸载与管理方法sublime怎么卸载已经安装的插件_Sublime已安装插件的卸载与管理方法

    卸载Sublime Text插件最稳妥的方法是通过Package Control,打开后选择Remove Package并确认卸载;若需手动删除,可进入对应系统下的Packages目录操作,但可能残留配置引发异常;为彻底清理配置,可删除User文件夹或整个配置目录,但会重置所有用户设置,建议提前备份…

    2026年9月28日 • 用户投稿
    100
  • 5G vs. 5G vs. 10G 网卡芯片实际吞吐量与CPU占用率测试

    5G vs. 5G vs. 10G 网卡芯片实际吞吐量与CPU占用率测试5G vs. 5G vs. 10G 网卡芯片实际吞吐量与CPU占用率测试5G vs. 5G vs. 10G 网卡芯片实际吞吐量与CPU占用率测试5G vs. 5G vs. 10G 网卡芯片实际吞吐量与CPU占用率测试

    5G与10G网卡能否跑满吞吐量取决于链路配置和系统性能,而非仅网卡本身;CPU占用率则受硬件加速、中断合并及驱动优化影响。家用场景中5G性价比高,可满足SATA SSD需求;专业场景或未来升级建议选10G,因带宽余量更充足。 直接看结论:5G和10G网卡的实际吞吐量能否跑满,关键不在于网卡本身,而在…

    2026年9月28日 • 用户投稿
    100
  • Sublime怎么给运行的程序传参_带命令行参数的构建系统设置

    Sublime怎么给运行的程序传参_带命令行参数的构建系统设置Sublime怎么给运行的程序传参_带命令行参数的构建系统设置Sublime怎么给运行的程序传参_带命令行参数的构建系统设置Sublime怎么给运行的程序传参_带命令行参数的构建系统设置

    可通过配置自定义构建系统在Sublime中传递命令行参数:一、创建PythonArgs.sublime-build文件并配置cmd和variants;二、使用Build With Args变体在运行时通过输入框传参;三、直接在cmd中硬编码固定参数;四、利用shell_cmd读取环境变量实现灵活传参…

    2026年9月28日 • 用户投稿
    100
  • 探究Linux Deploy的功能与优势

    探究Linux Deploy的功能与优势探究Linux Deploy的功能与优势探究Linux Deploy的功能与优势探究Linux Deploy的功能与优势

    标题:探究Linux Deploy的功能与优势 Linux Deploy是一款强大的开源工具,能够在Android设备上快速部署各种Linux发行版,为用户提供了在移动设备上运行Linux系统的便利。本文将深入探究Linux Deploy的功能与优势,并通过具体的代码示例来展示其强大的部署能力。 1…

    2026年9月28日 • 用户投稿
    200
  • linux开发vm虚拟机开发环境共享

    经过一段时间的沉寂,我终于抽出时间来整理了一个非常有用的工具。这款工具主要面向使用golang、php和java的linux开发环境。尽管java开发者通常使用图形界面工具进行开发,这里就不详细讨论了,但对于golang或php开发者来说,拥有一个与线上环境相似的linux开发虚拟机是非常必要的,因…

    2026年9月28日
    100
  • 深入探讨Linux中常见的特殊字符

    深入探讨Linux中常见的特殊字符深入探讨Linux中常见的特殊字符深入探讨Linux中常见的特殊字符深入探讨Linux中常见的特殊字符

    Linux操作系统作为一种常用的开源操作系统,具有强大的可定制性和灵活性。在使用Linux系统时,我们经常会遇到各种特殊字符的处理。这些特殊字符在命令行中具有特殊的含义,能够实现很多高级功能。本文将深入探讨Linux中常见的特殊字符,并结合具体的代码示例来详细介绍它们的用法。 通配符: 通配符是用来…

    2026年9月28日 • 用户投稿
    000
  • 为什么不同用户对同一型号硬件的评价差异很大?

    为什么不同用户对同一型号硬件的评价差异很大?为什么不同用户对同一型号硬件的评价差异很大?为什么不同用户对同一型号硬件的评价差异很大?为什么不同用户对同一型号硬件的评价差异很大?

    评价差异源于用户需求、场景、预期和敏感度不同,同一硬件在不同语境下表现各异,好与坏取决于个体参照系和使用目的。 评价差异很大,这其实很正常,因为它源于用户独特的需求、使用环境、预期值以及对硬件特性敏感度的不同。一个硬件产品,从来都不是一个孤立的“好”或“坏”的实体,它总是在特定的语境中被感知和判断。…

    2026年9月28日 • 用户投稿
    100
  • SublimeText官网下载教程_如何找到并安装正确版本

    SublimeText官网下载教程_如何找到并安装正确版本SublimeText官网下载教程_如何找到并安装正确版本SublimeText官网下载教程_如何找到并安装正确版本SublimeText官网下载教程_如何找到并安装正确版本

    首先访问官网https://www.sublimetext.com/并核对域名与证书,然后根据系统选择对应版本下载安装,最后通过“帮助-关于”确认版本信息以确保正确安装。 如果您尝试下载Sublime Text编辑器,但访问了错误的链接或选择了不兼容的版本,则可能导致安装失败或功能异常。以下是解决此…

    2026年9月28日 • 用户投稿
    500
  • Sublime安装Git插件教程_Git版本控制工具集成指南

    Sublime安装Git插件教程_Git版本控制工具集成指南Sublime安装Git插件教程_Git版本控制工具集成指南Sublime安装Git插件教程_Git版本控制工具集成指南Sublime安装Git插件教程_Git版本控制工具集成指南

    首先通过Package Control安装Git插件,其次可手动下载并放入Packages目录,然后配置系统Git路径,最后验证Git状态、提交等功能是否正常。 如果您希望在Sublime Text中实现代码的版本控制功能,但尚未集成Git插件,则可以通过安装和配置相关插件来完成。以下是实现Git与…

    2026年9月28日 • 用户投稿
    100
  • Linux Deploy的操作步骤及注意事项

    Linux Deploy的操作步骤及注意事项Linux Deploy的操作步骤及注意事项Linux Deploy的操作步骤及注意事项Linux Deploy的操作步骤及注意事项

    Linux Deploy的操作步骤及注意事项 Linux Deploy是一款强大的工具,可以帮助用户在Android设备上快速部署各种Linux发行版,让用户能够在移动设备上体验到完整的Linux系统。本文将详细介绍Linux Deploy的操作步骤以及注意事项,同时提供具体的代码示例,帮助读者更好…

    2026年9月28日 • 用户投稿
    000
  • SublimeText如何取消正在运行的程序_CancelBuild快捷键设置

    SublimeText如何取消正在运行的程序_CancelBuild快捷键设置SublimeText如何取消正在运行的程序_CancelBuild快捷键设置SublimeText如何取消正在运行的程序_CancelBuild快捷键设置SublimeText如何取消正在运行的程序_CancelBuild快捷键设置

    可通过设置快捷键解决Sublime Text无法中断运行程序的问题:一、在Preferences→Key Bindings中添加{“keys”: [“ctrl+shift+c”], “command”: “exec&…

    2026年9月28日 • 用户投稿
    100
  • 了解在Linux环境中如何处理位操作

    了解在Linux环境中如何处理位操作了解在Linux环境中如何处理位操作了解在Linux环境中如何处理位操作了解在Linux环境中如何处理位操作

    在Linux环境中处理位操作是非常常见的操作,通过位操作可以在程序中实现一些高效、灵活的操作。本文将详细介绍在Linux环境下如何进行位操作,并给出具体的代码示例。 位操作简介 位操作是对二进制位进行操作的一种技术,在计算机科学中被广泛应用。在Linux编程中,可以使用位操作来处理位掩码、位与、位或…

    2026年9月28日 • 用户投稿
    000
  • 深入了解Linux ldconfig

    深入了解Linux ldconfig深入了解Linux ldconfig深入了解Linux ldconfig深入了解Linux ldconfig

    Linux ldconfig 是一个用于动态链接库管理的工具,可以帮助系统在运行时找到并加载共享库。它主要用于更新系统的动态链接器运行时连接库缓存,以保证程序可以正确链接到共享库。 ldconfig 主要用于两个方面:一是添加、删除共享库路径,并更新相关信息到配置文件中;二是根据配置文件中的路径重新…

    2026年9月28日 • 用户投稿
    000
  • 电脑重装系统后无法连接互联网的解决方法(重装系统后网络连接问题解决方案及注意事项)

    电脑重装系统后无法连接互联网的解决方法(重装系统后网络连接问题解决方案及注意事项)电脑重装系统后无法连接互联网的解决方法(重装系统后网络连接问题解决方案及注意事项)电脑重装系统后无法连接互联网的解决方法(重装系统后网络连接问题解决方案及注意事项)电脑重装系统后无法连接互联网的解决方法(重装系统后网络连接问题解决方案及注意事项)

    重装电脑系统是解决电脑故障或提升性能的一种常见方法,然而,在完成系统重装后,很多用户发现无法连接到互联网。这个问题对于那些依赖网络进行工作和娱乐的人来说,无疑是非常困扰的。本文将为大家分享一些解决这一问题的方法和注意事项,帮助您顺利恢复网络连接。 检查网络线是否连接正常通过观察电脑底部或背面的网线接…

    2026年9月28日 • 用户投稿
    100
  • Linux中特殊字符的解读与应用

    Linux中特殊字符的解读与应用Linux中特殊字符的解读与应用Linux中特殊字符的解读与应用Linux中特殊字符的解读与应用

    Linux中特殊字符的解读与应用 在Linux系统中,特殊字符是一种非常重要的部分,它们在命令行操作和脚本编写中起着至关重要的作用。特殊字符通常用于控制命令的行为、文件操作、管道连接等方面。了解这些特殊字符的含义和用法,能够提高工作效率和编写脚本的能力。本文将介绍一些常见的特殊字符及其用法,同时给出…

    2026年9月28日 • 用户投稿
    100

发表回复

登录后才能评论
关注微信