df -h 怎么查看磁盘总大小 统计出来
时间: 2023-07-25 16:41:47 浏览: 191
你可以使用以下命令来统计所有磁盘分区的总大小:
```
df -h | awk '{if(NR>1) sum+=$2} END {print sum}'
```
执行以上命令后,会输出所有磁盘分区的总大小,单位为 GB 或 MB 等。
其中,`df -h` 命令用于查看所有磁盘分区的详细信息,包括文件系统、总大小、已用空间、可用空间、使用率和挂载点等。
而 `awk` 命令则用于对 `df -h` 命令的输出进行处理,只统计每个分区的总大小,并累加到变量 `sum` 中。最后,使用 `END` 语句块来输出变量 `sum` 的值。
相关问题
解释以下命令的功能。 ls -lR ~ | awk '$5>100000 {print $9}' ls -l ~ | grep "^-" | wc –l df -h / | awk '{print $4}' | tail -n 1 df -h / | awk '{print $3}' | tail -n 1 dpkg -l | grep -c ^ii
1. `ls -lR ~ | awk '$5>100000 {print $9}'`:
- `ls`: 列出当前目录下的内容
- `-l`: 以长格式列出
- `-R`: 递归列出子目录下的内容
- `~`: 代表当前用户的主目录
- `awk '$5>100000 {print $9}'`: 列出文件大小大于100000字节的文件名,其中`$5`表示第五列,即文件大小,`$9`表示第九列,即文件名。
2. `ls -l ~ | grep "^-" | wc -l`:
- `ls`: 列出当前目录下的内容
- `-l`: 以长格式列出
- `~`: 代表当前用户的主目录
- `grep "^-"`: 筛选出以`-`开头的行,即筛选出文件而不是目录
- `wc -l`: 统计行数,计算出文件的数量。
3. `df -h / | awk '{print $4}' | tail -n 1`:
- `df`: 查看磁盘空间使用情况
- `-h`: 以易读格式显示
- `/`: 查看根目录的磁盘空间使用情况
- `awk '{print $4}'`: 取出第四列,即可用空间大小
- `tail -n 1`: 取出最后一行,即根目录可用空间大小。
4. `df -h / | awk '{print $3}' | tail -n 1`:
- `df`: 查看磁盘空间使用情况
- `-h`: 以易读格式显示
- `/`: 查看根目录的磁盘空间使用情况
- `awk '{print $3}'`: 取出第三列,即已用空间大小
- `tail -n 1`: 取出最后一行,即根目录已用空间大小。
5. `dpkg -l | grep -c ^ii`:
- `dpkg`: Debian/Ubuntu系统下的软件包管理工具
- `-l`: 列出已安装的软件包
- `grep -c ^ii`: 筛选出已安装的软件包,并统计数量。其中`^ii`表示筛选以`ii`开头的行,即表示已经安装的软件包。
df -h和du -sh结果不一致,删除进程打开的文件也没有
您好!df -h和du -sh命令的结果可能不一致的原因有很多。df -h命令用于显示文件系统的磁盘空间使用情况,而du -sh命令用于显示指定目录或文件的磁盘空间使用情况。
一种可能的原因是,有进程正在使用已删除的文件。即使您删除了文件,如果某个进程仍然打开着该文件,那么文件所占用的磁盘空间将不会被释放。在这种情况下,du -sh命令会统计该文件的大小,而df -h命令则显示的是文件系统的磁盘空间使用情况。
您可以使用lsof命令来查看当前系统中哪些进程打开了已删除的文件。运行以下命令:
lsof | grep deleted
这将显示已删除的文件被哪些进程打开。如果您找到了相关进程,您可以通过重启该进程或者重启整个系统来释放文件所占用的磁盘空间。
另外,还有其他一些可能导致df -h和du -sh结果不一致的因素,例如文件系统的错误、硬链接、软链接、挂载点等。如果您对这些方面有更多的疑问,可以提供更多的细节,我会尽力帮助您解决问题。
阅读全文