今天我們將會向你展示如何使用 lsblk 和 blkid 工具來查找關(guān)于塊設(shè)備的信息,我們使用的是一臺安裝了 CentOS 7.0 的機(jī)器。
lsblk
lsblk 是一個(gè) Linux 工具,它會顯示有關(guān)你系統(tǒng)里所有可用塊設(shè)備的信息。它從 sysfs 文件系統(tǒng) 中獲取信息。默認(rèn)情況下,這個(gè)工具將會以樹狀格式顯示(除了內(nèi)存虛擬磁盤外的)所有塊設(shè)備。
lsblk 默認(rèn)輸出
默認(rèn)情況下 lsblk 會將塊設(shè)備輸出為樹狀格式:
- NAME —— 設(shè)備的名稱
- MAJ:MIN —— Linux 操作系統(tǒng)中的每個(gè)設(shè)備都以一個(gè)文件表示,對塊(磁盤)設(shè)備來說,這里用主次設(shè)備編號來描述設(shè)備。
- RM —— 可移動設(shè)備。如果這是一個(gè)可移動設(shè)備將顯示 1,否則顯示 0。
- TYPE —— 設(shè)備的類型
- MOUNTPOINT —— 設(shè)備掛載的位置
- RO —— 對于只讀文件系統(tǒng),這里會顯示 1,否則顯示 0。
- SIZE —— 設(shè)備的容量
![](/d/20211018/f5cc1b7a886f5047cdd4eef3e91827c0.gif)
顯示設(shè)備的所有者
若想顯示設(shè)備所有者相關(guān)的信息,包括文件的所屬用戶、所屬組以及文件系統(tǒng)掛載的模式,你可以使用 -m 選項(xiàng),像這樣:
lsblk -m
列出設(shè)備塊
如果你只想要列出設(shè)備,而不想讓他們以樹狀輸出,你可以使用 -l 選項(xiàng):
lsblk -l
在腳本中使用
高級技巧:如果你想要在腳本中使用而希望剔除表頭,你可以這樣使用 -n 選項(xiàng):
lsblk -ln
blkid
blkid 命令是一個(gè)命令行工具,它可以顯示關(guān)于可用塊設(shè)備的信息。它可以識別一個(gè)塊設(shè)備內(nèi)容的類型(如文件系統(tǒng)、交換區(qū))以及從內(nèi)容的元數(shù)據(jù)(如卷標(biāo)或 UUID 字段)中獲取屬性(如 tokens 和鍵值對)。它主要有兩類作用:用指定的鍵值對搜索一個(gè)設(shè)備,或是顯示一個(gè)或多個(gè)設(shè)備的鍵值對。
blkid 使用方法
不添加任何參數(shù)直接運(yùn)行 blkid 將會輸出所有可用的設(shè)備、它們的通用唯一識別碼(UUID)、文件系統(tǒng)類型以及卷標(biāo)(如果有設(shè)置過)。
# 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)來將它們用整齊的格式顯示出來,像這樣:
# blkid -po udev /dev/sda1
重置緩存
有時(shí)候設(shè)備列表可能不會更新,如果遇到這種情況你可以使用 -g 選項(xiàng)來清理 blkid 的緩存,從而清除已經(jīng)不存在的設(shè)備。
# blkid -g