linux usb是屬于塊設(shè)備。塊設(shè)備是Linux系統(tǒng)中進(jìn)行TO操作時(shí)必須以塊為單位進(jìn)行訪問的設(shè)備,塊設(shè)備能夠安裝文件系統(tǒng);Linux系統(tǒng)中常見的塊設(shè)備有硬盤、軟驅(qū)、藍(lán)光光盤、USB盤等等。塊設(shè)備主要是針對(duì)磁盤等慢速設(shè)備設(shè)計(jì)的,以免消耗過多的CPU時(shí)間來(lái)等待。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux usb屬于什么設(shè)備?
linux usb是屬于塊設(shè)備。
Linux按照信息組織特征將設(shè)備分為三類,分別是:
-
字符設(shè)備:
以字符為單位發(fā)送或接收一個(gè)字符流,而不考慮任何塊結(jié)構(gòu)。字符設(shè)備是不可尋址的,也沒有尋道操作。例如打印機(jī),網(wǎng)絡(luò)接口,鼠標(biāo)。
-
塊設(shè)備:
塊設(shè)備是Linux系統(tǒng)中進(jìn)行TO操作時(shí)必須以塊為單位進(jìn)行訪問的設(shè)備,塊設(shè)備能夠安裝文件系統(tǒng)。塊設(shè)備驅(qū)動(dòng)會(huì)利用一塊系統(tǒng)內(nèi)存作為緩沖區(qū),因此對(duì)塊設(shè)備發(fā)出讀寫訪問,并不一定立即產(chǎn)生硬件I/O操作。Linux系統(tǒng)中常見的塊設(shè)備有如硬盤、軟驅(qū)、藍(lán)光光盤、USB盤等等。
-
網(wǎng)絡(luò)設(shè)備:
網(wǎng)絡(luò)設(shè)備既可以是網(wǎng)卡這樣的硬件設(shè)備,也可以是一個(gè)純軟件設(shè)備如回環(huán)設(shè)備。網(wǎng)絡(luò)設(shè)備由Linux的網(wǎng)絡(luò)子系統(tǒng)驅(qū)動(dòng),負(fù)責(zé)數(shù)據(jù)包的發(fā)送和接收,而不是面向流設(shè)備,因此在Linux系統(tǒng)文件系統(tǒng)中網(wǎng)絡(luò)設(shè)備沒有節(jié)點(diǎn)。對(duì)網(wǎng)絡(luò)設(shè)備的訪問是通過socket調(diào)用產(chǎn)生,而不是普通的文件操作如open/closc和read/write等。
塊設(shè)備和字符設(shè)備的區(qū)別:
字符設(shè)備只能順序讀取,塊設(shè)備可以隨機(jī)讀取;
塊設(shè)備通過系統(tǒng)緩存進(jìn)行讀取,不是直接和物理磁盤讀取。字符設(shè)備可以直接讀取物理磁盤,不經(jīng)過系統(tǒng)緩存。在對(duì)字符設(shè)備發(fā)出讀/寫請(qǐng)求時(shí),實(shí)際的硬件I/O一般就緊接著發(fā)生,而塊設(shè)備利用一塊系統(tǒng)內(nèi)存作為緩沖區(qū),當(dāng)用戶進(jìn)程對(duì)設(shè)備請(qǐng)求能滿足用戶的要求時(shí),就返回請(qǐng)求的數(shù)據(jù),如果不能就調(diào)用請(qǐng)求函數(shù)來(lái)進(jìn)行實(shí)際的I/O操作。因此,塊設(shè)備主要是針對(duì)磁盤等慢速設(shè)備設(shè)計(jì)的,以免消耗過多的CPU時(shí)間來(lái)等待;
在操作系統(tǒng)設(shè)備管理功能中設(shè)備按照獨(dú)占性設(shè)備,共享性設(shè)備,虛擬設(shè)備進(jìn)行設(shè)備分配 而獨(dú)占型設(shè)備包含所有的字符設(shè)備,共享型設(shè)備包含所有的塊設(shè)備。
linux查看塊設(shè)備信息
在linux中,可以使用lsblk命令來(lái)查看塊設(shè)備信息。
lsblk命令的英文是“l(fā)ist block”,即用于列出所有可用塊設(shè)備的信息,而且還能顯示他們之間的依賴關(guān)系,但是它不會(huì)列出RAM盤的信息。塊設(shè)備有硬盤,閃存盤,CD-ROM等等。lsblk命令包含在util-linux-ng包中,現(xiàn)在該包改名為util-linux。
lsblk命令有幾個(gè)選項(xiàng):
默認(rèn)選項(xiàng)
lsblk命令默認(rèn)情況下將以樹狀列出所有塊設(shè)備。打開終端,并輸入以下命令:
$ lsblk
輸出如下:
lsblk default lsblk default
7個(gè)欄目名稱如下:
NAME?:?這是塊設(shè)備名。 MAJ:MIN?:?本欄顯示主要和次要設(shè)備號(hào)。 RM?:?本欄顯示設(shè)備是否可移動(dòng)設(shè)備。注意,在本例中設(shè)備sdb和sr0的RM值等于1,這說(shuō)明他們是可移動(dòng)設(shè)備。 SIZE?:?本欄列出設(shè)備的容量大小信息。例如298.1G表明該設(shè)備大小為298.1GB,而1K表明該設(shè)備大小為1KB。 RO?:?該項(xiàng)表明設(shè)備是否為只讀。在本案例中,所有設(shè)備的RO值為0,表明他們不是只讀的。 TYPE?:本欄顯示塊設(shè)備是否是磁盤或磁盤上的一個(gè)分區(qū)。在本例中,sda和sdb是磁盤,而sr0是只讀存儲(chǔ)(rom)。(LCTT譯注,此處sr0的RO項(xiàng)沒有標(biāo)記為1,可能存在一些錯(cuò)誤?) MOUNTPOINT?:?本欄指出設(shè)備掛載的掛載點(diǎn)。
列出所有設(shè)備:
默認(rèn)選項(xiàng)不會(huì)列出所有空設(shè)備。要查看這些空設(shè)備,請(qǐng)使用以下命令:
$ lsblk -a
該選項(xiàng)將列出所有設(shè)備,包括空設(shè)備在內(nèi)。
lsblk?bytes?sda lsblk?bytes?sda
列出設(shè)備權(quán)限和屬主:
lsblk命令也可以用于列出一個(gè)特定設(shè)備的擁有關(guān)系,同時(shí)也可以列出組和模式。可以通過以下命令來(lái)獲取這些信息:
$ lsblk -m lsblk permissions lsblk permissions
列出指定設(shè)備:
該命令也可以只獲取指定設(shè)備的信息。這可以通過在提供給lsblk命令的選項(xiàng)后指定設(shè)備名來(lái)實(shí)現(xiàn)。例如,你可能對(duì)了解以字節(jié)顯示你的磁盤驅(qū)動(dòng)器大小比較感興趣,那么你可以通過運(yùn)行以下命令來(lái)實(shí)現(xiàn):
$ lsblk -b /dev/sda
或者,以下命令等同:
$ lsblk --bytes /dev/sda
以列表形式列出不帶頭的設(shè)備:
你也可以組合幾個(gè)選項(xiàng)來(lái)獲取指定的輸出。例如,你也許想要以列表格式列出設(shè)備,而不是默認(rèn)的樹狀格式。你可能也對(duì)移除不同欄目名稱的標(biāo)題感興趣。可以將兩個(gè)不同的選項(xiàng)組合,以獲得期望的輸出,命令如下:
$ lsblk -nl
或者,你可以使用下面的長(zhǎng)選項(xiàng),它們也能給出相同的輸出。
$ lsblk --noheadings --list lsblk no header and list lsblk no header and list
列出SCSI設(shè)備:
要獲取SCSI設(shè)備的列表,你只能使用-S選項(xiàng)。該選項(xiàng)是大寫字母S,不能和-s選項(xiàng)混淆,該選項(xiàng)是用來(lái)以顛倒的順序打印依賴的。
$ lsblk -S
lsblk列出SCSI設(shè)備,而-s是逆序選項(xiàng)(LCTT譯注:將設(shè)備和分區(qū)的組織關(guān)系逆轉(zhuǎn)過來(lái)顯示),其將給出如下輸出。輸入命令:
$ lsblk -S
或者
$ lsblk --inverse
你可以使用lsblk來(lái)獲取關(guān)于你的塊設(shè)備的更多信息,自己把它試著顯示出來(lái)吧
相關(guān)推薦:《Linux視頻教程》