linuxdu 和 df 的定义,以及区别?
封面图
•
2025-12-28
•
Linux
261
0
0
0
在 Linux 系统中,`df` 和 `du` 是两个常用的命令行工具,用于查看磁盘使用情况。虽然它们都与磁盘空间有关,但它们的用途和工作方式有明显区别。 --- ## 一、`df` 命令(Disk Free) ### 定义: `df` 是 **Disk Free** 的缩写,用于显示文件系统的磁盘空间使用情况,包括已用空间、可用空间、挂载点等信息。 ### 常用命令示例: ```bash df -h ``` 输出示例: ``` Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 20G 30G 40% / tmpfs 1.9G 0 1.9G 0% /dev/shm ``` ### 特点: - 显示的是 **整个文件系统** 的磁盘使用情况。 - 显示的是 **实际已分配的空间**,而不是文件本身的大小。 - 可以显示多个挂载点(如 `/`, `/home`, `/var` 等)。 - 不会列出具体某个目录或文件的占用情况。 --- ## 二、`du` 命令(Disk Usage) ### 定义: `du` 是 **Disk Usage** 的缩写,用于显示 **目录或文件** 占用的磁盘空间。 ### 常用命令示例: ```bash du -sh /path/to/directory ``` 输出示例: ``` 1.2G /home/user/data ``` ### 特点: - 显示的是 **特定目录或文件** 的磁盘使用情况。 - 可以递归显示子目录的占用情况。 - 显示的是 **实际文件数据** 的大小(不包括未使用的空间)。 - 更适合查找哪些目录或文件占用了大量空间。 --- ## 三、`df` 和 `du` 的区别总结 | 特性 | `df` | `du` | |--------------|----------------------------------|-----------------------------------| | 作用对象 | 文件系统(整个分区/挂载点) | 目录或文件 | | 显示内容 | 已用空间、可用空间、挂载点等 | 指定目录或文件的实际占用空间 | | 是否递归 | 否(除非指定多个路径) | 是(默认递归) | | 是否显示详细 | 可以通过参数显示更详细信息 | 可以通过 `-h`、`-s` 等优化输出 | | 使用场景 | 查看整体磁盘空间使用情况 | 查找哪个目录或文件占用了太多空间 | --- ## 四、常见问题举例 ### Q:为什么 `df` 显示有空间,但 `du` 显示某个目录已经占满? **原因**:可能是因为该目录中有 **被删除的文件**,但由于进程仍持有这些文件的句柄,导致磁盘空间没有释放。这种情况下,`df` 会显示空间已被占用,而 `du` 无法统计到这些“隐藏”的文件。 --- ## 五、常用组合使用 你可以结合 `df` 和 `du` 来排查磁盘问题: ```bash df -h du -sh /var/* ``` 这可以帮助你快速找到哪些目录占用了较多空间。 --- 如有需要,我可以进一步解释每个命令的具体选项和用法。
上一篇:
Unix和Linux有什么区别?
下一篇:
Linux 的目录结构是怎样的?
标题录入,一次不能超过6条
留言
评论