Linux
lsblk + 只擷取磁碟
我只想從lsblk擷取磁碟
如圖所示 fd0 也出現了,儘管它不是真正的磁碟使用
在這種情況下,我們可以只做lsblk | grep 磁碟 | grep -v fd0
但也許我們錯過了一些其他需要通過grep -v過濾的設備
**lsblk |**可能會出現哪些其他磁碟設備?grep disk而不是真正的磁碟?
lsblk | grep disk fd0 2:0 1 4K 0 disk sda 8:0 0 100G 0 disk sdb 8:16 0 2G 0 disk /Kol sdc 8:32 0 2G 0 disk sdd 8:48 0 2G 0 disk sde 8:64 0 2G 0 disk sdf 8:80 0 2G 0 disk lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 150G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 149.5G 0 part ├─vg00-yv_root 253:0 0 19.6G 0 lvm / ├─vg00-yv_swap 253:1 0 15.6G 0 lvm [SWAP] └─vg00-yv_var 253:2 0 100G 0 lvm /var sdb 8:16 0 2G 0 disk /Kol sdc 8:32 0 2G 0 disk sdd 8:48 0 2G 0 disk sde 8:64 0 2G 0 disk sdf 8:80 0 2G 0 disk sr0 11:0 1 1024M 0 rom
如果您只想要設備主要編號標識為 SCSI 的磁碟
8
,而沒有設備分區,則可以搜尋設備主要而不是字元串“disk”:lsblk -d | awk '/ 8:/'
其中
-d
(或--no-deps
)選項表示不包括設備分區。對於相當新的 linux 系統,更簡單的
lsblk -I 8 -d
正如使用者尼克所說,應該足夠了。
我只想獲取所有磁碟的設備名稱,而沒有任何其他輸出。最終使用了這個:
lsblk -nd --output NAME
這會產生類似的東西
sda sdb
-d
只輸出磁碟,-n
刪除標題行,並--output NAME
確保只列出設備的名稱。