df 的各种用法 以及与du 的区别
df的用法
在 Linux 中,“df”(disk free)是一个用于显示磁盘空间使用情况的命令。
一、主要功能
它可以列出文件系统的磁盘空间使用情况,包括磁盘总容量、已使用空间、可用空间以及使用率等信息。
二、常见用法及参数
- 基本用法: - 执行 “df” 命令,它将以默认的单位(通常是千字节)显示所有已挂载文件系统的信息。
- 例如:
 
收起
plaintext
复制
     $ df文件系统          1K-块     已用     可用 已用% 挂载点/dev/sda1       10473900 2574004  7342444   26% /
- 使用 “-h” 参数: - “-h” 表示以人类可读的格式显示磁盘空间大小,使用单位如 KB、MB、GB 等。
- 例如:
 
收起
plaintext
复制
     $ df -h文件系统        容量  已用  可用 已用% 挂载点/dev/sda1       10G  2.5G  7.0G   26% /
- 使用 “-T” 参数: - “-T” 显示文件系统类型。
- 例如:
 
收起
plaintext
复制
     $ df -hT文件系统     类型   容量  已用  可用 已用% 挂载点/dev/sda1     ext4   10G  2.5G  7.0G   26% /
三、输出解释
- “文件系统” 列:显示磁盘分区或存储设备的名称,代表不同的文件系统。
- “容量” 列:显示文件系统的总容量。
- “已用” 列:显示已经使用的磁盘空间大小。
- “可用” 列:显示剩余的可用磁盘空间大小。
- “已用 %” 列:表示已使用的磁盘空间占总容量的百分比。
- “挂载点” 列:指出文件系统被挂载的目录位置。
与du区别
在 Linux 中,df命令和du命令都是用于查看磁盘空间使用情况的工具,但它们之间存在一些重要的区别:
一、功能概述
- df(disk free)命令:主要用于显示文件系统的磁盘空间使用情况,包括文件系统的总容量、已用空间、可用空间以及挂载点等信息。它从文件系统的角度出发,展示整个文件系统的空间分配情况。
- du(disk usage)命令:用于统计文件或目录所占用的磁盘空间大小。它从文件和目录的层面进行统计,可以查看特定文件或目录及其子目录所占用的磁盘空间。
二、具体区别
- 统计范围: - df:统计整个文件系统的空间使用情况,包括所有文件、目录以及系统文件等。它关注的是文件系统的整体容量分配。
- du:可以针对特定的文件、目录或一组文件进行统计。它逐级遍历指定的目录及其子目录,计算每个文件和子目录所占用的空间,并汇总得到总大小。
 
- 输出内容: - df:显示文件系统的名称、总容量、已用空间、可用空间、使用率以及挂载点等信息。
- du:显示文件或目录的名称以及其所占用的磁盘空间大小。如果针对目录进行统计,还可以显示每个子目录的大小。
 
- 单位和格式: - df:通常以块(block)为单位显示磁盘空间大小,可以通过参数(如 “-h”)以人类可读的格式(如 KB、MB、GB 等)显示。
- du:默认以块为单位显示,可以使用参数(如 “-h”)以人类可读的格式显示。此外,- du还可以使用参数(如 “-s”)只显示总计大小,而不列出每个子目录的详细信息。
 
- 应用场景: - df:适用于快速了解文件系统的整体空间使用情况,特别是在需要确定是否有足够的磁盘空间可供使用,或者检查文件系统是否已满时。例如,管理员可以使用- df来监控服务器的磁盘空间,确保系统正常运行。
- du:常用于查找占用大量磁盘空间的文件或目录,以便进行清理或优化。例如,当磁盘空间不足时,可以使用- du来确定哪些目录或文件占用了过多的空间,然后采取相应的措施。
 
三、示例对比
假设在一个 Linux 系统中有以下目录结构:
收起
plaintext
复制
/
├── dir1
│   ├── file1.txt
│   └── dir2
│       └── file2.txt
└── dir3└── file3.txt
- 使用df命令:- 执行df -h命令将显示整个文件系统的空间使用情况,例如:
 
- 执行
收起
plaintext
复制
     文件系统        容量  已用  可用 已用% 挂载点/dev/sda1       100G   50G   50G   50% /
- 该命令不会显示具体的目录或文件的空间使用情况,而是提供文件系统层面的信息。
- 使用du命令:- 执行du -sh /dir1命令将显示/dir1目录及其子目录所占用的磁盘空间大小,例如:
 
- 执行
收起
plaintext
复制
     10M /dir1
- 如果执行du -sh /dir1/dir2,则会显示/dir1/dir2目录的大小。
- 使用du -s *可以列出当前目录下每个文件和子目录的总大小,但不显示子目录的详细内容。
综上所述,df和du命令虽然都与磁盘空间使用情况有关,但在统计范围、输出内容、单位格式和应用场景等方面存在明显的区别。根据具体的需求选择合适的命令可以更有效地管理和监控磁盘空间。
如何查看 df 命令的帮助信息?
du 命令统计目录时,如何忽略某些文件或目录?
如何根据 df 命令的输出结果调整磁盘空间?
