Linux系统之inode

iNode7.3(windows 版PC端完整版) 区别于功能受限的其它版本,本人已测试,近乎完美。申明:此版本为windows 版PC端完整版,管理中心版本的一般用不上,而且文件太大。 H3C_iNode_PC_7.3 官方完整版; · 多网卡检测配置项 · 域配置项 · EAD配置项 · WLAN配置项 · 基本功能项 · 公共配置项 · 界面选项 · 单点登录选项 · 证书配置信息项 · DAM配置项 · FAQ选项 立即下载




inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。


我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。

下面就是我的inode学习笔记,尽量保持简单。


一、inode是什么?


理解inode,要从文件储存说起。


文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。


操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。


文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。


每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。


二、inode的内容


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


* 文件的字节数

* 文件拥有者的User ID

* 文件的Group ID

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

* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。

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

* 文件数据block的位置


可以用stat命令,查看某个文件的inode信息:


  stat example.txt



总之,除了文件名以外的所有文件信息,都存在inode之中。至于为什么没有文件名,下文会有详细解释。


三、inode的大小


inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。


每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。


查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。


  df -i



查看每个inode节点的大小,可以用如下命令:


  sudo dumpe2fs -h /dev/hda | grep “Inode size”



由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件。


四、inode号码


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

这里值得重复一遍,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。

表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。

使用ls -i命令,可以看到文件名对应的inode号码:


  ls -i example.txt



五、目录文件


Unix/Linux系统中,目录(directory)也是一种文件。打开目录,实际上就是打开目录文件。


目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:(1)所包含文件的文件名,(2)该文件名对应的inode号码


ls命令只列出目录文件中的所有文件名:


  ls /etc



ls -i命令列出整个目录文件,即文件名和inode号码:


  ls -i /etc



如果要查看文件的详细信息,就必须根据inode号码,访问inode节点,读取信息。ls -l命令列出文件的详细信息。


  ls -l /etc



理解了上面这些知识,就能理解目录的权限。目录文件的读权限(r)和写权限(w),都是针对目录文件本身。由于目录文件内只有文件名和inode号码,所以如果只有读权限,只能获取文件名,无法获取其他信息,因为其他信息都储存在inode节点中,而读取inode节点内的信息需要目录文件的执行权限(x)。


六、硬链接


一般情况下,文件名和inode号码是”一一对应”关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码


这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为”硬链接”(hard link)。


ln命令可以创建硬链接:


  ln 源文件 目标文件



运行上面这条命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中有一项叫做”链接数”,记录指向该inode的文件名总数,这时就会增加1。


反过来,删除一个文件名,就会使得inode节点中的”链接数”减1。当这个值减到0,表明没有文件名指向这个inode,系统就会回收这个inode号码,以及其所对应block区域。


这里顺便说一下目录文件的”链接数”。创建目录时,默认会生成两个目录项:”.”和”..”。前者的inode号码就是当前目录的inode号码,等同于当前目录的”硬链接”;后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的”硬链接”。所以,任何一个目录的”硬链接”总数,总是等于2加上它的子目录总数(含隐藏目录)。


七、软链接


除了硬链接以外,还有一种特殊情况。


文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的”软链接”(soft link)或者”符号链接(symbolic link)。


这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:”No such file or directory”。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode”链接数”不会因此发生变化


ln -s命令可以创建软链接。


  ln -s 源文文件或目录 目标文件或目录



八、inode的特殊作用


由于inode号码与文件名分离,这种机制导致了一些Unix/Linux系统特有的现象。


1. 有时,文件名包含特殊字符,无法正常删除。这时,直接删除inode节点,就能起到删除文件的作用


2. 移动文件或重命名文件,只是改变文件名,不影响inode号码


3. 打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。因此,通常来说,系统无法从inode号码得知文件名


