이와 같은 모든 디스크 목록을 어떻게 얻을 수 있습니까?
/dev/sda
/dev/sdb
답변1
ls(단, 개별 파티션은 표시함)
# ls /dev/sd*
/dev/sda /dev/sda1
ls(디스크만, 파티션 무시)
# ls /dev/sd*[a-z]
/dev/sda
디스크 드라이브
# fdisk -l 2>/dev/null |awk '/^Disk \//{print substr($2,0,length($2)-1)}'
/dev/xvda
답변2
df
다음을 사용하여 마운트된 모든 파티션을 나열 할 수 있습니다 .
$ df
/dev/sda1 230467740 37314652 181422912 18% /
udev 10240 0 10240 0% /dev
tmpfs 5599420 0 5599420 0% /sys/fs/cgroup
/dev/sdb1 961303548 130106540 782342500 15% /media/Data
..
마운트된 디스크만 나열하려면 grep을 사용하여 출력을 필터링할 수 있습니다.
$ df | grep '^/dev'
/dev/sda1 230467740 37314752 181422812 18% /
/dev/sdb1 961303548 130106540 782342500 15% /media/Data
다음으로 시작하는 줄 과 일치 /dev
하거나 이름만 원하는 경우
df | grep -o '^/dev[^ ]*'
/dev/sda1
/dev/sdb1
/dev
첫 번째 공백 문자부터 시작하는 문자열 과 일치 하고 일치하는 항목(옵션 -o, --only-matching
)만 출력합니다.
편집하다
위의 내용은 모든 파티션을 나열합니다. 디스크를 나열해야 하는 경우 lsblk
다음 옵션을 사용하십시오(위와 일치하는 패턴).
$ lsblk -dp | grep -o '^/dev[^ ]*'
/dev/sda
/dev/sdb
-d
파티션이 아닌 장치만 나열-p
전체 경로를 출력
편집 2
지적한대로다음과 같은, lsblk -dpno name
동일한 결과를 제공하므로 필요하지 않습니다 grep
.