여러 개의 HDD 중 시스템에 남아 있는 총 여유 저장 용량을 어떻게 확인할 수 있나요?

여러 개의 HDD 중 시스템에 남아 있는 총 여유 저장 용량을 어떻게 확인할 수 있나요?

내 컴퓨터에는 15개의 SATA 하드 드라이브가 연결되어 있고 이를 하나씩 살펴보고 여유 공간을 기록한 다음 모든 것을 합산하는 것은 이상적이지 않습니다.

이를 수행할 수 있는 명령이나 명령 조합이 있습니까? 이상적으로는 /dev/sd*nvme 드라이브를 포함하고 싶지 않기 때문에 다음과 같은 것을 전달할 수 있습니다 .

답변1

편집: 매뉴얼 페이지를 더 자주 읽어야 합니다. 그것은 다음과 같이 간단합니다

df --total -h /dev/sd*

알았어 뭔가 알아냈어

df --output=avail  /dev/sd* | tail -n +2 | datamash sum 1

이것이 기본적으로 수행하는 작업은 마운트된 디스크를 나열하고 사용 가능한 공간만 출력으로 표시한 다음 tail을 사용하여 열 제목인 첫 번째 줄을 제거한 Avail다음 마지막으로 datamash로 숫자를 합산하는 것입니다.

답변2

df와 같은 가상 RAM 디스크 항목을 제외하려면 다음 명령을 염두에 두고 다음 매개변수를 /dev사용하십시오 -x.

df -x tmpfs -x devtmpfs --total -h

이를 수행하는 또 다른 방법은 lsblk명령을 사용하는 것입니다.

  • -l목록 형식으로 출력
  • -n헤더라인을 건너뛰세요
  • -b바이트 단위로 인쇄
  • -o지정된 열을 출력합니다.
  • FSAVAIL인쇄 파일 시스템 크기 사용 가능/무료
lsblk -l -n -b -o FSAVAIL | grep -v ^$ | \
awk '{sum+=$1} END{print sum}' | numfmt --to=iec

grep빈 줄을 제외하고, awk첫 번째 열을 합산하고, 마지막으로 numfmt바이트를 "사람이 읽을 수 있는" 형식으로 변환하는 데 사용합니다 .

관련 정보