Mec*_*ail 14 linux disk-space filesystems command-line coreutils
默认情况下,Linux 至少在 ext4 上为 root 用户保留了一部分文件系统(以防止普通用户完全填满驱动器并使系统崩溃,并减少碎片)。但是,df仅显示普通用户可见的可用空间(即使以 root 身份运行)。您如何显示root可以访问的“真实”可用空间?
lor*_*nix 17
通过使用命令tune2fs(在/sbin/tune2fs 中找到),您可以轻松确定保留空间:(以及更多!)
tune2fs -l /dev/sda1
Run Code Online (Sandbox Code Playgroud)
我将提供我的系统信息以供参考,我将删除对这个问题不重要的无关行:
标题...和卷名,我标记了我的所有驱动器,如果需要,可以轻松识别它们。
tune2fs 1.42.4 (12-Jun-2012)
Filesystem volume name: xenon
Last mounted on: /
...
Run Code Online (Sandbox Code Playgroud)
真的希望在系统运行时说“干净”。诚实!
Filesystem state: clean
Run Code Online (Sandbox Code Playgroud)
这是数据存储容量信息开始的地方:
在这里你可以看到我总共有 121,179,648 个块......块大小为 4K(4096),乘以某个大数(462-ish GB)。(块大小在下面注明)
Block count: 121179648
Run Code Online (Sandbox Code Playgroud)
保留块...通过查看上面的数字和下面的数字...您应该能够相对快速地找出我保留了 1%。在这种情况下(4.62-ish GB)
Reserved block count: 1211796
Run Code Online (Sandbox Code Playgroud)
目前有多少可用空间?就在这儿!
Free blocks: 104090586
...
Run Code Online (Sandbox Code Playgroud)
以及所有重要的块大小。用于乘法。
Block size: 4096
...
Run Code Online (Sandbox Code Playgroud)
这些行说 WHO 这些块是为...用户 0,root 保留的,在这种情况下
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
...
Run Code Online (Sandbox Code Playgroud)
这里有更多可用信息,但这应该使您能够快速确定有多少可用,以及为 root 保留了多少。简单的数学。
希望这可以帮助。请记住...手册页是您的朋友。
我不确定是否有内置工具,但假设您已将保留保留为默认 5%,那么这将告诉您:
df / | grep dev | cut -f 3,6 -d\ | awk '{print ($1*.05)+$2}'
Run Code Online (Sandbox Code Playgroud)
df根,grep对于其中包含 dev 的行(删除标题)、cut大小和可用字段,然后使用awk脚本计算添加到可用磁盘大小的 5%。
您可以从中提取实际预订tune2fs -l <device>并将其与上述内容结合在脚本中。