여유 공간이 얼마나 되나요?

여유 공간이 얼마나 되나요?

질문에 따르면전체 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사용할 블록 크기나 단위를 알 수 있습니다 . ~에서POSIX df사양:

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- 두 번째 열을 선택하세요.

tail -1- 열에서 마지막 행 선택

관련 정보