System Information
저는 Windows의 애플리케이션 과 유사하게 CentOS 7 PC에 대한 일부 정보를 표시하는 간단한 스크립트를 만들고 있습니다 .
내 가상 디스크의 총 용량과 남은 용량을 표시할 수 있는 명령이 있는지 궁금합니다.
df
현재 이 구성에서 사용하는 명령이 남은 용량을 제공한다는 것을 알고 있습니다 .
df -Ph | grep sda1 | awk '{print $4}' | tr -d '\n'
나는 또한 lsblk
명령을 알고 있으며 내 가상 디스크의 전체 크기를 표시합니다.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 37G 0 lvm /
├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
└─centos-home 253:2 0 18.1G 0 lvm /home
sr0 11:0 1 1024M 0 rom
lsblk
다음을 제공 하여 명령을 필터링 할 수도 있습니다 lsblk -o NAME,SIZE
.
NAME SIZE
sda 60G
├─sda1 1G
└─sda2 59G
├─centos-root 37G
├─centos-swap 3.9G
└─centos-home 18.1G
sr0 1024M
60G
용량 만 표시하도록 출력을 필터링하는 방법이 궁금합니다 sda
.
나는 이것에 대해 아무것도 모르지만 awk
유사한 질문에 대한 다른 응답이 많이 나타나는 것을 본 적이 있으므로 더 자세히 조사해야 할 수도 있습니다.
답변1
사용:
lsblk -no SIZE /dev/sda | head -1
제목은 lsblk -n
인쇄되지 않습니다. 따라서 실행하면:
lsblk -no SIZE /dev/sda
출력은 다음과 같습니다:
970.5M
970.4M
첫 번째 값 970.5M
은 총 디스크 용량입니다 /dev/sda
. 이 경우 head -1
출력의 첫 번째 줄만 가져옵니다 970.5M
. 다른 값은 (내 경우에는) 970.4M
용량입니다./dev/sda1
lsblk -no PATH,NAME,SIZE /dev/sda
#Output:
/dev/sda sda 970.5M
/dev/sda1 └─sda1 970.4M
위 명령을 사용하여 모든 파티션을 지정할 수 있습니다. 예를 들어 /dev/sda1
에 대한 정보를 얻으려면 다음을 /dev/nvme0n1p1
사용해야 합니다.
lsblk -no PATH,NAME,SIZE /dev/nvme0n1p1 /dev/sda1
#Output:
/dev/sda1 sda1 970.4M
/dev/nvme0n1p1 nvme0n1p1 260M
귀하의 질문에 관하여 :sda3의 결과만 표시하려면 어떻게 해야 하나요?다음을 사용할 수 있습니다.
lsblk -no SIZE /dev/sda3
답변2
얻기 위해총 디스크 용량유용할 수 있는 또 다른 방법은 를 사용하는 것입니다 smartctl
.
예를 들어:
smartctl --scan
smartctl --xall /dev/sda
# in my case a scan results in
Smartctl open device: /dev/sda failed: DELL or MegaRaid controller, please try adding '-d megaraid,N'
# therefore for me a smartctl -d megaraid,0 --all /dev/bus/0 shows
=== START OF INFORMATION SECTION ===
Vendor: TOSHIBA
Product: KPM5WRUG3T84
Revision: B322
Compliance: SPC-4
User Capacity: 3,840,755,982,336 bytes [3.84 TB]
Logical block size: 512 bytes
Physical block size: 4096 bytes
LU is resource provisioned, LBPRZ=1
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Logical Unit id: 0x58ce38ee20abca2d
Serial number:
Device type: disk
Transport protocol: SAS (SPL-3)
Local Time is: Wed Oct 12 14:26:53 2022 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Temperature Warning: Disabled or Not Supported
Read Cache is: Enabled
Writeback Cache is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Percentage used endurance indicator: 4%
Current Drive Temperature: 29 C
Drive Trip Temperature: 70 C
Manufactured in week 33 of year 2019
Elements in grown defect list: 0
smartctl -d megaraid,0 --all /dev/bus/0 | grep Capacity | awk '{print $3}'
사용할 수 있는 발췌문입니다 3,840,755,982,336
.
man smartctl
grep 및 awk로 연결하는 대신 smartctl 옵션을 사용하여 이 작업을 수행하는 방법에 대한 옵션을 확인하세요 .
하지만 smartctl
사용된 용량이나 남은 용량은 알려주지 않지만 제 생각에는이는 신뢰할 수 있는 총 디스크 용량 수치를 얻는 좋은 방법입니다..
또한 다음 사항 에 관심이 있을 lshw -class disk
수 lshw -short -C disk
있습니다.
lshw -short -C disk
H/W path Device Class Description
=========================================================
/0/2/0/2.0.0 /dev/sda disk 3840GB PERC H740P Adp {my one OS disk}
/0/2/0/2.1.0 /dev/sdb disk 19TB PERC H740P Adp {the 7 other disks as RAID-5 making 19tb volume I mount as /data}