硬盘是常见的存储设备,最小单位叫做扇区,大小512kb。

文件存储在硬盘中,文件存储最小单位叫做块,大小通常为4k。

iNode用于存放文件的元信息,元信息如下:

所有者

所有组

权限

时间戳,ctime:最近一次改变时间;mtime:内容最近一次改变时间;atime:最近一次访问时间

大小

块位置

链接数

linux下可以使用stat命令查看文件详细信息

了解了iNode的概念之后,硬盘格式化就容易理解了。

我们知道,硬盘格式化之后,所能使用的空间并非100%,有一部分被占用了!这个就是iNode。

iNode节点数*每个节点大小=iNode所占空间,我们实际能够使用的空间就是总量-iNode空间。

可以使用df -i查看系统iNode相关情况。

每个文件都有一个iNode号,可以使用stat查看文件iNode号。

文件名这个概念,一看就是人为发明的,用来方便人类的。对于计算机而言,只有iNode号这个概念。

系统读取文件分为三步,找到iNode号,根据iNode号找到元信息,更具元信息找到block位置并读取。

上面说了stat可以查看iNode号,其实ls -i也可以查看iNode号。

硬链接和软链接

元信息中有一项是链接数。这个链接数其实就是指硬链接数量。

一般来说,创建了某个文件的硬链接,该链接数就会+1。相当于给iNode号多起了一个别名。

当文件的链接数为0时,iNode会被系统回收,文件不存在。

而软链接,相当于指向源文名的指针。软链接的多少不会影响链接数,

如果源文件不存在了,软链接自然也没作用了。

可以通过ln创建硬链接,加-s选项来创建软链接。

移动或者重命名文件,iNode号不会改变。

可以采用软链接的方式来缓冲iNode节点不足的现状。

Linux学习之inode说明的更多相关文章

  1. Linux 学习笔记之超详细基础linux命令 Part 14

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...

  2. Linux 学习笔记之超详细基础linux命令 Part 2

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 1----------------- ...

  3. Linux 学习总结(二)

    一.用户与用户组管理 1.添加用户 useradd 选项 用户名 -c 指定一段注释性描述 -d 目录,指定用户目录,若目录不存在,-m 选项可以创建目录 -g 指定用户所属用户组 -s 指定用户登陆 ...

  4. Linux学习之CentOS(一)--CentOS6.6下Mysql数据库的安装与配置

    在这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务.jar包都给我们安装好,所以省去了很多不必要的麻烦!!! [root@larry ~]# c ...

  5. (转)Linux最常用指令及快捷键 Linux学习笔记

    Linux最常用指令及快捷键 Linux学习笔记 原文:http://blog.csdn.net/yanghongche/article/details/50827478 [摘自 鸟叔的私房菜]--转 ...

  6. Linux学习笔记(一) 文件系统

    对于每一个 Linux 学习者来说,了解 Linux 文件系统的结构是十分有必要的 因为在 Linux 中一切皆文件,可以说只有深入了解 Linux 的文件系统,才会对 Linux 有更深刻的理解 L ...

  7. Linux学习02--Linux一切皆文件

    Linux学习第二部 Linux一切皆对象 啊啊啊啊啊,今天被学妹说太直了,嘤嘤嘤. 学习linux两三天了,前期感觉并不难,只是命令多,多记记多敲一敲就能都记住了.希望自己能够坚持下去吧! 下面是根 ...

  8. [转帖]linux学习问题总结

    linux学习问题总结 https://www.cnblogs.com/chenfangzhi/p/10661946.html 学习作者的思路 目录 一.环境变量和普通变量的区别 二.rsyslog和 ...

  9. Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用

    在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...

随机推荐

  1. [Contest20180116]随机游走

    题意:给一棵树,多次询问$a$到$b$期望步数,每一步都是随机的 对期望DP了解更深入了一些 先预处理$up_x$表示从$x$走到$fa_x$的期望步数 可以直接往上走,也可以先去儿子再回来,设$x$ ...

  2. 【二分图】【最大匹配】【匈牙利算法】CODEVS 2776 寻找代表元

    裸的匈牙利,存模板. #include<cstdio> #include<vector> #include<cstring> using namespace std ...

  3. 5.6(java学习笔记) queue

    一.queue接口 queue的中文意思是队列,是一种以先进先出方式处理数据的集合. 队列还提供额外的插入.提取和检查操作.这些方法都以两种形式存在:一种在操作失败时抛出异常,另一种返回特殊值(根据操 ...

  4. Java高级架构师(一)第19节:X-gen生成相应的Visitor

    package cn.javass.themes.smvcsm.visitors; import cn.javass.xgen.genconf.vo.ExtendConfModel; import c ...

  5. Java高级架构师(一)第07节:远程使用以及冲突解决

  6. @RequestMapping注解的使用,Controller方法返回值

    1,web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=" ...

  7. java-List集合遍历,删除或增加特定的元素

    1.for(int i=0; i<list.size(); i++) 2.for(Object object : list)  实质调用的 list.iterator() 3.list.iter ...

  8. 接入WebSocket记录 + 一些个人经验

    闲扯 WebSocket 以前没用过,之前写过一篇博客是基于原生socket的(查看)比较复杂,慎入.今天另外一个APP需要接websocket了,然后便找到了facebook的 SocketRock ...

  9. C++发送HTTP请求---亲测可行(转)

    转自:http://hi.baidu.com/benbearlove/item/1671c23017575825b3c0c53f 环境:xp sp3,vs2008,在静态库中使用 MFC #inclu ...

  10. POJ 2386 Lake Counting 搜索题解

    简单的深度搜索就能够了,看见有人说什么使用并查集,那简直是大算法小用了. 由于能够深搜而不用回溯.故此效率就是O(N*M)了. 技巧就是添加一个标志P,每次搜索到池塘,即有W字母,那么就觉得搜索到一个 ...