[Linux]文件系统和df,du命令


Ext2文件系统

Linux的正规文件系统为Ext2(Linux second extended file system),它主要由以下三个部分组成: 1)super block:记录此文件系统的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息等。 2)inode:记录文件的属性和权限(元数据metadata),一个文件占用一个inode,同时记录文件数据所在的block号 3)block:存放实际数据的地方 由于Ext2是索引式文件系统,基本上不太需要经常进行碎片整理,而Windows的FAT文件系统不是索引式文件系统,故经常需要碎片整理。

Ext3文件系统

如今主流的Linux大都采用Ext2文件系统,Ext3是Ext2的升级版,主要添加了日志支持(Journaling),是为了能快速修复文件系统。

df, du

df:列出文件系统的整体磁盘使用情况 df [ahikHTm] [目录或文件名]
-a:列出所有的文件系统,包括特殊的如/proc
-k:以KB显示
-m:以MB显示
-h:以人们较容易阅读的GB、MB、KB等格式显示
-H:已M=1000K替代M=1024K的进位方式
-T:显示文件系统类型(如ext3)
-i:用inode数量显示,而不是磁盘容量

最常用:df -h 或 df -hT
df读取的是superblock里的内容,所以速度非常快。
du:评估文件系统的磁盘使用量(常用于评估目录所占空间)
du [0ahskm] 文件或目录名称
-a:列出所有文件和目录
-h:以人类较容易阅读的格式显示
-s:只列出总量,而不列出各个子目录
-k:以KB显示
-m:以MB显示

最常用:du -sh 
du会直接到文件系统内查找所有的文件数据,故执行需要一定时间。

相关内容