질문에 따르면전체 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 청크를 사용하고 있다면 변수를 . 를 사용 하고 설정을 해제하세요 .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
- 두 번째 열을 선택하세요.
tail -1
- 열에서 마지막 행 선택