linux usb属于块设备吗

61次阅读
没有评论

共计 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 小编每天都会为大家更新不同的知识点。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计2382字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)