df 命令用于显示目前在 Linux 系统上的文件系统的磁盘使用情况统计,du 会显示指定的目录或文件所占用的磁盘空间,两个命令都能查询磁盘使用情况,那两者有什么区别?今天杜老师聊一下 df 和 du 的区别!
df 命令的选项列表如下:
选项 | 作用 |
---|---|
-a | 包含所有文件系统 |
-h | 使用人类易识别的格式 |
-H | 类似于-h, 但进制为 1000 而不是用 1024 |
-i | 列出 inode 的信息,不列出已用 block |
-k | 就像是–block-size=1024 |
-l | 限制列出文件结构 |
-m | 就像是–block-size=1048576 |
–no-sync | 取得信息前不同步 |
–sync | 在取得信息前同步 |
-t | 限制列出文件系统类型 |
-T | 显示文件系统类型 |
-x | 限制列出文件系统不要显示类型 |
–help | 显示帮助 |
–version | 输出版本信息 |
du 命令的选项列表如下:
选项 | 作用 |
---|---|
-a | 显示目录中个别文件的大小 |
-b | 显示目录或文件大小时,使用 byte 为单位 |
-c | 除了显示个别目录或文件大小外,同时也显示所有目录或文件总和 |
-D | 显示指定符号连接的源文件大小 |
-h | 使用人类易识别的格式 |
-H | 类似于-h, 但进制为 1000 而不是用 1024 |
-k | K 为单位 |
-l | 重复计算硬件连接文件 |
-L | 显示选项中所指定符号连接的源文件大小 |
-m | M 为单位 |
-s | 显示总计 |
-S | 显示个别目录的大小时,并不含其子目录的大小 |
-x | 以一开始处理时的文件系统为准,若遇上其它不同文件系统目录则略过 |
-X | 指定目录或者文件 |
–exclude | 略过指定的目录或文件 |
–max-depth | 超过指定层数的目录后,予以忽略 |
–help | 显示帮助 |
–version | 显示版本信息 |
df 命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或者程序占用的空间,最常见的就是文件已经删除,但程序并没有释放空间;du 命令是面向文件,只会计算文件或目录占用的空间。
如果把磁盘比作大学的宿舍,df 则是从住宿登记表中查询,du 则是挨个床位数。