마운트 여부에 관계없이 특정 시스템에 연결된 모든 쓰기 가능한 저장 장치를 찾아야 합니다.
이를 수행하는 어리석은 방법은 /dev
쓰기 가능한 장치(hd* 및 sd*)에 해당하는 모든 항목을 시도하는 것입니다.
더 나은 해결책이 있습니까? 아니면 이것을 고수해야 합니까?
답변1
사람만 옳다면막힌lsblk
널리 사용되는 util-linux 패키지에서 사용 가능한 저장 장치 :
$ lsblk -o KNAME,TYPE,SIZE,MODEL
KNAME TYPE SIZE MODEL
sda disk 149.1G TOSHIBA MK1637GS
sda1 part 23.3G
sda2 part 28G
sda3 part 93.6G
sda4 part 4.3G
sr0 rom 1024M CD/DVDW TS-L632M
사용 가능한 다른 많은 열과 함께 스크립팅하는 데 적합합니다.
답변2
출력을 다시 확인 하고 또는 클래스 의 장치에 대한 세부 정보를 lshw
추출 할 수 있습니다(다른 장치도 가능 ). 클래스는 스토리지 컨트롤러, scsi, sata, sas 등에 대한 세부 정보를 제공합니다.disk
tape
storage
예를 들어
lshw -class disk -class tape
이 -short
옵션은 훌륭하고 간결한 요약을 제공합니다. 예를 들어, 내 집 zfsonlinux 서버/워크스테이션/실험 상자에는(불행히도 테이프 장치가 없습니다):
# lshw -테이프 같은 디스크 같은 저장소 같은 짧은 하드웨어 경로 장치 클래스 설명 ================================================= = ======= /0/100/4/0 스토리지 JMB362 SATA 컨트롤러 /0/100/5/0 scsi10 스토리지 JMB362 SATA 컨트롤러 /0/100/5/0/0.0.0 /dev/sdc 디스크 120GB Patriot Wildfire /0/100/b/0 scsi1 스토리지 SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] /0/100/b/0/0.0.0 /dev/sdd 디스크 1TB WDC WD10EARS-00Y /0/100/b/0/0.1.0 /dev/sde 디스크 1TB WDC WD10EACS-00Z /0/100/b/0/0.2.0 /dev/sdf 디스크 1TB WDC WD10EACS-00Z /0/100/b/0/0.3.0 /dev/sdg 디스크 1TB ST31000528AS /0/100/b/0/0.4.0 /dev/sdh 디스크 1TB ST31000528AS /0/100/b/0/0.5.0 /dev/sdi 디스크 1TB ST31000528AS /0/100/b/0/0.6.0 /dev/sdj 디스크 1TB ST31000528AS /0/100/11 scsi2 스토리지 SB7x0/SB8x0/SB9x0 SATA 컨트롤러[AHCI 모드] /0/100/11/0 /dev/sda 디스크 128GB Patriot Torqx 2 /0/100/11/1 /dev/sdb 디스크 1TB ST31000528AS /0/1 scsi11 스토리지 /0/1/0.0.0 /dev/sdk 디스크 1967MB SCSI 디스크 /0/1/0.0.1 /dev/sdl 디스크 SCSI 디스크 /0/1/0.0.2 /dev/sdm 디스크 SCSI 디스크 /0/1/0.0.3 /dev/sdn 디스크 SCSI 디스크 /0/2 scsi66 스토리지 /0/2/0.0.0 /dev/sdo 디스크 SCSI 디스크 /0/3 scsi67 스토리지 /0/3/0.0.0 /dev/sdp 디스크 4057MB SCSI 디스크
/0/1 장치는 실제로 USB 카드 리더기(슬롯 중 하나에 2GB SD 카드가 연결되어 있음)인 반면, /0/2 장치는 충전을 위해 연결한 Android 휴대폰입니다. 0/3 장치는 4GB USB 플래시 드라이브입니다.
lshw
일반 텍스트, html, xml 및 json 출력을 생성할 수 있습니다. 또한 하드웨어 세부 정보를 sqlite 데이터베이스 형식으로 덤프할 수도 있습니다.
Debian 및 대부분의 다른 배포판용으로 패키지되어 있습니다. 홈페이지 및 출처http://ezix.org/project/wiki/HardwareLiSter
답변3
이 명령을 시도해 보십시오
ls -l /dev /dev/mapper |grep '^b'
시스템의 모든 블록 장치를 나열합니다.
답변4
lsblk
모든 블록 저장 장치가 나열됩니다.
fdisk -l
나열된 모든 장치의 모든 파티션을 나열합니다./proc/partitions
lshw -short
시스템의 모든 하드웨어에 대한 정보를 제공합니다(FireWire 제외).