df -h和du -sh结果不一致,删除进程打开的文件也没有
时间: 2024-04-12 13:33:38 浏览: 40
您好!对于您提到的问题,`df -h`和`du -sh`命令可能会给出不同的结果,这是因为它们分别用于不同的目的。
- `df -h`命令用于显示文件系统的磁盘空间使用情况。它会报告整个文件系统的总空间、已用空间和可用空间。
- `du -sh`命令用于估算目录或文件的磁盘空间使用情况。它会递归地计算指定目录下所有文件和子目录的大小,并给出一个总和。
这两个命令之间的差异通常是由于以下几个原因导致的:
1. "df"命令显示的是文件系统空间使用情况,而"du"命令显示的是文件或目录占用的磁盘空间。因此,如果有其他进程打开了文件并占用了磁盘空间,"du"命令可能不会反映这些占用。
2. "du"命令对于一些特殊的文件、链接和设备文件可能会报告错误的大小。
3. 另外,如果您使用`du -sh`命令来计算整个文件系统的大小,那么它可能无法访问某些目录或文件,从而导致计算出来的总和不准确。
如果您希望更详细地了解每个命令的使用和结果,请提供更多的上下文信息或具体的示例,我将尽力为您提供更准确的解答。
相关问题
linux使用df -h显示没有空间,但是du -sh *找不到大文件
这可能是由于某些文件被删除但仍然被进程占用,导致磁盘空间无法释放。你可以使用lsof命令查找这些被占用的文件。运行以下命令列出磁盘空间使用情况最高的前10个目录:
```
du -h / | sort -n -r | head -n 10
```
如果你仍然找不到问题所在,你可以尝试使用find命令查找大文件:
```
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
```
上述命令将查找所有大于100MB的文件。如果这些命令都无法解决问题,你可能需要考虑重新分配磁盘空间或者清理系统日志等无用文件。
df -h 查看/ 占用90% 但实际却没有
可能是由于某些未释放的文件句柄或者已删除但未释放的文件导致的磁盘空间占用问题。你可以使用 `lsof` 命令来查看哪些进程在占用文件句柄,然后结束这些进程或重启系统。另外,你也可以使用 `du` 命令来查看实际的磁盘使用情况。例如,`du -sh /` 可以显示根目录的磁盘使用情况。如果你使用的是虚拟机,也可以尝试使用磁盘压缩工具来压缩虚拟磁盘文件。
阅读全文