質問によるとディレクトリ全体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のデフォルトの出力形式は指定されていませんが、-kオプションを指定しないと、すべてのスペース番号は512バイト単位で報告されます。
宿題の質問でチャンクが512バイトであると仮定した場合は、単に削除してください-k
。まだ1kチャンクを使用している場合は、変数を 。を使用して設定を解除してください。df
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
- 2番目の列を選択してください。
tail -1
- 列から最後の行を選択