In addition to block devices, Linux also has character devices and network devices. A character device is a device that can be accessed like a byte stream. When a read or write request is issued to a character device, the corresponding IO operation occurs immediately; while the network device is driven by the Linux network subsystem and is responsible for sending and receiving data packets. Rather than being oriented to stream devices, network devices do not have nodes in the Linux system file system.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
In addition to block devices, Linux also has character devices and network devices.
Devices in the Linux system can be divided into three categories: character devices, block devices and network devices.
(1) Character device
A character device is a device that can be accessed like a byte stream. When a read or write request is issued to a character device, the corresponding IO operation occurs immediately. Many devices in the Linux system are character devices, such as character terminals, serial ports, keyboards, mice, etc. In embedded Linux development, the most common ones are character devices and drivers.
(2) Block device
Block device is a device that must be accessed in blocks when performing TO operations in the Linux system. Block devices can install file systems. The block device driver will use a piece of system memory as a buffer, so issuing read and write accesses to the block device does not necessarily result in hardware I/O operations immediately. Common block devices in Linux systems include hard disks, floppy drives, etc.
(3) Network equipment
Network equipment can be either a hardware device such as a network card or a pure software device such as a loopback device. Network devices are driven by the Linux network subsystem and are responsible for sending and receiving data packets, rather than stream devices. Therefore, network devices do not have nodes in the Linux system file system. Access to network devices is generated through socket calls, rather than ordinary file operations such as open/closc and read/write.
Linux View block device information
In Linux, you can use the lsblk command to view block devices information.
The lsblk command in English is "list block", which is used to list information about all available block devices, and also displays the dependencies between them, but it does not list RAM disk information. Block devices include hard disks, flash drives, CD-ROMs, etc. The lsblk command is included in the util-linux-ng package, which is now renamed util-linux.
The lsblk command has several options:
Default Options
The lsblk command will list all block devices in a tree view by default. Open the terminal and enter the following command:
$ lsblk
The output is as follows:
lsblk default lsblk default
The 7 column names are as follows:
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 : 本栏指出设备挂载的挂载点。
List all devices:
The default option will not list all empty devices. To view these empty devices, use the following command:
$ lsblk -a
This option will list all devices, including empty devices.
lsblk bytes sda
lsblk bytes sda
List device permissions and owners:
lsblk command can also be used Lists ownership of a specific device. Groups and modes can also be listed. You can obtain this information through the following command:
$ lsblk -m lsblk permissions lsblk permissions
List the specified device:
This command can also obtain only the information of the specified device. This is accomplished by specifying the device name after the options provided to the lsblk command. For example, you might be interested in knowing the size of your disk drive in bytes. You can do this by running the following command:
$ lsblk -b /dev/sda
Alternatively, the following command is equivalent:
$ lsblk --bytes /dev/sda
List unheaded devices in list form:
You can also combine several options to get specific output. For example, you might want to list devices in a list format instead of the default tree format. You may also be interested in removing headers for different column names. Two different options can be combined to get the desired output with the command:
$ lsblk -nl
Alternatively, you can use the long options below which also give the same output.
$ lsblk --noheadings --list lsblk no header and list lsblk no header and list
List SCSI devices:
To get a list of SCSI devices, you can only use the -S option. This option is a capital S and should not be confused with the -s option, which prints dependencies in reverse order.
$ lsblk -S
lsblk lists SCSI devices, and -s is the reverse order option (LCTT annotation: reverse the organizational relationship of devices and partitions to display), which will give the following output. Enter the command:
$ lsblk -s
or
$ lsblk --inverse
You can use lsblk to get more information about your block device, try displaying it yourself
Related recommendations :《Linux video tutorial》
The above is the detailed content of In addition to block devices, what other devices does Linux have?. For more information, please follow other related articles on the PHP Chinese website!