仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 899|回复: 10
打印 上一主题 下一主题

[其他Linux] Linux教程之了解inode仓酷云

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-18 11:29:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
对于linux命令,一定要学会用man和info去查他们的解释;
inode是一个主要观点,是了解Unix/Linux文件体系和硬盘贮存的基本。
我以为,了解inode,不但有助于进步体系操纵程度,另有助于体味Unix计划哲学,即怎样把底层的庞大性笼统成一个复杂观点,从而年夜年夜简化用户接口。
上面就是我的inode进修条记,只管坚持复杂。
===================================
了解inode
阮一峰

<br>
1、inode是甚么?
了解inode,要从文件贮存提及。
文件贮存在硬盘上,硬盘的最小存储单元叫做"扇区"(Sector)。每一个扇区贮存512字节(相称于0.5KB)。
操纵体系读取硬盘的时分,不会一个个扇区地读取,如许效力太低,而是一次性一连读取多个扇区,即一次性读取一个"块"(block)。这类由多个扇区构成的"块",是文件存取的最小单元。"块"的巨细,最多见的是4KB,即一连八个sector构成一个block。
文件数据都贮存在"块"中,那末很明显,我们还必需找到一个中央贮存文件的元信息,好比文件的创立者、文件的创立日期、文件的巨细等等。这类贮存文件元信息的地区就叫做inode,中文译名为"索引节点"。
每个文件对应一个inode,硬盘上有几文件,就有几个inode。
2、inode的内容
inode包括文件的元信息,详细来讲有以下内容:
  *文件的字节数
  *文件具有者的UserID
  *文件的GroupID
  *文件的读、写、实行权限
  *文件的工夫戳,共有三个:ctime指inode上一次变化的工夫,mtime指文件内容上一次变化的工夫,atime指文件上一次翻开的工夫。
  *链接数,即有几文件名指向这个inode
  *文件数据block的地位
能够用stat命令,检察某个文件的inode信息:
  statexample.txt

<br>
总之,除文件名之外的一切文件信息,都存在inode当中。至于为何没有文件名,下文会有具体注释。
3、inode的巨细
inode也会损耗硬盘空间,以是硬盘格局化的时分,操纵体系主动将硬盘分红两个地区。一个是数据区,寄存文件数据;另外一个是inode区(inodetable),寄存inode所包括的信息。
每一个inode节点的巨细,通常为128字节或256字节。inode节点的总数,在格局化时就给定,通常为每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每一个inode节点的巨细为128字节,每1KB就设置一个inode,那末inodetable的巨细就会到达128MB,占整块硬盘的12.8%。
检察每一个硬盘分区的inode总数和已利用的数目,可使用df命令。
  df-i

<br>
检察每一个inode节点的巨细,能够用以下命令:
  sudodumpe2fs-h/dev/hda|grep"Inodesize"

<br>
因为每一个文件都必需有一个inode,因而有大概产生inode已用光,可是硬盘还未存满的情形。这时候,就没法在硬盘上创立新文件。
4、inode号码
每一个inode都有一个号码,操纵体系用inode号码来辨认分歧的文件。
这里值得反复一遍,Unix/Linux体系外部不利用文件名,而利用inode号码来辨认文件。关于体系来讲,文件名只是inode号码便于辨认的别称大概外号。
外表上,用户经由过程文件名,翻开文件。实践上,体系外部这个历程分红三步:起首,体系找到这个文件名对应的inode号码;其次,经由过程inode号码,猎取inode信息;最初,依据inode信息,找到文件数据地点的block,读出数据。
利用ls-i命令,能够看到文件名对应的inode号码:
  ls-iexample.txt

<br>
5、目次文件
Unix/Linux体系中,目次(directory)也是一种文件。翻开目次,实践上就是翻开目次文件。
目次文件的布局十分复杂,就是一系列目次项(dirent)的列表。每一个目次项,由两部分构成:所包括文件的文件名,和该文件名对应的inode号码。
ls命令只列出目次文件中的一切文件名:
  ls/etc

<br>
ls-i命令列出全部目次文件,即文件名和inode号码:
  ls-i/etc

