有多少可用空间?

有多少可用空间?

问题说删除整个git目录(我们的教程中不使用它)。现在重复上述磁盘空间计算,但这次以块为单位给出答案。我成功删除了该git目录,但现在我需要在已完成的块中查找磁盘空间df -k,出现了以下情况:

Filesystem                  1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos_lvm-root   6813696 4533956   2279740  67% /
devtmpfs                       234236       0    234236   0% /dev
tmpfs                          250168      84    250084   1% /dev/shm
tmpfs                          250168    4792    245376   2% /run
tmpfs                          250168       0    250168   0% /sys/fs/cgroup
/dev/sda1                      508588  209632    298956  42% /boot
tmpfs                           50036      16     50020   1% /run/user/42
tmpfs                           50036       0     50036   0% /run/user/0

我需要做什么?

答案1

尝试这个,

假设您git从路径中删除了该目录/usr/share/doc。现在运行df -k /提供的分区usr/share/doc上存在/。它可能会给你这样的信息:

    Filesystem                  1K-blocks    Used   Available Use%  Mounted on
/dev/mapper/centos_lvm-root   6813696      4533956   2279740  67%    /

6813696是可用块的总数,其中2279740免费。每个块大小为 1024 字节。

现在你的家庭作业答案将是2279740块。

您始终可以运行df -kh以人类可读的方式查看磁盘空间利用率,例如1GB

但如果您希望块大小为512或其他值,请尝试以下操作:

df --block-size=512 /

df --block-size=<your_block_size> <your_partition>

编辑:要获取以兆字节为单位的大小,请尝试以下操作:

df -hm /

下面的数字Available就是你的答案。

假设其 2279740 个块(每个块大小为 1024 字节)是空闲的,则答案Ms2226.30859375M

计算:2279740/1024

以字节为单位2279740*1024= 2334453760 字节;

以知识库为单位:2334453760/1024=2279740KB ;

以MB为单位2279740/1024=2226.30859375M ;

在G中2226.30859375/1024=2.174129486083984G

如需更多选项df,请尝试man dfdf --help

答案2

传统上,块的大小为 512 字节(它们与磁盘扇区有很强的相关性)。您可以知道df要使用什么块大小或单位。来自POSIXdf规范:

df 的默认输出格式未指定,但所有空间数字均以 512 字节为单位报告,除非指定 -k 选项。

假设你的作业问题假设块是 512 字节,只需删除-k.如果df仍然使用 1k 块,您可能会将BLOCKSIZE变量设置为K。使用unset BLOCKSIZE和取消设置set POSIXLY_CORRECT=yes

您可以减少输出以仅包含相关文件系统

df .     # or maybe df /usr/share/doc

(假设您当前的工作目录位于相关文件系统上)。

答案3

你可以尝试这样的事情:

#!/bin/bash

TO_REMOVE="/usr/share/doc/git"
BASE_DIR=$(dirname $TO_REMOVE)

SIZE_BEFORE=$(df $BASE_DIR | tr -s ' ' | cut -d" " -f 3 | tail -1)
rm -Rf $TO_REMOVE
SIZE_AFTER=$(df $BASE_DIR | tr -s ' ' | cut -d" " -f 3 | tail -1)

echo $(($SIZE_BEFORE - $SIZE_AFTER))

dirname- 删除路径的最后一个组成部分

tr -s ' '- 挤压所有空间

cut -d" " -f 3- 选择第二列

tail -1- 从列中选择最后一行

相关内容