空き容量はどれくらいですか?

空き容量はどれくらいですか?

質問によるとディレクトリ全体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チャンクを使用している場合は、変数を 。を使用して設定を解除してください。dfBLOCKSIZEKunset BLOCKSIZEset 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- 列から最後の行を選択

関連情報