问题说删除整个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 字节)是空闲的,则答案Ms
为2226.30859375M
计算:2279740/1024
或
以字节为单位2279740*1024
= 2334453760 字节;
以知识库为单位:2334453760/1024=2279740KB ;
以MB为单位2279740/1024=2226.30859375M ;
在G中2226.30859375/1024=2.174129486083984G
如需更多选项df
,请尝试man df
或df --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
- 从列中选择最后一行