前言
TF卡制作的过程中涉及到了磁盘分区格式化等问题,当时对具体的指令理解不是特别深刻;由此引申到我对linux中的整个磁盘与文件系统没有一个全面的认识,这个磁盘与文件系统的系列博客章节就对这些进行记录。
磁盘的整体数据是在 superblock 区块中,但是每个各别文件的容量则在 inode 当中记载的。在命令行下面查看这几个数据通过下面两个指令。
1. df指令
df
:列出文件系统的整体磁盘使用量;
一般用法:df 选项与参数 目录或文件名
选项与参数: | 含义 |
---|---|
-a | 列出所有的文件系统,包括系统特有的 /proc 等文件系统 |
-k | 以 KBytes 的容量显示各文件系统 |
-m | 以 MBytes 的容量显示各文件系统 |
-h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示 |
-H | 以 M=1000K 取代 M=1024K 的进位方式 |
-T | 连同该 partition 的 filesystem 名称 (例如 xfs) 也列出; |
-i | 不用磁盘容量,而以 inode 的数量来显示 |
这个在我日常使用过程中,一般使用df -h xxx
指令查看容量,同时保持阅读的美观。
下图中第一个是看总的使用情况,对于df指令不添加文件目录名,则默认是查看根目录下的所有文件名。
第二个指令我指定了文件名为我的主文件夹,可以看到edwinwzy文件夹对应在磁盘/dev/sda1下。
2. du指令
du
:评估文件系统的磁盘使用量(常用在推估目录所占容量)
一般用法:du 选项与参数 文件或目录名称
选项与参数 | 含义 |
---|---|
-a | 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已 |
-h | 以人们较易读的容量格式 (G/M) 显示 |
-s | 列出总量而已,而不列出每个各别的目录占用容量 |
-S | 不包括子目录下的总计,与 -s 有点差别 |
-k | 以 KBytes 列出容量显示 |
-m | 以 MBytes 列出容量显示 |
这个du我用的不多,但是和df有类似的功能,所以这边也进行一个整理。
如下图所示,如果没有任何参数和文件名的路径,那么默认是列出当前目录下的磁盘使用量,并且默认是以KB为单位进行显示的。
下图是为了更好的让自己以及大家明白区别,进行的示例与演示。可以看到-h
,-k
,-m
是三个参数的异同。