硬盘是常见的存储设备,最小单位叫做扇区,大小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. UOJ Rounds

    UOJ Test Round #1 T1:数字比大小的本质是按(长度,字典序)比大小. T2:首先发现单调性,二分答案,用堆模拟,$O(n\log^2 n)$. 第二个log已经没有什么可优化的了,但 ...

  2. 【递归】先修课 计算概论(A) / 函数递归练习(3)2:分解因数

    #include<cstdio> using namespace std; bool is_prime(int x) { ;i*i<=x;i++) ) return false; r ...

  3. tcp状态-TIME_WAIT与CLOSE_WAIT带来的坑

    tcp状态: http://www.cnblogs.com/DengGao/p/tcp_state.html 1. tcp连接会占用系统资源(文件描述符), 有时候甚至会导致系统假死(不能发起或者处理 ...

  4. 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置 ------符号文件

    http://www.cnblogs.com/lyhabc/p/4184708.html

  5. oracle解决连接池不足

       select count(*) from v$process;----系统有多少连接数  select value from v$parameter where name = 'processe ...

  6. mac 切换默认python版本

    https://www.zhihu.com/question/30941329 首先终端的“python”命令会执行/usr/local/bin下的“python”链接,链接相当于win下的快捷方式, ...

  7. 精通JavaScript攻击框架:AttackAPI

    多年来客户端安全一直未引起人们的足够重视,但是如今情况发生了急剧转变,客户端安全已经成为信息安全领域的焦点之一.Web恶意软件.AJAX蠕虫.浏览历史暴破.登录检测.傀儡控制技术网络端口扫描以及浏览器 ...

  8. Vue生命周期各阶段发生的事情

    首先,参考之前一篇vue生命周期的总结:Vue生命周期总结 接下来我们来分析下官方文档经典流程图,每个阶段到底发生了什么事情. 1.在beforeCreate和created钩子函数之间的生命周期 在 ...

  9. ubuntu14.04 server 安装docker

    安装docker服务 $ curl -sSL https://get.docker.com/ | sh   $ ocker run hello-world 测试docker是否安装成功 ubuntu ...

  10. hadoop提交作业自定义排序和分组

    现有数据如下: 3 3 3 2 3 1 2 2 2 1 1 1 要求为: 先按第一列从小到大排序,如果第一列相同,按第二列从小到大排序 如果是hadoop默认的排序方式,只能比较key,也就是第一列, ...