iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux inode表示的是什么
  • 414
分享到

linux inode表示的是什么

linuxinode 2023-04-22 05:04:26 414人浏览 薄情痞子
摘要

今天小编给大家分享一下linux inode表示的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来

今天小编给大家分享一下linux inode表示的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

linux inode是用来标识操作系统的文件的一个特征描述;linux系统为每一个文件都分配了一个inode编号,这个编号中记录了文件相关的一些元信息,通过这些元信息可以用来唯一标识一个文件。

linux inode是什么?

要了解 Linux 操作系统上的 inode 前,我们先来说说 Linux操作系统上的文件。对于 Linux 操作系统而言,[一切皆文件]。而文件是无法独立于存储介质(这里指的是物理磁盘或内存、闪存等)存在的,一切操作系统上的文件都无时无刻不在和存储介质打交道。

例如,读取文件时需要将文件从磁盘中加载到内存中,当文件操作结束后,文件又会被存储到磁盘中。那么,既然文件要被存储到磁盘中,而磁盘是有容量限制的,那么也就是说磁盘上能存放的物理文件的数量是有限的。

如果你已经理解了这一个观点,那么恭喜你,你大体上已经知道了 inode 是干什么的。

没错,inode 是用来标识操作系统的文件的一个特征描述,而且操作系统上的 inode 并非无穷无尽,通常在你安装操作系统后,系统上的 inode 数量就已经确定了下来(不过,你可以动态修改 inode 的数量)。

你可以通过 sysctl -a 查询系统上的 inode 数量。

[root@server ~]# sysctl -a | grep inode
fs.inode-nr = 70212 21785

如上,fs.inode-nr 中的 70212 标识当前操作系统已分配的 inode 数量;21785 表示单前操作系统剩余空闲的 inode 数量

刚刚说过, inode 是用来标识文件的一个特征,这是为什么呢?

Linux 系统为每一个文件都分配了一个 inode 编号,这个编号中记录了文件相关的一些元信息,通过这些元信息可以用来唯一标识一个文件。

你可以通过 ls -i 查看任意一个文件的 inode 编号

[root@server ~]# ls -i logrotate.man
8986710 logrotate.man

而要查看文件的元信息,你需要使用 stat {filename}

[root@server ~]# stat logrotate.man
  文件:"logrotate.man"
  大小:18033      块:40         io 块:4096   普通文件
设备:fd00h/64768d Inode:8986710     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-11-25 03:20:39.497330998 -0500
最近更改:2021-11-24 04:38:17.781399647 -0500
最近改动:2021-11-24 04:38:17.797398907 -0500
创建时间:-

如上,即为一个文件的 inode 信息。这其中包含:

  • 大小:18033: 文件的字节数。这个文件占据的磁盘空间为 18033 Bytes

  • 块:40:使用的 block(数据块)。这个文件使用了 40 个物理块

  • 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root):文件的权限及属组信息。该文件为普通文件,权限为 0644,用户和属组都为 root

  • 最近访问:2021-11-25 03:20:39.497330998 -0500:即 atime(最后一次访问该文件的时间)

  • 最近更改:2021-11-24 04:38:17.781399647 -0500:即 mtime(最后一次修改文件的时间)

  • 最近改动:2021-11-24 04:38:17.797398907 -0500:即 ctime(最后一次改变文件(权限、属组)的时间)

事实上,刚刚通过 stat logrotate.man 中还包括一个字段 硬链接:1。

为什么硬链接会出现在 inode 信息中?

一般情况下,操作系统中一个文件对应一个 inode ,但是这种规则却不适用于 硬链接 文件。盖因Linux操作系统上,允许多个文件指向同一个 inode 编号。

硬链接场景下,可以使用不同的文件名访问同一个文件的内容,对文件内容、属性等的修改会传递到其他文件。但删除一个链接文件,并不影响其他文件的访问。

例如,建立 logrotate.man 的硬链接文件

[root@server ~]# ln logrotate.man logrotate.man.1
[root@server ~]# ls -i logrotate.man*
8986710 logrotate.man  8986710 logrotate.man.1
# 可以看到,建立了硬链接的文件共用了同一个 inode 编号
[root@server ~]# stat logrotate.man
  文件:"logrotate.man"
  大小:18033      块:40         IO 块:4096   普通文件
设备:fd00h/64768d Inode:8986710     硬链接:2
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-11-25 03:20:39.497330998 -0500
最近更改:2021-11-24 04:38:17.781399647 -0500
最近改动:2021-12-05 01:22:05.716611059 -0500
创建时间:-

建立硬链接后,通过 stat 可以看到 硬链接的数量变为 2 了。

这个时候我们删除原始的链接文件,查看链接后的文件内容

[root@server ~]# rm -rf logrotate.man
[root@server ~]# tail -n 1 logrotate.man.1
Linux                                 Wed Nov 5 2002                                                                                                                 LOGROTATE(8)
[root@server ~]# stat logrotate.man.1
  文件:"logrotate.man.1"
  大小:18033      块:40         IO 块:4096   普通文件
设备:fd00h/64768d Inode:8986710     硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-12-05 01:25:50.701384256 -0500
最近更改:2021-11-24 04:38:17.781399647 -0500
最近改动:2021-12-05 01:25:41.544800473 -0500
创建时间:-

删除硬链接的原始文件后,可以成功读取链接后的文件内容,此时,硬链接数量又变为了 1。

