Linux的inode与block,以及文件删除原理
1,inode包含文件的元信息,具体来说有以下内容:
文件的字节数
文件拥有者的User ID
文件的Group ID
文件的读、写、执行权限
文件的时间戳,共有三个:ctime指inode上次文件属性变动的时间,例如:chmod +x a.sh;mtime指文件内容上次变动的时间,例如:echo aa >> a.sh或vim a.sh;atime值文件上次打开的时间,例如:cat a.sh。
链接数,即有多少文件名指向这个inode
文件数据block的位置
2,我们可以用stat命令,查看某个文件的inode信息:
1 2 3 4 5 6 7 8 9 10 | [root@xuexi ~] # stat /etc/passwd 文件: "/etc/passwd" 大小:2257 块:8 IO 块:4096 普通文件 设备:803h /2051d Inode:17324457 硬链接:1 权限:(0644 /-rw-r--r-- ) Uid:( 0/ root) Gid:( 0/ root) 环境:system_u:object_r:passwd_file_t:s0 最近访问:2019-03-08 11:00:01.672759577 +0800 最近更改:2019-02-13 16:19:23.303395879 +0800 最近改动:2019-02-13 16:19:23.305395782 +0800 创建时间:- |
1,block是什么
block是真正存储数据的地方。block是文件系统中的最小存储单位,扇区是磁盘中的最小存储单位。
注意:Linux下叫block,Windows下叫簇。
2, Block或簇的大小对系统的影响
簇或block调大时,节约了寻址时间,速度变快,但浪费空间;簇和block调小时,节约空间,但寻址时间变长,速度变慢。
说明:为什么簇或block调大会浪费空间?这是因为一个文件会占用多个簇或block来存放。当前一个簇或block放不下时,就会占用下一个簇或block,到最后如果产生不足以占用一个完整的簇或block时,仍然会占用一个完整的簇或block,就会浪费这个簇或block剩下的空间。
如果有一个2T的硬盘,可以前1.5T使用4K的簇或block,后0.5G使用64K的簇或block,这样可以改善机械硬盘越到最后速度越慢的问题
文件删除原理:
需要删除文件的所有硬链接才能真正删除文件
https://blog.csdn.net/awakeinging_/article/details/107470118
https://www.cnblogs.com/lcc0/p/15948994.html
分类:
linux 系统基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通