<br>
假如要检察文件的具体信息,就必需依据inode号码,会见inode节点,读失信息。ls-l命令列出文件的具体信息。
  ls-l/etc

<br>
6、硬链接
一样平常情形下,文件名和inode号码是"逐一对应"干系,每一个inode号码对应一个文件名。可是,Unix/Linux体系同意,多个文件名指向统一个inode号码。
这意味着,能够用分歧的文件名会见一样的内容;对文件内容举行修正,会影响到一切文件名;可是,删除一个文件名,不影响另外一个文件名的会见。这类情形就被称为"硬链接"(hardlink)。
ln命令能够创立硬链接:
  ln源文件方针文件

<br>
运转下面这条命令今后,源文件与方针文件的inode号码不异,都指向统一个inode。inode信息中有一项叫做"链接数",纪录指向该inode的文件名总数,这时候就会增添1。
反过去,删除一个文件名,就会使得inode节点中的"链接数"减1。当这个值减到0,标明没有文件名指向这个inode,体系就会接纳这个inode号码,和其所对应block地区。
这里特地说一下目次文件的"链接数"。创立目次时,默许会天生两个目次项:"."和".."。前者的inode号码就是以后目次的inode号码,同等于以后目次的"硬链接";后者的inode号码就是以后目次的父目次的inode号码,同等于父目次的"硬链接"。以是,任何一个目次的"硬链接"总数,老是即是2加上它的子目次总数(含埋没目次)。
7、软链接
除硬链接之外,另有一种特别情形。
文件A和文件B的inode号码固然纷歧样,可是文件A的内容是文件B的路径。读取文件A时,体系会主动将会见者导向文件B。因而,不管翻开哪个文件,终极读取的都是文件B。这时候,文件A就称为文件B的"软链接"(softlink)大概"标记链接(symboliclink)。
这意味着,文件A依附于文件B而存在,假如删除文件B,翻开文件A就会报错:"Nosuchfileordirectory"。这是软链接与硬链接最年夜的分歧:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因而产生变更。
ln-s命令能够创立软链接。
  ln-s源文文件或目次方针文件或目次

<br>
8、inode的特别感化
因为inode号码与文件名分别,这类机制招致了一些Unix/Linux体系独有的征象。
  1.偶然,文件名包括特别字符,没法一般删除。这时候,间接删除inode节点,就可以起到删除文件的感化。
  2.挪动文件或重定名文件,只是改动文件名,不影响inode号码。
  3.翻开一个文件今后,体系就以inode号码来辨认这个文件,不再思索文件名。因而,一般来讲,体系没法从inode号码得知文件名。
第3点使得软件更新变得复杂,能够在不封闭软件的情形下举行更新,不必要重启。由于体系经由过程inode号码,辨认运转中的文件,欠亨过文件名。更新的时分,新版文件以一样的文件名,天生一个新的inode,不会影响到运转中的文件。比及下一次运转这个软件的时分,文件名就主动指向新版文件,旧版文件的inode则被接纳。
(完)

如果你让他去用linux搭建一个web服务器,做一个linux网关,他就什么都不会了.他们把时间都浪费在了版本的转换上了.
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-25 09:35:12 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
透明 该用户已被删除
9#
发表于 2015-3-18 02:28:15 | 只看该作者
你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-11 09:22:37 | 只看该作者
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
小妖女 该用户已被删除
7#
发表于 2015-3-3 13:42:27 | 只看该作者
我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
简单生活 该用户已被删除
6#
发表于 2015-2-6 02:42:41 | 只看该作者
老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
山那边是海 该用户已被删除
5#
发表于 2015-2-3 21:43:54 | 只看该作者
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
飘飘悠悠 该用户已被删除
地板
发表于 2015-1-25 20:30:21 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
莫相离 该用户已被删除
板凳
发表于 2015-1-25 17:36:34 | 只看该作者
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
飘灵儿 该用户已被删除
沙发
发表于 2015-1-24 14:00:05 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
老尸 该用户已被删除
楼主
 楼主| 发表于 2015-1-21 07:47:06 | 只看该作者
应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-22 18:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表