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
posted @   风风羊  阅读(264)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示