루트 권한이없는 명령 줄을 사용하여 Linux에서 내 하드 드라이브의 전체 크기를 가져 옵니까?


16

를 사용하여 하드 드라이브의 전체 크기를 찾으려고하는데 df -h각 파티션의 크기를 인쇄하고 필요합니다 sudo.

루트 권한이 없어도 명령 줄을 사용하여 하드 드라이브의 전체 크기를 얻는 방법이 있습니까?


5
참고 : df디스크에 파티션되지 않은 공간이있는 경우 모든 파티션이 마운트되지 않거나 (예 : 동일한 드라이브의 일부 Windows 파티션) 일부 파티션이 RAID가 아니라 LVM 또는 LUKS (암호화)를 통해 간접적으로 직접 마운트되지는 않습니다. 스왑 파티션도 누락됩니다. 따라서 HDD 크기를 찾는 데 사용 하지 않는 것이 좋습니다 df.
Philipp Wendler

답변:


13

해키 방법은 다음을 사용 sudo하여 시스템 로그를 읽어 필요를 무시하는 것 입니다.

dmesg | grep blocks

이상적이지 않을 수 있으므로 마일리지가 다를 수 있습니다.


5

바이트 단위의 크기와 스크립팅 등의 값만 원하는 경우 :

lsblk -b --output SIZE -n -d /dev/sdX
12220202

-b : 바이트 단위로 출력합니다.
-n : 제목이 없습니다. 우리는 순수한 숫자 값만 원합니다.
--output SIZE : 크기 열만 인쇄합니다.
-d / dev / sdXn : 우리가 알고 싶은 장치. X는 예를 들어 d이고, n은 예를 들어 디스크 d의 제 1 파티션에 대해 1이다.

장점 :

  • 루트 권한이 필요하지 않습니다
  • grep이 필요하지 않습니다
  • lsblk는 대부분의 Linux 시스템에서 사용 가능

4
cat /sys/block/sda/size

그러나 크기는 블록 기반 단위
이며이 대답을 여기서 찾았 습니다 .
다른 솔루션은 여기에 있습니다 .

또는 udisk 를 사용해 볼 수 있습니다

udisks --show-info /dev/sda | egrep "^[[:space:]]*size" | awk '{print $2}'

3

예를 들어 스크립트에서 해당 정보를 사용하려면

sudo blockdev --getsz /dev/sda

fdisk 또는 hdparm보다 관련 정보 만 제공하므로 (512 만 곱하면) 더 쉽습니다. 그러나 sudo도 필요합니다.

물론 암호를 요구하지 않고이 특정 명령을 실행할 수 있도록 sudo의 구성을 변경할 수 있습니다 ( blockdev --getsz일반적인 권한이없는 사용자가 실행할 때도 꽤 안전합니다).

다음 줄을 추가하면됩니다 /etc/sudoers:

ALL ALL= NOPASSWD:/sbin/blockdev --getsz /dev/*

이 파일을 편집 할 때는 sudo visudo일반적인 편집기가 아닌 명령을 사용해야합니다 . 그렇지 않으면 구문 오류를 만드는 것이 매우 쉬워서 sudo를 더 이상 사용할 수 없게됩니다 (이 문제를 해결하려면 복구 모드로 재부팅해야합니다).


1
매뉴얼 페이지에서 : --getsize64 Print device size in bytes.. 또한 여기에 .
Sparhawk

1

나는 지금 내 리눅스 상자에 없지만 시도해 볼 수 있습니다.

hdparm -I /dev/sda

또는

fdisk -l

아마도 sudo가 필요할 것입니다.

나는 df에 루트가 필요한 곳을 보지 못했습니다. 이상하다.


"df"가 PATH에 없을 수 있습니다. HVNSweeting, "sudo which df"를 시도한 다음 사용자로 시도하십시오.
Milan Babuškov

안녕하세요, 이것은 내가 얻는 것입니다 : hvnsweeting @ hvnbox : ~ $ blockdev --getsz / dev / sda / dev / sda : 권한 거부 hvnsweeting @ hvnbox : ~ $ hdparm -I / dev / sda / dev / sda : 권한 거부 hvnsweeting @hvnbox : ~ $ fdisk -l hvnsweeting @ hvnbox : ~ $
HVNSweeting

1
장치에 직접 액세스하는 모든 것 (즉, / dev / sda)은 sudo가 필요합니다.
Philipp Wendler

1

잘못 설치되었거나 터무니없는 편집증 sysadmin이 있습니다. 전에는 루트 권한 이 필요하다고 들어 본 적이 없습니다df . 그리고 나는 유닉스 / 유닉스와 같은 운영 체제의 아주 다른 풍미로 작업했습니다.

어쨌든, 이것은 모든 디스크 파티션의 전체 크기 (첫 번째 df열은 /dev/hd...또는 /dev/sd...)를 블록 (kB) 단위로 나타 냅니다 .

df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s}'

또는 GB 단위 :

df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s/1048576}'

0

그놈과 쿠분투에서 디스크 공간 확인

디스크 사용량 분석기는 Gnome 및 Kubuntu 환경에서의 디스크 사용량을보고하는 그래픽 메뉴 기반 응용 프로그램입니다. DUA (Disk Usage Analyzer)는 전체 파일 시스템 트리 또는 개별 디렉토리 (로컬 또는 원격)를 스캔 할 수 있습니다. 또한 DUA는 마운트 및 마운트 해제 된 모든 장치를 실시간으로보고하므로 동적입니다.

Gnome에서 디스크 사용량 분석기에 액세스하려면 Applications \ Accessories \ Disk Usage Analyzer를 클릭하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.