第3点使得软件更新变得简单,可以在不关闭软件的情况下进行更新,不需要重启。因为系统通过inode号码,识别运行中的文件,不通过文件名。更新的时候,新版文件以同样的文件名,生成一个新的inode,不会影响到运行中的文件。等到下一次运行这个软件的时候,文件名就自动指向新版文件,旧版文件的inode则被回收










链接:http://www.ruanyifeng.com/blog/2011/12/inode.html







【Chisel】2.4 时序逻辑 2.4 时序逻辑@[TOC](2.4 时序逻辑)前言寄存器(`Reg`)实例Chisel的状态函数实例2 RegNext实例3 RegInit移位器附录 显式的时钟信号和复位信号 前言 没有状态机的逻辑电路是不完整的,没有状态机的逻辑电路是不完整的,没有状态机的逻辑电路是不完整的,重要的事情说三遍。 这一节我们将要学习Chisel中的时序逻辑。在最后我们会实现一个移位器。 这里你需要知道的是,前面的这几节实际上都是对Chisel的基础语法的学习,它并不会给你带来很大的“惊喜”。Chisel真正的作用是把电路 阅读详情

相关推荐

手把手教你用CsvView分析大疆无人机飞行日志(附实战CTF题解)

本文详细介绍了如何使用CsvView工具分析大疆无人机飞行日志,包括环境搭建、日志提取、核心功能解析及CTF实战技巧。通过实战案例,帮助读者掌握无人机取证的关键技术,提升日志分析能力,特别适合网络安全竞赛和实际取证场景。

weixin_42652674的博客 455

windows iNode ssl vpn认证

3、 网络接入组件选择SSL VPN组件,点击高级定制如下,选择SSL VPN配置项,点击增加,添加SSL VPN的网关IP地址,添加的第一个IP地址将被设置为默认网关。2、 打开iNode管理中心定制iNode智能客户端。1、 下载完成后将压缩包进行解压,进入windows文件夹,使用管理员运行管理中心。2、 选择“管理软件”—“iNode PC(PC客户端)”二、iNode管理中心安装及SSL VPN客户端定制。5、 勾选“默认场景”和“生成定制的客户端安装程序”三、iNode客户端安装及认证。

x_duoduoluo的博客 6501

别再死磕AUTOSAR文档了!手把手教你用ISOLAR-A配置BswM模块(附实战流程图)

本文通过Vector ISOLAR-A工具实战演示AUTOSAR BswM模块的配置流程,帮助工程师快速掌握基础软件模式管理。从环境准备到模式仲裁规则配置,再到动作列表实现,详细讲解每个步骤,并提供常见问题排查和高级优化技巧,大幅提升开发效率。

weixin_42542669的博客 248

理解linux inode

一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 s

TrueMan's Blog 1458

【论文复现】——基于NDT与ICP结合的点云配准算法(matlab版)

基于NDT与ICP结合的点云配准算法matlab版

点云侠的博客 488

14、X射线图像处理与特征提取全解析

本文全面解析了X射线图像处理与特征提取的关键技术,涵盖图像预处理、滤波、边缘检测、分割与恢复等流程,并深入探讨了几何特征(如面积、周长、圆度、椭圆拟合)、强度特征(均值、方差、对比度)、傅里叶描述符、不变矩(Hu矩、Gupta矩)以及局部描述符(SIFT、SURF)和稀疏表示方法。同时介绍了特征选择的过滤法、包装法和嵌入法,并结合Matlab代码示例展示了各类特征的实际提取过程。文章最后总结了当前技术的应用现状,并展望了深度学习在X射线图像分析中的未来潜力。

pz89012345的博客 133

linux测验一 知识点

①yum和rpm     yum 基于rpm包管理,从指定的服务器自动下载rpm包,自动处理依赖关系;     rpm执行安装包,二进制包和源代码包两种。二进制包直接安装在计算机中,源码包由rpm自动编译安装,src.rpm。     rpm -ivh   安装,并列出详细安装信息;     rpm -qa    列出所有已安装软件。 ②用户创建目录是在/Home下面 ③vi

