linux inode cheat sheet
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"。
硬链接不能链接目录(超级管理员可以,其实只是规定而已),不能跨文件系统,软链接可以。
打开一个文件的过程:
- 根据文件名,找到对应的inode-no
- 根据inode-no在inode-table中找到inode信息
- 根据inode信息中的pointer找到文件所在的block
删除文件实际上就是让inode的链接数(link count)减一。链接数为0时,inode以及文件会被系统自动回收
linux inode cheat sheet的更多相关文章
- Linux常用命令汇总 - Linux Shell Cheat Sheet
1. 查看Linux操作系统信息: uname -a cat /proc/version lsb_release -a 2. 设置ls显示的文件夹的颜色(将下面这条目录加在 .bashrc 文件最后) ...
- (copy) Linux Commands Cheat Sheet in Black & White
source: http://linoxide.com/linux-command/linux-commands-cheat-sheet/
- 微软推 Azure 机器学习工具:Algorithm Cheat Sheet
微软推 Azure 机器学习工具:Algorithm Cheat Sheet [日期:2015-05-15] 来源:CSDN 作者:Linux [字体:大 中 小] Azure Machine ...
- Tools - 速查表与备忘单(Cheat Sheet)
Cheat Sheets Rico's cheatsheets Cheat-Sheets.org Python Python Cheat sheet Python Programming Cheat ...
- Git Cheat Sheet 中文版
Git Cheat Sheet 中文版 索引 配置 配置文件 创建 本地修改 搜索 提交历史 分支与标签 更新与发布 合并与重置 撤销 Git Flow 配置 列出当前配置: $ git config ...
- Reverse Shell Cheat Sheet
Reverse Shell Cheat Sheet If you're lucky enough to find a command execution vulnerability during a ...
- 转:PostgreSQL Cheat Sheet
PostgreSQL Cheat Sheet CREATE DATABASE CREATE DATABASE dbName; CREATE TABLE (with auto numbering int ...
- Git Cheat Sheet
Merge Undo git merge with conflicts $ git merge --abort Archive $ git archive --format zip --output ...
- CSS3 Animation Cheat Sheet:实用的 CSS3 动画库
CSS3 Animation Cheat Sheet 是一组预设的动画库,为您的 Web 项目添加各种很炫的动画.所有你需要做的是添加样式表到你的网站,为你想要添加动画效果的元素应用预制的 CSS 类 ...
随机推荐
- IE11浏览器卸载
点击卸载程序,然后选择查看已安装的更新. 在当前安装的更新里找到IE11的更新,然后直接右击卸载:这里告诉大家一小窍门哈,我们在搜索栏输入IE就会查找更新啦,不用一个一个去找的哦. 卸载完我们重启一下 ...
- Java 经典练习题_Day010
final 变量能被显式地初始化并且只能初始化一次.被声明为 final 的对象的引用不能指向不同的对象.但是 final 对象里的数据可以被改变.也就是说 final 对象的引用不能改变,但是里面的 ...
- Y480&Y580 刷slic2.1全自动教程
由于之前时间赶,写得比较乱,现在我重新把我.安装UltraISO.2.插上一个U盘.3.用UltraISO打开setup98.img镜像4.在UltraISO的“启动”的下拉菜单里选择“写入硬盘镜像” ...
- Java之dom4j的简单解析和生成xml的应用
一.dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能超过sun公 ...
- java版本特性总结
学java这么久,对其每个版本的特性不是怎么了解,今天总结一下. 1.4: java NIO,基于多路复用技术(基于IO) 1.5 枚举.foreach.static导入 范型(重要) 注解(配置文件 ...
- Linux下分析某个进程CPU占用率高的原因
Linux下分析某个进程CPU占用率高的原因 通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1.top 查到占用cpu高的进程pid 2.查看该pid的线程 ...
- 基于 Lucene 的桌面文件搜索
开源2010年,自己在学习 Lucene 时开发的一款桌面文件搜索工具,这么多年过去了,代码一直静静存放在自己的硬盘上,与其让其沉睡,不如分享出来. 这款工具带有明显的模仿 Everything 的痕 ...
- 【python 】Requests 库学习笔记
概览 实例引入 import requests response = requests.get('https://www.baidu.com/') print(type(response)) prin ...
- linux 同步IO: sync、fsync与fdatasync
[linux 同步IO: sync.fsync与fdatasync] 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行.当将数据写入文件时,内核通常先将该数据 ...
- 线程并发线程安全介绍及java.util.concurrent包下类介绍
线程Thread,在Java开发中多线程是必不可少的,但是真正能用好的并不多! 首先开启一个线程三种方式 ①new Thread(Runnable).start() ②thread.start(); ...