共計 2382 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要介紹“linux usb 屬于塊設備嗎”的相關知識,丸趣 TV 小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“linux usb 屬于塊設備嗎”文章能幫助大家解決問題。
linux usb 是屬于塊設備。塊設備是 Linux 系統中進行 TO 操作時必須以塊為單位進行訪問的設備,塊設備能夠安裝文件系統;Linux 系統中常見的塊設備有硬盤、軟驅、藍光光盤、USB 盤等等。塊設備主要是針對磁盤等慢速設備設計的,以免消耗過多的 CPU 時間來等待。
linux usb 是屬于塊設備。
Linux 按照信息組織特征將設備分為三類,分別是:
字符設備:
以字符為單位發送或接收一個字符流,而不考慮任何塊結構。字符設備是不可尋址的,也沒有尋道操作。例如打印機,網絡接口,鼠標。
塊設備:
塊設備是 Linux 系統中進行 TO 操作時必須以塊為單位進行訪問的設備,塊設備能夠安裝文件系統。塊設備驅動會利用一塊系統內存作為緩沖區,因此對塊設備發出讀寫訪問,并不一定立即產生硬件 I / O 操作。Linux 系統中常見的塊設備有如硬盤、軟驅、藍光光盤、USB 盤等等。
網絡設備:
網絡設備既可以是網卡這樣的硬件設備,也可以是一個純軟件設備如回環設備。網絡設備由 Linux 的網絡子系統驅動,負責數據包的發送和接收,而不是面向流設備,因此在 Linux 系統文件系統中網絡設備沒有節點。對網絡設備的訪問是通過 socket 調用產生,而不是普通的文件操作如 open/closc 和 read/write 等。
塊設備和字符設備的區別:
字符設備只能順序讀取,塊設備可以隨機讀取;
塊設備通過系統緩存進行讀取,不是直接和物理磁盤讀取。字符設備可以直接讀取物理磁盤,不經過系統緩存。在對字符設備發出讀 / 寫請求時,實際的硬件 I / O 一般就緊接著發生,而塊設備利用一塊系統內存作為緩沖區,當用戶進程對設備請求能滿足用戶的要求時,就返回請求的數據,如果不能就調用請求函數來進行實際的 I / O 操作。因此,塊設備主要是針對磁盤等慢速設備設計的,以免消耗過多的 CPU 時間來等待;
在操作系統設備管理功能中設備按照獨占性設備,共享性設備,虛擬設備進行設備分配 而獨占型設備包含所有的字符設備,共享型設備包含所有的塊設備。
linux 查看塊設備信息
在 linux 中,可以使用 lsblk 命令來查看塊設備信息。
lsblk 命令的英文是“list block”,即用于列出所有可用塊設備的信息,而且還能顯示他們之間的依賴關系,但是它不會列出 RAM 盤的信息。塊設備有硬盤,閃存盤,CD-ROM 等等。lsblk 命令包含在 util-linux-ng 包中,現在該包改名為 util-linux。
lsblk 命令有幾個選項:
默認選項
lsblk 命令默認情況下將以樹狀列出所有塊設備。打開終端,并輸入以下命令:
$ lsblk
輸出如下:
lsblk default
lsblk default
7 個欄目名稱如下:
NAME : 這是塊設備名。MAJ:MIN : 本欄顯示主要和次要設備號。RM : 本欄顯示設備是否可移動設備。注意,在本例中設備 sdb 和 sr0 的 RM 值等于 1,這說明他們是可移動設備。SIZE : 本欄列出設備的容量大小信息。例如 298.1G 表明該設備大小為 298.1GB,而 1K 表明該設備大小為 1KB。RO : 該項表明設備是否為只讀。在本案例中,所有設備的 RO 值為 0,表明他們不是只讀的。TYPE : 本欄顯示塊設備是否是磁盤或磁盤上的一個分區。在本例中,sda 和 sdb 是磁盤,而 sr0 是只讀存儲(rom)。(LCTT 譯注,此處 sr0 的 RO 項沒有標記為 1,可能存在一些錯誤?)MOUNTPOINT : 本欄指出設備掛載的掛載點。
列出所有設備:
默認選項不會列出所有空設備。要查看這些空設備,請使用以下命令:
$ lsblk
-a
該選項將列出所有設備,包括空設備在內。
lsblk bytes sda
lsblk bytes sda
列出設備權限和屬主:
lsblk 命令也可以用于列出一個特定設備的擁有關系,同時也可以列出組和模式。可以通過以下命令來獲取這些信息:
$ lsblk
-m
lsblk permissions
lsblk permissions
列出指定設備:
該命令也可以只獲取指定設備的信息。這可以通過在提供給 lsblk 命令的選項后指定設備名來實現。例如,你可能對了解以字節顯示你的磁盤驅動器大小比較感興趣,那么你可以通過運行以下命令來實現:
$ lsblk
-b /dev/sda
或者,以下命令等同:
$ lsblk
--bytes /dev/sda
以列表形式列出不帶頭的設備:
你也可以組合幾個選項來獲取指定的輸出。例如,你也許想要以列表格式列出設備,而不是默認的樹狀格式。你可能也對移除不同欄目名稱的標題感興趣。可以將兩個不同的選項組合,以獲得期望的輸出,命令如下:
$ lsblk
-nl
或者,你可以使用下面的長選項,它們也能給出相同的輸出。
$ lsblk
--noheadings --list
lsblk no header and list
lsblk no header and list
列出 SCSI 設備:
要獲取 SCSI 設備的列表,你只能使用 - S 選項。該選項是大寫字母 S,不能和 - s 選項混淆,該選項是用來以顛倒的順序打印依賴的。
$ lsblk
-S
lsblk 列出 SCSI 設備,而 - s 是逆序選項(LCTT 譯注:將設備和分區的組織關系逆轉過來顯示),其將給出如下輸出。輸入命令:
$ lsblk
-s
或者
$ lsblk
--inverse
你可以使用 lsblk 來獲取關于你的塊設備的更多信息,自己把它試著顯示出來吧
關于“linux usb 屬于塊設備嗎”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注丸趣 TV 行業資訊頻道,丸趣 TV 小編每天都會為大家更新不同的知識點。