imp 426

【GameFramework框架内置模块】17、声音(Sound)

声音(Sound)模块是管理音频的模块,比如播放、停止、修改音量等,支持淡入淡出、AudioMixer等高级设置。声音(Sound)的配置面板如下所示:所有的声音统一按照组来分,可以根据需要添加或者溢出组,声音组可以配置Agent的数量和音量等。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1911

操作系统新考点

1、操作系统引导 2、open系统调用打开文件的底层原理 3、虚拟文件系统(VFS) 4、文件系统的挂载

小小本科生 862

OpenClaw实战系列01:OpenClaw接入飞书机器人全接入指南 + Ollama本地大模型

通过 OpenClaw + Ollama + 飞书的组合,我们成功搭建了一个完全私有、免费、可定制的AI助理。它不仅能在日常聊天中提供帮助,还能通过OpenClaw强大的“技能”体系,真正去操作你的电脑、管理文件、甚至执行代码。这套方案将数据留在本地,既保证了隐私安全,又锻炼了动手能力。现在,去给你的AI助理添加更多酷炫的技能吧!

PeterPan的博客 1万+

Python 爬虫实战:华尔街见闻精选文章爬取(反反爬 + 投资情绪分析)

Python 爬虫实战:华尔街见闻精选文章爬取(反反爬 + 投资情绪分析)

yansideyucsdn的博客 968

Linux性能优化-磁盘I/O优化

块设备层将请求发往SCSI层,SCSI就开始真实处理这些IO请求,但是SCSI层又对其内部按照功能划分了不同层次: * SCSI高层:高层驱动负责管理disk,接收块设备层发出的IO请求,打包成SCSI层可识别的命令格式,继续往下发;所以,文件系统又把连续的扇区组成了逻辑块,然后每次都以逻辑块为最小单元,来管理数据。拿第一类,也就是基于磁盘的文件系统为例,在安装系统时,要先挂载一个根目录(/),在根目录下再把其他文件系统(比如其他的磁盘分区、/proc 文件系统、/sys 文件系统、NFS 等)挂载进来。.

李嘉图呀李嘉图的博客 4445

14、脑肿瘤复发预测与转移瘤跟踪的自动化方法

本文介绍两种脑肿瘤相关自动化方法:一种用于预测胶质瘤切除术后的肿瘤复发位置,结合图像配准、静态模型和动态模拟模型,利用患者的DTI数据进行预测;另一种用于在纵向扫描中跟踪转移性脑肿瘤,通过联合求解配准参数估计和图像变化标记问题,提高肿瘤跟踪的准确性和效率。文章同时分析了两种方法的优势与挑战,并提出了未来研究方向,旨在为脑肿瘤的诊断和治疗提供更可靠的工具。

defi6farmer的博客 115

Linux 文件系统之 inode 概述_inode linux

假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。由于目录文件内只有文件名和inode号码,所以如果只有读权限,只能获取文件名,无法获取其他信息,因为其他信息都储存在inode节点中,而读取inode节点内的信息需要目录文件的执行权限(x)。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。

2401_89609648的博客 1087

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

对于Linux系统中inode的理解

文件的索引节点inode前言inode的介绍1. 什么是inode?2. inode的大小3. inode号码4. 目录文件Unix/Linux系统文件的访问过程硬链接与软链接1. 硬链接2. 软链接补充 前言 前段时间看到了大神阮一峰的一篇讲inode的文章,感觉很不错,现结合一些相关资料总结如下。 inode的介绍 1. 什么是inode? 在Linux系统下,对硬盘进行格式化时,操作系统会将...

wskywskywsky的博客 437

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Linux 文件系统之 inode 概述

inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。 下面就是我的inode学习笔记,尽量保持简单。 理解inode 作者:阮一峰 一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取

smilejiasmile的博客 2406

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

