ls(단, 개별 파티션은 표시함)

ls(단, 개별 파티션은 표시함)

이와 같은 모든 디스크 목록을 어떻게 얻을 수 있습니까?

/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.

관련 정보