sector:扇区,硬盘存储的最小单位,大小为0.5KB(512字节)

block:块文件存取的最小单位,1 block=8 sector,大小4KB

inode:存储文件元信息。内容包括

* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳。共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指上一次访问的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置(pointer)

inode一般大小为128KB或者256KB。

inode的数量在硬盘格式化时就指定好了,所以一块硬盘上存储的文件数量是固定的

一个inode就代表一个真实的文件。操作系统通过inode号码(inode number)来识别inode

目录也是一种文件,访问目录就是打开目录文件。里面存放这文件名和对应的inode号码。如果要读取文件的详细信息,必须有目录的执行权限(x)

多个文件名对应同一个inode-no,被称为“硬链接”(hard link)。inode当中的链接数(link count)记录硬链接的数量

任何目录的链接数等于自身硬链接(.) + 父目录硬链接(..) + 子目录链接数(包含隐藏目录)。特例是根目录是自身的父目录。

软链接(soft link)或 符号链接(symbolic link)则是创建一个文件类型是链接文件的新文件,不会增加原文件的链接数。类似于windows的快捷方式

由于软链接包含了原文件的路径信息,所以如果原文件移动或删除了,就会报错:"No such file or directory"。

硬链接不能链接目录(超级管理员可以,其实只是规定而已),不能跨文件系统,软链接可以。

打开一个文件的过程:

  1. 根据文件名,找到对应的inode-no
  2. 根据inode-no在inode-table中找到inode信息
  3. 根据inode信息中的pointer找到文件所在的block

删除文件实际上就是让inode的链接数(link count)减一。链接数为0时,inode以及文件会被系统自动回收

linux inode cheat sheet的更多相关文章

  1. Linux常用命令汇总 - Linux Shell Cheat Sheet

    1. 查看Linux操作系统信息: uname -a cat /proc/version lsb_release -a 2. 设置ls显示的文件夹的颜色(将下面这条目录加在 .bashrc 文件最后) ...

  2. (copy) Linux Commands Cheat Sheet in Black & White

    source: http://linoxide.com/linux-command/linux-commands-cheat-sheet/

  3. 微软推 Azure 机器学习工具:Algorithm Cheat Sheet

    微软推 Azure 机器学习工具:Algorithm Cheat Sheet [日期:2015-05-15] 来源:CSDN  作者:Linux [字体:大 中 小]   Azure Machine ...

  4. Tools - 速查表与备忘单(Cheat Sheet)

    Cheat Sheets Rico's cheatsheets Cheat-Sheets.org Python Python Cheat sheet Python Programming Cheat ...

  5. Git Cheat Sheet 中文版

    Git Cheat Sheet 中文版 索引 配置 配置文件 创建 本地修改 搜索 提交历史 分支与标签 更新与发布 合并与重置 撤销 Git Flow 配置 列出当前配置: $ git config ...

  6. Reverse Shell Cheat Sheet

    Reverse Shell Cheat Sheet If you're lucky enough to find a command execution vulnerability during a ...

  7. 转:PostgreSQL Cheat Sheet

    PostgreSQL Cheat Sheet CREATE DATABASE CREATE DATABASE dbName; CREATE TABLE (with auto numbering int ...

  8. Git Cheat Sheet

    Merge Undo git merge with conflicts $ git merge --abort Archive $ git archive --format zip --output ...

  9. CSS3 Animation Cheat Sheet:实用的 CSS3 动画库

    CSS3 Animation Cheat Sheet 是一组预设的动画库,为您的 Web 项目添加各种很炫的动画.所有你需要做的是添加样式表到你的网站,为你想要添加动画效果的元素应用预制的 CSS 类 ...

随机推荐

  1. Bootstrap-CL:进度条

    ylbtech-Bootstrap-CL:进度条 1.返回顶部 1. Bootstrap 进度条 本章将讲解 Bootstrap 进度条.在本教程中,您将看到如何使用 Bootstrap 创建加载.重 ...

  2. Java ScriptEngine 解析js

    Java ScriptEngine 解析js 1.脚本引擎 ① 通过脚本名称获取:      ScriptEngine engine = new ScriptEngineManager().getEn ...

  3. 20181123_SQL Server 2008_找出以逗号分隔的字符串中最大的数字

    --select [dbo].[Fun_GetMaxNum]('棉 20%,麻 190%,涤纶60%') CREATE FUNCTION [dbo].[Fun_GetMaxNum] ( @StrAll ...

  4. 第七章 : Git 介绍 (下)[Learn Android Studio 汉化教程]

    Learn Android Studio 汉化教程 Let’s reset even further to remove all traces of your work on the deprecat ...

  5. SecureCRT 8.1使用经验总结

    1.反空闲设置: 2.文件上传下载 上传 sudo rz -y 文本文件勾选Upload files as ASCII,图片或其他飞文本文件,去掉勾选.采用默认binary 3.文件下载 sudo s ...

  6. 超文本传输协议http详解

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...

  7. GitHub中README.md文件的编辑和使用

    最近对它的README.md文件颇为感兴趣.便写下这贴,帮助更多的还不会编写README文件的同学们. README文件后缀名为md.md是markdown的缩写,markdown是一种编辑博客的语言 ...

  8. 阻止后续事件的发生 onclick 双return 事件绑定(..$).click一个return

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. oracle ora-01652无法通过128(在表空间xxx中)扩展 问题解决方式

    问题原因建立的表空间dbf文件大小上限了 一. select * from dba_data_files 使用该条语句可以查看当前库中有多少表空间并且DBF文件的存储位置 二.查看表空间是否开启了自动 ...

  10. 初步认识session

    TestSession01.java protected void doPost(HttpServletRequest request, HttpServletResponse response) t ...