Linux inode 详解 简介索引节点Index Node是Linux/类unix系统文件系统上的一种数据结构用于存储有关文件或目录的元数据。它包含文件的所有信息除了文件名和数据。inode在文件系统如何存储和检索数据方面起着至关重要的作用。当在Linux系统上创建一个文件时系统会为它分配一个inode。这个inode包含有关文件的详细信息如权限、所有者、大小以及文件数据块在磁盘上的位置。Inode 包含什么File type常规文件、目录、符号链接等File permissions文件的读、写和执行权限Owner文件所有者的用户 ID (UID)Group文件组的组 ID (GID)File size以字节为单位Timestampsctime最后一次改变inode的时间mtime文件数据的最后修改时间atime上次访问文件的时间Link count该文件的硬链接数Pointers to data blocks包含文件实际数据的块的地址这些通常是间接指针查看 Inode 信息使用ls -ils 命令可以与 -i 选项一起使用来显示文件的 inode 编号ls -i filename示例输出ls -i myfile.txt 1234567 myfile.txt使用statstat 命令提供有关文件的更多详细信息stat filename示例输出$ stat myfile.txt File: myfile.txt Size: 1024 Blocks: 8 IO Block: 4096 regular file Device: 803h/2051d Inode: 1234567 Links: 1 Access: 2025-02-06 10:15:47.000000000 0000 Modify: 2025-02-05 09:24:38.000000000 0000 Change: 2025-02-05 09:24:38.000000000 0000 Birth: -Inode 在文件操作中的作用文件创建当创建文件时文件系统会为其分配一个inode用于存储文件的元数据。文件名存储在链接到inode的目录条目中硬链接硬链接是指向索引页的指针。多个文件名可以指向相同的索引节点并且彼此之间无法区分。它们共享相同的inode但可以位于不同的目录中。直到所有硬链接被删除文件的数据才会被删除。创建一个硬链接ln original_file hard_link_name符号软链接符号链接 (symlink) 是一种特殊类型的文件它通过存储路径指向另一个文件或目录。符号链接有自己的inode但使用路径指向目标文件创建一个软链接ln -s target_file symlink_name文件删除当一个文件被删除时它的索引节点中的链接数会减少。一旦链接计数达到零即没有更多的文件名指向该inodeinode及其数据块将被释放以供重用。但是inode本身直到不再使用时才会被删除。索引节点表索引节点表是存储文件系统所有索引节点的内部结构。该表是在格式化文件系统时创建的它包含固定数量的inode。如果文件系统耗尽了inode则无法创建新文件即使磁盘上有可用的空闲空间。这种情况在具有许多小文件的文件系统上尤其常见。检查文件系统上可用的 inodedf -i示例输出Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 524288 10000 514288 2% / # 文件系统有 524,288 个 inode其中 10,000 个已被使用514,288 个是空闲的索引节点限制有限的Inode数量每个文件系统都有固定数量的Inode这些Inode是在创建文件系统时创建的。如果Inode用尽即使有可用磁盘空间也无法创建新文件无文件名存储inode不存储文件名因此文件名与inode结构无关。如果文件被重命名inode保持不变硬链接限制某些文件例如使用某些选项挂载的目录和文件系统不能有硬链接通过 Inode 查找文件find /path/to/search -inum inode_number示例用法find / -inum 1234567

相关新闻

最新新闻

科学研究方法论考点全解析:从信度效度到研究设计的高效备考指南

科学研究方法论考点全解析:从信度效度到研究设计的高效备考指南

简介:面向教育类与科研方法论学习者,这份docx知识点试题完整整理了2021年科学研究方法论的重要考点。内容涵盖教育科学研究的发展趋势、基本观点、课题来源与选题原则、常用的选题方法、研究实施步骤、科研报告撰写与修改、论文基本结构,以及…

2026/9/6 18:37:09
Helix 新语言支持实战指南:languages.toml 配置、Tree-sitter 语法编译与查询开发

Helix 新语言支持实战指南:languages.toml 配置、Tree-sitter 语法编译与查询开发

Helix 新语言支持实战指南:languages.toml 配置、Tree-sitter 语法编译与查询开发 【免费下载链接】helix A post-modern modal text editor. 项目地址: https://gitcode.com/GitHub_Trending/he/helix 本文为 Helix 编辑器贡献新语言支持的完整操作手册&…

2026/9/6 18:37:09
Rails 8.2 Active Storage 更新全解:媒体分析器、变体处理与安全加固源码剖析

Rails 8.2 Active Storage 更新全解:媒体分析器、变体处理与安全加固源码剖析

Rails 8.2 Active Storage 更新全解:媒体分析器、变体处理与安全加固源码剖析 【免费下载链接】rails Ruby on Rails 项目地址: https://gitcode.com/GitHub_Trending/rai/rails 本文基于 Rails 仓库 activestorage 组件的 8.2 版变更日志(active…

2026/9/6 18:37:08
Puppeteer 详解 BluetoothManufacturerData:Web Bluetooth 模拟中的厂商数据接口

Puppeteer 详解 BluetoothManufacturerData:Web Bluetooth 模拟中的厂商数据接口

Puppeteer 详解 BluetoothManufacturerData:Web Bluetooth 模拟中的厂商数据接口 【免费下载链接】puppeteer JavaScript API for Chrome and Firefox 项目地址: https://gitcode.com/GitHub_Trending/puppeteer1/puppeteer 本篇围绕 Puppeteer API 文档中的…

2026/9/6 18:37:08
Cap 快速上手:Loom 开源替代,屏幕录制、本地编辑与分享链接一次配齐

Cap 快速上手:Loom 开源替代,屏幕录制、本地编辑与分享链接一次配齐

Cap 快速上手:Loom 开源替代,屏幕录制、本地编辑与分享链接一次配齐 【免费下载链接】Cap Open source Loom alternative. Beautiful, shareable screen recordings. 项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap Cap 是一个开源的屏…

2026/9/6 18:37:08
CANape文件转换、模板保存与故障排除实战指南

CANape文件转换、模板保存与故障排除实战指南

简介:CANape是ECU测量、标定与诊断的常用工具,其使用中的常见问题值得系统梳理。面向具备CAN网络和汽车电子基础的工程师,这份资料重点解决文件转换、驱动初始化失败、窗口模板保存复用等问题,尤其适合从事ECU标定或ADAS传感器数据…

2026/9/6 18:32:08