今天我們將會(huì)向你展示如何使用 lsblk 和 blkid 工具來(lái)查找關(guān)于塊設(shè)備的信息,我們使用的是一臺(tái)安裝了 CentOS 7.0 的機(jī)器。
lsblk
lsblk 是一個(gè) Linux 工具,它會(huì)顯示有關(guān)你系統(tǒng)里所有可用塊設(shè)備的信息。它從 sysfs 文件系統(tǒng) 中獲取信息。默認(rèn)情況下,這個(gè)工具將會(huì)以樹(shù)狀格式顯示(除了內(nèi)存虛擬磁盤(pán)外的)所有塊設(shè)備。
lsblk 默認(rèn)輸出
默認(rèn)情況下 lsblk 會(huì)將塊設(shè)備輸出為樹(shù)狀格式:
- NAME —— 設(shè)備的名稱(chēng)
- MAJ:MIN —— Linux 操作系統(tǒng)中的每個(gè)設(shè)備都以一個(gè)文件表示,對(duì)塊(磁盤(pán))設(shè)備來(lái)說(shuō),這里用主次設(shè)備編號(hào)來(lái)描述設(shè)備。
- RM —— 可移動(dòng)設(shè)備。如果這是一個(gè)可移動(dòng)設(shè)備將顯示 1,否則顯示 0。
- TYPE —— 設(shè)備的類(lèi)型
- MOUNTPOINT —— 設(shè)備掛載的位置
- RO —— 對(duì)于只讀文件系統(tǒng),這里會(huì)顯示 1,否則顯示 0。
- SIZE —— 設(shè)備的容量

顯示設(shè)備的所有者
若想顯示設(shè)備所有者相關(guān)的信息,包括文件的所屬用戶、所屬組以及文件系統(tǒng)掛載的模式,你可以使用 -m 選項(xiàng),像這樣:
lsblk -m
列出設(shè)備塊
如果你只想要列出設(shè)備,而不想讓他們以樹(shù)狀輸出,你可以使用 -l 選項(xiàng):
lsblk -l
在腳本中使用
高級(jí)技巧:如果你想要在腳本中使用而希望剔除表頭,你可以這樣使用 -n 選項(xiàng):
lsblk -ln
blkid
blkid 命令是一個(gè)命令行工具,它可以顯示關(guān)于可用塊設(shè)備的信息。它可以識(shí)別一個(gè)塊設(shè)備內(nèi)容的類(lèi)型(如文件系統(tǒng)、交換區(qū))以及從內(nèi)容的元數(shù)據(jù)(如卷標(biāo)或 UUID 字段)中獲取屬性(如 tokens 和鍵值對(duì))。它主要有兩類(lèi)作用:用指定的鍵值對(duì)搜索一個(gè)設(shè)備,或是顯示一個(gè)或多個(gè)設(shè)備的鍵值對(duì)。
blkid 使用方法
不添加任何參數(shù)直接運(yùn)行 blkid 將會(huì)輸出所有可用的設(shè)備、它們的通用唯一識(shí)別碼(UUID)、文件系統(tǒng)類(lèi)型以及卷標(biāo)(如果有設(shè)置過(guò))。
# blkid
根據(jù)名字或 UUID 列出設(shè)備
如果你只想顯示一個(gè)特定設(shè)備的信息,你可以將該設(shè)備的名字作為選項(xiàng)添加在 blkid 后面:
# blkid /dev/sda1
如果你知道一個(gè)設(shè)備的 UUID 而想要知道它的設(shè)備名,你可以用 -U 選項(xiàng),像這樣:
# blkid -U d3b1dcc2-e3b0-45b0-b703-d6d0d360e524
詳細(xì)信息
如果你想要獲取更多詳細(xì)信息,你可以使用 -p 和 -o udev 選項(xiàng)來(lái)將它們用整齊的格式顯示出來(lái),像這樣:
# blkid -po udev /dev/sda1
重置緩存
有時(shí)候設(shè)備列表可能不會(huì)更新,如果遇到這種情況你可以使用 -g 選項(xiàng)來(lái)清理 blkid 的緩存,從而清除已經(jīng)不存在的設(shè)備。
# blkid -g