linux系统中的inode是什么

linux文件的inode是什么

m0_71518373的博客 8890

linux从inode复制文件,理解认识inode,从inode了解 Linux 文件系统

inode是Unix体系下用来描述文件对象(文件或目录)的一种数据结构,理解inode有助于提高我们对Unix类操作系统的操作水平。理解inode,要从文件存储说起文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。...

weixin_29031161的博客 275

linux系统inode大小,Linux调整系统inode数量实例

inode节点中,记录了文件的类型、大小、权限、所有者、文件连接的数目、创建时间与更新时间等重要的信息,还有一个比较重要的内容就是指向数据块的指针。一般情况不需要特殊配置,如果存放文件很多,需要配置。有时磁盘空间有剩余但是不能存放文件,可能是由于inode节点数量不做了。查看inode的数量:复制代码代码如下:df -iFilesystem Inodes IUsed ...

weixin_35995565的博客 1569

Linux文件系统的inode

Linux文件系统的inode [ LINUX学习 ] Linux文件系统的inode 要想理解 Linux 文件系统,首先要理解的就是 inode 。什么是 inode ?往下看吧。 1 、 [LINUX学习]Linux文件系统的inode 要想理解Linux文件系统,首先要理解的就是inode。什么是inode?往下看吧。   1、Linu

tianxuandiyi的专栏 1092

Linux系统中inode和block详解

一.inode size 定义 单位:Byte inode table sample inode table是data area的索引表。 Inode分为内存中的inode和文件系统中的inode,我们这里说的是文件系统中的inode。1.linux FS 可以简单分成 inode table与data area两部份。inode table上有许多的inode, 每个inode分别记录一个档案的属性与这个档案分布在哪些datablock上(也就是我们说的指针)。inode两个功能:记...

qq_20853741的博客 2207

以下关于linux文件系统中inode,Linux 文件系统 inode

在linux系统中,每一个目录或者文件都会被分配一个 inode 与 block。inode的内容在记录档案的权限与相关属性,至于block区块则是在记录档案的实际内容。inode 存储的数据:文件的访问模式(r/w/x)文件所有者和组(owner/group)文件大小文件创建或状态改变的时间(ctime)最近一次的读取时间(atime)最近修改的时间(mtime)定义文件特性的标志(flag)文...

weixin_39877050的博客 316

【Linux】深入理解Linux文件系统中的inode

inode(Index Node)是Linux文件系统中的一种数据结构,用于存储文件的元数据(metadata),例如文件的大小、权限、所有者、创建时间等。每个文件和目录都对应一个唯一的inode,文件系统通过inode来管理和访问文件的相关信息。需要注意的是,inode不存储文件的实际数据内容,它只包含指向数据块的指针,而数据块中才存储了文件的实际内容。inode在Linux文件系统中扮演着关键角色,负责管理和访问文件的元数据。理解inode。

2403_86785171的博客 3204

linux 下理解文件系统的inode

前言 inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。 一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块

m0_53421868的博客 1426

Linux文件系统 struct inode 结构体解析

Linux文件系统 struct inode 结构体解析,以及 dentry 和 inode之间的关联简介。

小立仔 5044

linux 文件inode,Linux文件系统的inode介绍

文件是文件系统对数据的分割单元。文件系统用目录来组织文件,赋予文件以上下分级的结构。在硬盘上实现这一分级结构的关键,Linux使用inode来虚拟普通文件和目录文件对象。在Linux文件管理中,我们知道,一个文件除了自身的数据之外,还有一个附属信息,即文件的元数据(metadata)。这个元数据用于记录文件的许多信息,比如文件大小,拥有人,所属的组,修改日期等等。元数据并不包含在文件的数据中,而是...

weixin_35801512的博客 638
上一篇: FFmpeg中的滤镜(filter)知识点记录
下一篇: 推送仓库到github
tkp2014
博客等级 码龄12年 137粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值