出现这种情况的原因在于,硬链接实际上是对文件增加了一个索引,这个索引指向文件的 inode 编号。当硬链接的数量大于 1 时,说明该文件除去自身外,还有多个硬链接。当硬链接的数量等于 0 时,此时操作系统已经没有任何文件指向该 inode,也即是操作系统会回收 inode。

事实上,每删除一个文件,是对该文件硬链接数的「减一」操作。当文件的硬链接数归 0 时,这个文件会被操作系统彻底清除掉。

最后,通常情况下,操作系统分配的 inode 数量是完全够用的,但出于一些程序或人为的意外可能会导致操作系统的 inode 溢出,你可以通过 df -ih 查看系统分区下 inode 的使用情况以便及时作出应对措施。

[root@server ~]# df -ih
文件系统                Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs                 121K     390    121K       1% /dev
tmpfs                    124K       1    124K       1% /dev/shm
tmpfs                    124K     522    124K       1% /run
tmpfs                    124K      16    124K       1% /sys/fs/cgroup
/dev/mapper/Centos-root  4.0M    129K    3.9M       4% /
/dev/vda1                512K     332    512K       1% /boot
tmpfs                    124K       1    124K       1% /run/user/0

以上就是“linux inode表示的是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程服务器栏目。

--结束END--

本文标题: linux inode表示的是什么

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux inode表示的是什么
    今天小编给大家分享一下linux inode表示的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-04-22
    linux inode
  • Linux inode是什么
    这篇文章主要介绍“Linux inode是什么”,在日常操作中,相信很多人在Linux inode是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux inode是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-28
  • Linux系统中的inode是什么
    这篇文章给大家分享的是有关Linux系统中的inode是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如Linux操作系统的文件权限与文件属性。文件...
    99+
    2023-06-27
  • Linux中 inode的作用是什么
    本篇文章给大家分享的是有关Linux中 inode的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 一、inode是什么理解inode,要从文件储存说起。文...
    99+
    2023-06-16
  • inode是什么
    小编给大家分享一下inode是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最...
    99+
    2023-06-16
  • Linux索引节点inode是什么
    这篇文章给大家分享的是有关Linux索引节点inode是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux索引节点inode就是储存文件元信息的区域,记录了文件的属性以及该文件实际存储位置,即数据块号(...
    99+
    2023-06-28
  • Linux系统中inode节点的作用是什么
    今天就跟大家聊聊有关Linux系统中inode节点的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,...
    99+
    2023-06-13
  • linux mtd表示的是什么
    这篇文章主要介绍“linux mtd表示的是什么”,在日常操作中,相信很多人在linux mtd表示的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux mtd表...
    99+
    2023-04-22
    linux mtd
  • linux下的tty1表示什么
    本篇内容主要讲解“linux下的tty1表示什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下的tty1表示什么”吧! ...
    99+
    2023-03-24
    linux
  • Centos中Inode和Block的作用是什么
    这篇文章给大家介绍Centos中Inode和Block的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。linux 的inode及block的相关知识:1> Linux系统分区格式化文件系统之后,系统会分...
    99+
    2023-06-10
  • Linux的inode信息怎么查看
    这篇文章主要介绍了Linux的inode信息怎么查看的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux的inode信息怎么查看文章都会有所收获,下面我们一起来看看吧。inode在文件系统创建是确定,并且每...
    99+
    2023-06-27
  • linux中ifcfg-eth0表示什么
    本文小编为大家详细介绍“linux中ifcfg-eth0表示什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux中ifcfg-eth0表示什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在linux中...
    99+
    2023-06-30
  • Linux系统磁盘分区的表示方法是什么
    这篇文章的内容主要围绕Linux系统磁盘分区的表示方法是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在linux中使用fdisk -l 命令可...
    99+
    2023-06-28
  • us域名表示的是什么
    us域名是美国的国别域名,和我国的cn域名性质一样,为国家顶级域名;us域名还是一个通用顶级域名,任何行业都可以使用,us域名作为美国的国家顶级域名,如在美国内创立公司并需要拓展市场,选择使用us域名是一个很好的选择。...
    99+
    2024-04-02
  • Linux系统中存储设备的表示方法是什么
    本篇内容介绍了“Linux系统中存储设备的表示方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!硬盘分区的第二种表示方法(hd[0-n...
    99+
    2023-06-16
  • linux中pwd表示什么意思
    Linux中pwd表示Linux一个常用命令的意思,是Linux系统管理员和普通用户常用的一个命令,可以帮助用户快速找到当前所在的目录,便于用户更好地管理文件和目录,也可以帮助管理员和用户快速定位某些特定的目录或文件,从而更好地管理Linu...
    99+
    2023-07-10
  • linux ls命令显示的蓝色表示什么意思
    本文小编为大家详细介绍“linux ls命令显示的蓝色表示什么意思”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux ls命令显示的蓝色表示什么意思”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在linu...
    99+
    2023-07-02
  • css表示行高的属性是什么
    本篇内容介绍了“css表示行高的属性是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • css常见的命名表示是什么
    这篇文章主要介绍了css常见的命名表示是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。以下为css页面模块的常用命名:  &n...
    99+
    2024-04-02
  • c++引用的表示方法是什么
    今天小编给大家分享一下c++引用的表示方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引用的概念引用 不是新定义一个...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作